Merge git://git.infradead.org/users/tgr/libnl
Signed-off-by: Patrick McHardy <kaber@trash.net> Conflicts: include/linux/netlink.h lib/Makefile.am lib/error.c libnl-3.0.pc.in src/Makefile.am
|
@ -1,28 +1,25 @@
|
||||||
.deps
|
.deps
|
||||||
.libs
|
.libs
|
||||||
.dirstamp
|
.dirstamp
|
||||||
*.in
|
|
||||||
*.la
|
*.la
|
||||||
*.lo
|
*.lo
|
||||||
*.o
|
*.o
|
||||||
*.swp
|
*.swp
|
||||||
Makefile
|
Makefile
|
||||||
|
Makefile.in
|
||||||
|
defs.h.in
|
||||||
|
defs.h.in~
|
||||||
/lib/stamp-h1
|
/lib/stamp-h1
|
||||||
|
|
||||||
/libnl-1.pc
|
/libnl-1.pc
|
||||||
/doc/Doxyfile
|
|
||||||
/lib/defs.h
|
/lib/defs.h
|
||||||
cscope.*
|
cscope.*
|
||||||
|
|
||||||
/aclocal.m4
|
/aclocal.m4
|
||||||
/autom4te.cache
|
/autom4te.cache
|
||||||
/compile
|
/build-aux/
|
||||||
/config.*
|
/config.*
|
||||||
/configure
|
/configure
|
||||||
/depcomp
|
|
||||||
/libtool
|
/libtool
|
||||||
/ltmain.sh
|
|
||||||
/install-sh
|
|
||||||
/missing
|
|
||||||
|
|
||||||
/*.pc
|
/*.pc
|
||||||
|
|
||||||
|
|
85
COPYING
|
@ -1,9 +1,8 @@
|
||||||
|
|
||||||
GNU LESSER GENERAL PUBLIC LICENSE
|
GNU LESSER GENERAL PUBLIC LICENSE
|
||||||
Version 2.1, February 1999
|
Version 2.1, February 1999
|
||||||
|
|
||||||
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
|
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
|
||||||
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
Everyone is permitted to copy and distribute verbatim copies
|
Everyone is permitted to copy and distribute verbatim copies
|
||||||
of this license document, but changing it is not allowed.
|
of this license document, but changing it is not allowed.
|
||||||
|
|
||||||
|
@ -23,8 +22,7 @@ specially designated software packages--typically libraries--of the
|
||||||
Free Software Foundation and other authors who decide to use it. You
|
Free Software Foundation and other authors who decide to use it. You
|
||||||
can use it too, but we suggest you first think carefully about whether
|
can use it too, but we suggest you first think carefully about whether
|
||||||
this license or the ordinary General Public License is the better
|
this license or the ordinary General Public License is the better
|
||||||
strategy to use in any particular case, based on the explanations
|
strategy to use in any particular case, based on the explanations below.
|
||||||
below.
|
|
||||||
|
|
||||||
When we speak of free software, we are referring to freedom of use,
|
When we speak of free software, we are referring to freedom of use,
|
||||||
not price. Our General Public Licenses are designed to make sure that
|
not price. Our General Public Licenses are designed to make sure that
|
||||||
|
@ -89,9 +87,9 @@ libraries. However, the Lesser license provides advantages in certain
|
||||||
special circumstances.
|
special circumstances.
|
||||||
|
|
||||||
For example, on rare occasions, there may be a special need to
|
For example, on rare occasions, there may be a special need to
|
||||||
encourage the widest possible use of a certain library, so that it
|
encourage the widest possible use of a certain library, so that it becomes
|
||||||
becomes a de-facto standard. To achieve this, non-free programs must
|
a de-facto standard. To achieve this, non-free programs must be
|
||||||
be allowed to use the library. A more frequent case is that a free
|
allowed to use the library. A more frequent case is that a free
|
||||||
library does the same job as widely used non-free libraries. In this
|
library does the same job as widely used non-free libraries. In this
|
||||||
case, there is little to gain by limiting the free library to free
|
case, there is little to gain by limiting the free library to free
|
||||||
software only, so we use the Lesser General Public License.
|
software only, so we use the Lesser General Public License.
|
||||||
|
@ -138,8 +136,8 @@ included without limitation in the term "modification".)
|
||||||
"Source code" for a work means the preferred form of the work for
|
"Source code" for a work means the preferred form of the work for
|
||||||
making modifications to it. For a library, complete source code means
|
making modifications to it. For a library, complete source code means
|
||||||
all the source code for all modules it contains, plus any associated
|
all the source code for all modules it contains, plus any associated
|
||||||
interface definition files, plus the scripts used to control
|
interface definition files, plus the scripts used to control compilation
|
||||||
compilation and installation of the library.
|
and installation of the library.
|
||||||
|
|
||||||
Activities other than copying, distribution and modification are not
|
Activities other than copying, distribution and modification are not
|
||||||
covered by this License; they are outside its scope. The act of
|
covered by this License; they are outside its scope. The act of
|
||||||
|
@ -305,10 +303,10 @@ of these things:
|
||||||
the user installs one, as long as the modified version is
|
the user installs one, as long as the modified version is
|
||||||
interface-compatible with the version that the work was made with.
|
interface-compatible with the version that the work was made with.
|
||||||
|
|
||||||
c) Accompany the work with a written offer, valid for at least
|
c) Accompany the work with a written offer, valid for at
|
||||||
three years, to give the same user the materials specified in
|
least three years, to give the same user the materials
|
||||||
Subsection 6a, above, for a charge no more than the cost of
|
specified in Subsection 6a, above, for a charge no more
|
||||||
performing this distribution.
|
than the cost of performing this distribution.
|
||||||
|
|
||||||
d) If distribution of the work is made by offering access to copy
|
d) If distribution of the work is made by offering access to copy
|
||||||
from a designated place, offer equivalent access to copy the above
|
from a designated place, offer equivalent access to copy the above
|
||||||
|
@ -386,10 +384,9 @@ all those who receive copies directly or indirectly through you, then
|
||||||
the only way you could satisfy both it and this License would be to
|
the only way you could satisfy both it and this License would be to
|
||||||
refrain entirely from distribution of the Library.
|
refrain entirely from distribution of the Library.
|
||||||
|
|
||||||
If any portion of this section is held invalid or unenforceable under
|
If any portion of this section is held invalid or unenforceable under any
|
||||||
any particular circumstance, the balance of the section is intended to
|
particular circumstance, the balance of the section is intended to apply,
|
||||||
apply, and the section as a whole is intended to apply in other
|
and the section as a whole is intended to apply in other circumstances.
|
||||||
circumstances.
|
|
||||||
|
|
||||||
It is not the purpose of this section to induce you to infringe any
|
It is not the purpose of this section to induce you to infringe any
|
||||||
patents or other property right claims or to contest validity of any
|
patents or other property right claims or to contest validity of any
|
||||||
|
@ -407,11 +404,11 @@ be a consequence of the rest of this License.
|
||||||
|
|
||||||
12. If the distribution and/or use of the Library is restricted in
|
12. If the distribution and/or use of the Library is restricted in
|
||||||
certain countries either by patents or by copyrighted interfaces, the
|
certain countries either by patents or by copyrighted interfaces, the
|
||||||
original copyright holder who places the Library under this License
|
original copyright holder who places the Library under this License may add
|
||||||
may add an explicit geographical distribution limitation excluding those
|
an explicit geographical distribution limitation excluding those countries,
|
||||||
countries, so that distribution is permitted only in or among
|
so that distribution is permitted only in or among countries not thus
|
||||||
countries not thus excluded. In such case, this License incorporates
|
excluded. In such case, this License incorporates the limitation as if
|
||||||
the limitation as if written in the body of this License.
|
written in the body of this License.
|
||||||
|
|
||||||
13. The Free Software Foundation may publish revised and/or new
|
13. The Free Software Foundation may publish revised and/or new
|
||||||
versions of the Lesser General Public License from time to time.
|
versions of the Lesser General Public License from time to time.
|
||||||
|
@ -459,3 +456,47 @@ SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
|
||||||
DAMAGES.
|
DAMAGES.
|
||||||
|
|
||||||
END OF TERMS AND CONDITIONS
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
How to Apply These Terms to Your New Libraries
|
||||||
|
|
||||||
|
If you develop a new library, and you want it to be of the greatest
|
||||||
|
possible use to the public, we recommend making it free software that
|
||||||
|
everyone can redistribute and change. You can do so by permitting
|
||||||
|
redistribution under these terms (or, alternatively, under the terms of the
|
||||||
|
ordinary General Public License).
|
||||||
|
|
||||||
|
To apply these terms, attach the following notices to the library. It is
|
||||||
|
safest to attach them to the start of each source file to most effectively
|
||||||
|
convey the exclusion of warranty; and each file should have at least the
|
||||||
|
"copyright" line and a pointer to where the full notice is found.
|
||||||
|
|
||||||
|
<one line to give the library's name and a brief idea of what it does.>
|
||||||
|
Copyright (C) <year> <name of author>
|
||||||
|
|
||||||
|
This library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
This library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with this library; if not, write to the Free Software
|
||||||
|
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
|
||||||
|
Also add information on how to contact you by electronic and paper mail.
|
||||||
|
|
||||||
|
You should also get your employer (if you work as a programmer) or your
|
||||||
|
school, if any, to sign a "copyright disclaimer" for the library, if
|
||||||
|
necessary. Here is a sample; alter the names:
|
||||||
|
|
||||||
|
Yoyodyne, Inc., hereby disclaims all copyright interest in the
|
||||||
|
library `Frob' (a library for tweaking knobs) written by James Random Hacker.
|
||||||
|
|
||||||
|
<signature of Ty Coon>, 1 April 1990
|
||||||
|
Ty Coon, President of Vice
|
||||||
|
|
||||||
|
That's all there is to it!
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
ChangeLog discontinued, git history can be found here:
|
ChangeLog discontinued, git history can be found here:
|
||||||
http://git.kernel.org/?p=libs/netlink/libnl.git
|
http://git.infradead.org/users/tgr/libnl.git
|
||||||
|
|
||||||
Summary of Changes from 1.0-pre6 to 1.0-pre7
|
Summary of Changes from 1.0-pre6 to 1.0-pre7
|
||||||
================================================
|
================================================
|
||||||
|
|
22
Makefile.am
|
@ -2,19 +2,21 @@
|
||||||
|
|
||||||
ACLOCAL_AMFLAGS = -I m4
|
ACLOCAL_AMFLAGS = -I m4
|
||||||
|
|
||||||
OPT_DIRS =
|
SUBDIRS = include lib man python tests
|
||||||
|
|
||||||
|
pkgconfig_DATA = libnl-3.0.pc \
|
||||||
|
libnl-route-3.0.pc \
|
||||||
|
libnl-genl-3.0.pc \
|
||||||
|
libnl-nf-3.0.pc
|
||||||
|
|
||||||
if ENABLE_CLI
|
if ENABLE_CLI
|
||||||
OPT_DIRS += src
|
SUBDIRS += src
|
||||||
|
pkgconfig_DATA += libnl-cli-3.0.pc
|
||||||
endif
|
endif
|
||||||
|
|
||||||
SUBDIRS = include lib doc man $(OPT_DIRS)
|
|
||||||
|
|
||||||
pkgconfig_DATA = libnl-3.0.pc
|
pkgsysconfdir = ${sysconfdir}/libnl
|
||||||
|
pkgsysconf_DATA = etc/pktloc etc/classid
|
||||||
|
|
||||||
sysconfdir = @sysconfdir@/libnl
|
EXTRA_DIST = \
|
||||||
sysconf_DATA = etc/pktloc etc/classid
|
$(pkgsysconf_DATA)
|
||||||
|
|
||||||
.PHONY: cscope
|
|
||||||
cscope:
|
|
||||||
cscope -b -q -R -Iinclude -slib -ssrc;
|
|
||||||
|
|
|
@ -2,3 +2,5 @@
|
||||||
|
|
||||||
autoreconf -fi;
|
autoreconf -fi;
|
||||||
rm -Rf autom4te.cache;
|
rm -Rf autom4te.cache;
|
||||||
|
|
||||||
|
doc/autogen.sh
|
||||||
|
|
|
@ -0,0 +1,163 @@
|
||||||
|
#
|
||||||
|
# configure.in
|
||||||
|
#
|
||||||
|
# This library is free software; you can redistribute it and/or
|
||||||
|
# modify it under the terms of the GNU Lesser General Public
|
||||||
|
# License as published by the Free Software Foundation version 2.1
|
||||||
|
# of the License.
|
||||||
|
#
|
||||||
|
# Copyright (c) 2003-2013 Thomas Graf <tgraf@suug.ch>
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# copied from glib
|
||||||
|
m4_define([libnl_major_version], [3])
|
||||||
|
m4_define([libnl_minor_version], [2])
|
||||||
|
m4_define([libnl_micro_version], [21])
|
||||||
|
|
||||||
|
|
||||||
|
# The following explanation may help to understand the above rules a bit
|
||||||
|
# better: consider that there are three possible kinds of reactions from
|
||||||
|
# users of your library to changes in a shared library:
|
||||||
|
#
|
||||||
|
# 1. Programs using the previous version may use the new version as drop-in
|
||||||
|
# replacement, and programs using the new version can also work with the
|
||||||
|
# previous one. In other words, no recompiling nor relinking is needed.
|
||||||
|
# In this case, bump revision only, don't touch current nor age.
|
||||||
|
#
|
||||||
|
# 2. Programs using the previous version may use the new version as drop-in
|
||||||
|
# replacement, but programs using the new version may use APIs not
|
||||||
|
# present in the previous one. In other words, a program linking against
|
||||||
|
# the new version may fail with “unresolved symbols” if linking against
|
||||||
|
# the old version at runtime: set revision to 0, bump current and age.
|
||||||
|
#
|
||||||
|
# 3. Programs may need to be changed, recompiled, relinked in order to use
|
||||||
|
# the new version. Bump current, set revision and age to 0.
|
||||||
|
|
||||||
|
m4_define([libnl_lt_current], [216])
|
||||||
|
m4_define([libnl_lt_revision], [1])
|
||||||
|
m4_define([libnl_lt_age], [16])
|
||||||
|
|
||||||
|
m4_define([libnl_version],
|
||||||
|
[libnl_major_version.libnl_minor_version.libnl_micro_version])
|
||||||
|
|
||||||
|
AC_INIT(libnl, [libnl_version], [], [], [http://www.infradead.org/~tgr/libnl/])
|
||||||
|
AC_CONFIG_HEADERS([lib/defs.h])
|
||||||
|
AC_CONFIG_AUX_DIR([build-aux])
|
||||||
|
AC_CONFIG_MACRO_DIR([m4])
|
||||||
|
AM_INIT_AUTOMAKE([-Wall foreign subdir-objects])
|
||||||
|
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES(yes)], [])
|
||||||
|
m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
|
||||||
|
|
||||||
|
MAJ_VERSION=libnl_major_version
|
||||||
|
AC_SUBST(MAJ_VERSION)
|
||||||
|
MIN_VERSION=libnl_minor_version
|
||||||
|
AC_SUBST(MIN_VERSION)
|
||||||
|
MIC_VERSION=libnl_micro_version
|
||||||
|
AC_SUBST(MIC_VERSION)
|
||||||
|
LIBNL_VERSION=libnl_version
|
||||||
|
AC_SUBST(LIBNL_VERSION)
|
||||||
|
|
||||||
|
LT_CURRENT=libnl_lt_current
|
||||||
|
AC_SUBST(LT_CURRENT)
|
||||||
|
LT_REVISION=libnl_lt_revision
|
||||||
|
AC_SUBST(LT_REVISION)
|
||||||
|
LT_AGE=libnl_lt_age
|
||||||
|
AC_SUBST(LT_AGE)
|
||||||
|
|
||||||
|
AC_PROG_CC
|
||||||
|
AM_PROG_CC_C_O
|
||||||
|
AC_PROG_INSTALL
|
||||||
|
AM_PROG_LIBTOOL
|
||||||
|
AC_CHECK_PROGS(FLEX, 'flex')
|
||||||
|
AC_CHECK_PROGS(YACC, 'bison -y')
|
||||||
|
|
||||||
|
AC_C_CONST
|
||||||
|
AC_C_INLINE
|
||||||
|
|
||||||
|
AM_PATH_CHECK()
|
||||||
|
|
||||||
|
AC_ARG_WITH([pkgconfigdir], AS_HELP_STRING([--with-pkgconfigdir=PATH],
|
||||||
|
[Path to the pkgconfig directory [[LIBDIR/pkgconfig]]]),
|
||||||
|
[pkgconfigdir="$withval"], [pkgconfigdir='${libdir}/pkgconfig'])
|
||||||
|
AC_SUBST([pkgconfigdir])
|
||||||
|
|
||||||
|
AC_ARG_ENABLE([cli],
|
||||||
|
AS_HELP_STRING([--disable-cli], [Do not build command line interface utils]),
|
||||||
|
[enable_cli="$enableval"], [enable_cli="yes"])
|
||||||
|
AM_CONDITIONAL([ENABLE_CLI], [test "$enable_cli" = "yes"])
|
||||||
|
|
||||||
|
AC_ARG_ENABLE([pthreads],
|
||||||
|
AS_HELP_STRING([--disable-pthreads], [Disable pthreads support]),
|
||||||
|
[enable_pthreads="$enableval"], [enable_pthreads="yes"])
|
||||||
|
AM_CONDITIONAL([DISABLE_PTHREADS], [test "$enable_pthreads" = "no"])
|
||||||
|
|
||||||
|
AC_CHECK_LIB([m], [pow], [], AC_MSG_ERROR([libm is required]))
|
||||||
|
|
||||||
|
if test "x$enable_pthreads" = "xno"; then
|
||||||
|
AC_DEFINE([DISABLE_PTHREADS], [1], [Define to 1 to disable pthreads])
|
||||||
|
else
|
||||||
|
AC_CHECK_LIB([pthread], [pthread_mutex_lock], [], AC_MSG_ERROR([libpthread is required]))
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_CONFIG_SUBDIRS([doc])
|
||||||
|
|
||||||
|
AC_CONFIG_FILES([
|
||||||
|
Makefile
|
||||||
|
libnl-3.0.pc
|
||||||
|
libnl-route-3.0.pc
|
||||||
|
libnl-genl-3.0.pc
|
||||||
|
libnl-nf-3.0.pc
|
||||||
|
libnl-dect-3.0.pc
|
||||||
|
libnl-cli-3.0.pc
|
||||||
|
lib/Makefile
|
||||||
|
include/Makefile
|
||||||
|
src/Makefile
|
||||||
|
src/lib/Makefile
|
||||||
|
tests/Makefile
|
||||||
|
man/Makefile
|
||||||
|
python/Makefile
|
||||||
|
python/setup.py
|
||||||
|
python/netlink/Makefile
|
||||||
|
python/netlink/route/Makefile
|
||||||
|
include/netlink/version.h
|
||||||
|
])
|
||||||
|
|
||||||
|
ac_errcount=0
|
||||||
|
if test -z "$YACC"; then
|
||||||
|
AC_MSG_WARN(bison not found. Please install before continuing.)
|
||||||
|
ac_errcount=$((ac_errcount + 1))
|
||||||
|
fi
|
||||||
|
if test -z "$FLEX"; then
|
||||||
|
AC_MSG_WARN(flex not found. Please install before continuing.)
|
||||||
|
ac_errcount=$((ac_errcount + 1))
|
||||||
|
fi
|
||||||
|
if test $ac_errcount -gt 0; then
|
||||||
|
AC_MSG_ERROR(Required packages are missing. Please install them and rerun ./configure)
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_OUTPUT
|
||||||
|
|
||||||
|
echo "-------------------------------------------------------------------------------"
|
||||||
|
echo " NOTE"
|
||||||
|
echo ""
|
||||||
|
echo " There have been some changes starting with 3.2 regarding where and how libnl"
|
||||||
|
echo " is being installed on the system in order to allow multiple libnl versions"
|
||||||
|
echo " to be installed in parallel:"
|
||||||
|
echo ""
|
||||||
|
echo " - Headers will be installed in ${includedir}/libnl${MAJ_VERSION}, therefore"
|
||||||
|
echo " you will need to add \"-I/usr/include/libnl${MAJ_VERSION}\" to CFLAGS"
|
||||||
|
echo ""
|
||||||
|
echo " - The library basename was renamed to libnl-${MAJ_VERSION}, i.e. the SO names become"
|
||||||
|
echo " libnl-${MAJ_VERSION}.so., libnl-route-${MAJ_VERSION}.so, etc."
|
||||||
|
echo ""
|
||||||
|
echo " - libtool versioning was assumed, to ease detection of compatible library"
|
||||||
|
echo " versions."
|
||||||
|
echo ""
|
||||||
|
echo " If you are using pkg-config for detecting and linking against the library "
|
||||||
|
echo " things will continue magically as if nothing every happened. If you are "
|
||||||
|
echo " linking manually you need to adapt your Makefiles or switch to using "
|
||||||
|
echo " pkg-config files."
|
||||||
|
echo ""
|
||||||
|
echo "-------------------------------------------------------------------------------"
|
||||||
|
|
48
configure.in
|
@ -1,48 +0,0 @@
|
||||||
#
|
|
||||||
# configure.in
|
|
||||||
#
|
|
||||||
# This library is free software; you can redistribute it and/or
|
|
||||||
# modify it under the terms of the GNU Lesser General Public
|
|
||||||
# License as published by the Free Software Foundation version 2.1
|
|
||||||
# of the License.
|
|
||||||
#
|
|
||||||
# Copyright (c) 2003-2011 Thomas Graf <tgraf@suug.ch>
|
|
||||||
#
|
|
||||||
|
|
||||||
AC_INIT(libnl, 3.0, tgraf@suug.ch)
|
|
||||||
AC_CONFIG_HEADERS([lib/defs.h])
|
|
||||||
AC_CONFIG_MACRO_DIR([m4])
|
|
||||||
AM_INIT_AUTOMAKE([-Wall foreign subdir-objects])
|
|
||||||
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES(yes)], [])
|
|
||||||
|
|
||||||
MAJ_VERSION=3
|
|
||||||
AC_SUBST([MAJ_VERSION])
|
|
||||||
MIN_VERSION=0
|
|
||||||
AC_SUBST([MIN_VERSION])
|
|
||||||
|
|
||||||
AC_PROG_CC
|
|
||||||
AM_PROG_CC_C_O
|
|
||||||
AC_PROG_INSTALL
|
|
||||||
AM_PROG_LIBTOOL
|
|
||||||
AM_PROG_LEX
|
|
||||||
AC_PROG_YACC
|
|
||||||
|
|
||||||
AC_C_CONST
|
|
||||||
AC_C_INLINE
|
|
||||||
|
|
||||||
AC_ARG_WITH([pkgconfigdir], AS_HELP_STRING([--with-pkgconfigdir=PATH],
|
|
||||||
[Path to the pkgconfig directory [[LIBDIR/pkgconfig]]]),
|
|
||||||
[pkgconfigdir="$withval"], [pkgconfigdir='${libdir}/pkgconfig'])
|
|
||||||
AC_SUBST([pkgconfigdir])
|
|
||||||
|
|
||||||
AC_ARG_ENABLE([cli],
|
|
||||||
AS_HELP_STRING([--disable-cli], [Do not build command line interface utils]),
|
|
||||||
[enable_cli="$enableval"], [enable_cli="yes"])
|
|
||||||
AM_CONDITIONAL([ENABLE_CLI], [test "$enable_cli" = "yes"])
|
|
||||||
|
|
||||||
AC_CHECK_LIB([m], [pow], [], AC_MSG_ERROR([libm is required]))
|
|
||||||
|
|
||||||
AC_CONFIG_FILES([Makefile doc/Doxyfile doc/Makefile lib/Makefile
|
|
||||||
include/Makefile src/Makefile src/lib/Makefile man/Makefile
|
|
||||||
libnl-3.0.pc include/netlink/version.h])
|
|
||||||
AC_OUTPUT
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
*.html
|
||||||
|
libnl.dict
|
||||||
|
Doxyfile
|
||||||
|
/aclocal.m4
|
||||||
|
/autom4te.cache/
|
||||||
|
/build-aux/
|
||||||
|
/config.*
|
||||||
|
/configure
|
|
@ -0,0 +1 @@
|
||||||
|
Thomas Graf <tgraf@suug.ch>
|
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
GNU GENERAL PUBLIC LICENSE
|
GNU GENERAL PUBLIC LICENSE
|
||||||
Version 3, 29 June 2007
|
Version 3, 29 June 2007
|
||||||
|
|
||||||
|
@ -673,4 +672,3 @@ may consider it more useful to permit linking proprietary applications with
|
||||||
the library. If this is what you want to do, use the GNU Lesser General
|
the library. If this is what you want to do, use the GNU Lesser General
|
||||||
Public License instead of this License. But first, please read
|
Public License instead of this License. But first, please read
|
||||||
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
|
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
|
||||||
|
|
395
doc/Doxyfile.in
|
@ -1,14 +1,14 @@
|
||||||
# Doxyfile 1.7.1
|
# Doxyfile 1.8.1.1
|
||||||
|
|
||||||
# This file describes the settings to be used by the documentation system
|
# This file describes the settings to be used by the documentation system
|
||||||
# doxygen (www.doxygen.org) for a project
|
# doxygen (www.doxygen.org) for a project.
|
||||||
#
|
#
|
||||||
# All text after a hash (#) is considered a comment and will be ignored
|
# All text after a hash (#) is considered a comment and will be ignored.
|
||||||
# The format is:
|
# The format is:
|
||||||
# TAG = value [value, ...]
|
# TAG = value [value, ...]
|
||||||
# For lists items can also be appended using:
|
# For lists items can also be appended using:
|
||||||
# TAG += value [value, ...]
|
# TAG += value [value, ...]
|
||||||
# Values that contain spaces should be placed between quotes (" ")
|
# Values that contain spaces should be placed between quotes (" ").
|
||||||
|
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
# Project related configuration options
|
# Project related configuration options
|
||||||
|
@ -22,8 +22,9 @@
|
||||||
|
|
||||||
DOXYFILE_ENCODING = UTF-8
|
DOXYFILE_ENCODING = UTF-8
|
||||||
|
|
||||||
# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
|
# The PROJECT_NAME tag is a single word (or sequence of words) that should
|
||||||
# by quotes) that should identify the project.
|
# identify the project. Note that if you do not use Doxywizard you need
|
||||||
|
# to put quotes around the project name if it contains spaces.
|
||||||
|
|
||||||
PROJECT_NAME = libnl
|
PROJECT_NAME = libnl
|
||||||
|
|
||||||
|
@ -33,6 +34,19 @@ PROJECT_NAME = libnl
|
||||||
|
|
||||||
PROJECT_NUMBER = @PACKAGE_VERSION@
|
PROJECT_NUMBER = @PACKAGE_VERSION@
|
||||||
|
|
||||||
|
# Using the PROJECT_BRIEF tag one can provide an optional one line description
|
||||||
|
# for a project that appears at the top of each page and should give viewer
|
||||||
|
# a quick idea about the purpose of the project. Keep the description short.
|
||||||
|
|
||||||
|
PROJECT_BRIEF =
|
||||||
|
|
||||||
|
# With the PROJECT_LOGO tag one can specify an logo or icon that is
|
||||||
|
# included in the documentation. The maximum height of the logo should not
|
||||||
|
# exceed 55 pixels and the maximum width should not exceed 200 pixels.
|
||||||
|
# Doxygen will copy the logo to the output directory.
|
||||||
|
|
||||||
|
PROJECT_LOGO =
|
||||||
|
|
||||||
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
|
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
|
||||||
# base path where the generated documentation will be put.
|
# base path where the generated documentation will be put.
|
||||||
# If a relative path is entered, it will be relative to the location
|
# If a relative path is entered, it will be relative to the location
|
||||||
|
@ -57,7 +71,7 @@ CREATE_SUBDIRS = NO
|
||||||
# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German,
|
# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German,
|
||||||
# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English
|
# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English
|
||||||
# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian,
|
# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian,
|
||||||
# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak,
|
# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak,
|
||||||
# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese.
|
# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese.
|
||||||
|
|
||||||
OUTPUT_LANGUAGE = English
|
OUTPUT_LANGUAGE = English
|
||||||
|
@ -126,7 +140,7 @@ STRIP_FROM_PATH =
|
||||||
STRIP_FROM_INC_PATH =
|
STRIP_FROM_INC_PATH =
|
||||||
|
|
||||||
# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
|
# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
|
||||||
# (but less readable) file names. This can be useful is your file systems
|
# (but less readable) file names. This can be useful if your file system
|
||||||
# doesn't support long names like on DOS, Mac, or CD-ROM.
|
# doesn't support long names like on DOS, Mac, or CD-ROM.
|
||||||
|
|
||||||
SHORT_NAMES = NO
|
SHORT_NAMES = NO
|
||||||
|
@ -179,7 +193,21 @@ TAB_SIZE = 8
|
||||||
# will result in a user-defined paragraph with heading "Side Effects:".
|
# will result in a user-defined paragraph with heading "Side Effects:".
|
||||||
# You can put \n's in the value part of an alias to insert newlines.
|
# You can put \n's in the value part of an alias to insert newlines.
|
||||||
|
|
||||||
ALIASES = arg=\param
|
ALIASES = arg=\param \
|
||||||
|
"ref_asciidoc{3}=<a href=\"../\1.html#\2\"><b>\3</b></a>" \
|
||||||
|
"ref_core{2}=\ref_asciidoc{core,\1,\2 (Netlink Core Library Development Guide)}" \
|
||||||
|
"ref_route{2}=\ref_asciidoc{route,\1,\2 (Netlink Routing Development Guide)}" \
|
||||||
|
"core_doc{2}=\ref_core{\1,\2}" \
|
||||||
|
"route_doc{2}=\ref_route{\1,\2}" \
|
||||||
|
"callback=\par Callback Invocation:\n" \
|
||||||
|
"lowlevel=\copydoc low_level_api"
|
||||||
|
|
||||||
|
# This tag can be used to specify a number of word-keyword mappings (TCL only).
|
||||||
|
# A mapping has the form "name=value". For example adding
|
||||||
|
# "class=itcl::class" will allow you to use the command class in the
|
||||||
|
# itcl::class meaning.
|
||||||
|
|
||||||
|
TCL_SUBST =
|
||||||
|
|
||||||
# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
|
# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
|
||||||
# sources only. Doxygen will then generate output that is more tailored for C.
|
# sources only. Doxygen will then generate output that is more tailored for C.
|
||||||
|
@ -219,11 +247,20 @@ OPTIMIZE_OUTPUT_VHDL = NO
|
||||||
|
|
||||||
EXTENSION_MAPPING =
|
EXTENSION_MAPPING =
|
||||||
|
|
||||||
|
# If MARKDOWN_SUPPORT is enabled (the default) then doxygen pre-processes all
|
||||||
|
# comments according to the Markdown format, which allows for more readable
|
||||||
|
# documentation. See http://daringfireball.net/projects/markdown/ for details.
|
||||||
|
# The output of markdown processing is further processed by doxygen, so you
|
||||||
|
# can mix doxygen, HTML, and XML commands with Markdown formatting.
|
||||||
|
# Disable only in case of backward compatibilities issues.
|
||||||
|
|
||||||
|
MARKDOWN_SUPPORT = YES
|
||||||
|
|
||||||
# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
|
# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
|
||||||
# to include (a tag file for) the STL sources as input, then you should
|
# to include (a tag file for) the STL sources as input, then you should
|
||||||
# set this tag to YES in order to let doxygen match functions declarations and
|
# set this tag to YES in order to let doxygen match functions declarations and
|
||||||
# definitions whose arguments contain STL classes (e.g. func(std::string); v.s.
|
# definitions whose arguments contain STL classes (e.g. func(std::string); v.s.
|
||||||
# func(std::string) {}). This also make the inheritance and collaboration
|
# func(std::string) {}). This also makes the inheritance and collaboration
|
||||||
# diagrams that involve STL classes more complete and accurate.
|
# diagrams that involve STL classes more complete and accurate.
|
||||||
|
|
||||||
BUILTIN_STL_SUPPORT = NO
|
BUILTIN_STL_SUPPORT = NO
|
||||||
|
@ -241,7 +278,7 @@ SIP_SUPPORT = NO
|
||||||
|
|
||||||
# For Microsoft's IDL there are propget and propput attributes to indicate getter
|
# For Microsoft's IDL there are propget and propput attributes to indicate getter
|
||||||
# and setter methods for a property. Setting this option to YES (the default)
|
# and setter methods for a property. Setting this option to YES (the default)
|
||||||
# will make doxygen to replace the get and set methods by a property in the
|
# will make doxygen replace the get and set methods by a property in the
|
||||||
# documentation. This will only work if the methods are indeed getting or
|
# documentation. This will only work if the methods are indeed getting or
|
||||||
# setting a simple type. If this is not the case, or you want to show the
|
# setting a simple type. If this is not the case, or you want to show the
|
||||||
# methods anyway, you should set this option to NO.
|
# methods anyway, you should set this option to NO.
|
||||||
|
@ -263,6 +300,22 @@ DISTRIBUTE_GROUP_DOC = NO
|
||||||
|
|
||||||
SUBGROUPING = YES
|
SUBGROUPING = YES
|
||||||
|
|
||||||
|
# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and
|
||||||
|
# unions are shown inside the group in which they are included (e.g. using
|
||||||
|
# @ingroup) instead of on a separate page (for HTML and Man pages) or
|
||||||
|
# section (for LaTeX and RTF).
|
||||||
|
|
||||||
|
INLINE_GROUPED_CLASSES = NO
|
||||||
|
|
||||||
|
# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and
|
||||||
|
# unions with only public data fields will be shown inline in the documentation
|
||||||
|
# of the scope in which they are defined (i.e. file, namespace, or group
|
||||||
|
# documentation), provided this scope is documented. If set to NO (the default),
|
||||||
|
# structs, classes, and unions are shown on a separate page (for HTML and Man
|
||||||
|
# pages) or section (for LaTeX and RTF).
|
||||||
|
|
||||||
|
INLINE_SIMPLE_STRUCTS = NO
|
||||||
|
|
||||||
# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum
|
# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum
|
||||||
# is documented as struct, union, or enum with the name of the typedef. So
|
# is documented as struct, union, or enum with the name of the typedef. So
|
||||||
# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
|
# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
|
||||||
|
@ -279,16 +332,27 @@ TYPEDEF_HIDES_STRUCT = NO
|
||||||
# For small to medium size projects (<1000 input files) the default value is
|
# For small to medium size projects (<1000 input files) the default value is
|
||||||
# probably good enough. For larger projects a too small cache size can cause
|
# probably good enough. For larger projects a too small cache size can cause
|
||||||
# doxygen to be busy swapping symbols to and from disk most of the time
|
# doxygen to be busy swapping symbols to and from disk most of the time
|
||||||
# causing a significant performance penality.
|
# causing a significant performance penalty.
|
||||||
# If the system has enough physical memory increasing the cache will improve the
|
# If the system has enough physical memory increasing the cache will improve the
|
||||||
# performance by keeping more symbols in memory. Note that the value works on
|
# performance by keeping more symbols in memory. Note that the value works on
|
||||||
# a logarithmic scale so increasing the size by one will rougly double the
|
# a logarithmic scale so increasing the size by one will roughly double the
|
||||||
# memory usage. The cache size is given by this formula:
|
# memory usage. The cache size is given by this formula:
|
||||||
# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,
|
# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,
|
||||||
# corresponding to a cache size of 2^16 = 65536 symbols
|
# corresponding to a cache size of 2^16 = 65536 symbols.
|
||||||
|
|
||||||
SYMBOL_CACHE_SIZE = 0
|
SYMBOL_CACHE_SIZE = 0
|
||||||
|
|
||||||
|
# Similar to the SYMBOL_CACHE_SIZE the size of the symbol lookup cache can be
|
||||||
|
# set using LOOKUP_CACHE_SIZE. This cache is used to resolve symbols given
|
||||||
|
# their name and scope. Since this can be an expensive process and often the
|
||||||
|
# same symbol appear multiple times in the code, doxygen keeps a cache of
|
||||||
|
# pre-resolved symbols. If the cache is too small doxygen will become slower.
|
||||||
|
# If the cache is too large, memory is wasted. The cache size is given by this
|
||||||
|
# formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range is 0..9, the default is 0,
|
||||||
|
# corresponding to a cache size of 2^16 = 65536 symbols.
|
||||||
|
|
||||||
|
LOOKUP_CACHE_SIZE = 0
|
||||||
|
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
# Build related configuration options
|
# Build related configuration options
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
|
@ -305,6 +369,10 @@ EXTRACT_ALL = NO
|
||||||
|
|
||||||
EXTRACT_PRIVATE = YES
|
EXTRACT_PRIVATE = YES
|
||||||
|
|
||||||
|
# If the EXTRACT_PACKAGE tag is set to YES all members with package or internal scope will be included in the documentation.
|
||||||
|
|
||||||
|
EXTRACT_PACKAGE = NO
|
||||||
|
|
||||||
# If the EXTRACT_STATIC tag is set to YES all static members of a file
|
# If the EXTRACT_STATIC tag is set to YES all static members of a file
|
||||||
# will be included in the documentation.
|
# will be included in the documentation.
|
||||||
|
|
||||||
|
@ -327,7 +395,7 @@ EXTRACT_LOCAL_METHODS = YES
|
||||||
# extracted and appear in the documentation as a namespace called
|
# extracted and appear in the documentation as a namespace called
|
||||||
# 'anonymous_namespace{file}', where file will be replaced with the base
|
# 'anonymous_namespace{file}', where file will be replaced with the base
|
||||||
# name of the file that contains the anonymous namespace. By default
|
# name of the file that contains the anonymous namespace. By default
|
||||||
# anonymous namespace are hidden.
|
# anonymous namespaces are hidden.
|
||||||
|
|
||||||
EXTRACT_ANON_NSPACES = NO
|
EXTRACT_ANON_NSPACES = NO
|
||||||
|
|
||||||
|
@ -438,6 +506,15 @@ SORT_GROUP_NAMES = YES
|
||||||
|
|
||||||
SORT_BY_SCOPE_NAME = NO
|
SORT_BY_SCOPE_NAME = NO
|
||||||
|
|
||||||
|
# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to
|
||||||
|
# do proper type resolution of all parameters of a function it will reject a
|
||||||
|
# match between the prototype and the implementation of a member function even
|
||||||
|
# if there is only one candidate or it is obvious which candidate to choose
|
||||||
|
# by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen
|
||||||
|
# will still accept a match between prototype and implementation in such cases.
|
||||||
|
|
||||||
|
STRICT_PROTO_MATCHING = NO
|
||||||
|
|
||||||
# The GENERATE_TODOLIST tag can be used to enable (YES) or
|
# The GENERATE_TODOLIST tag can be used to enable (YES) or
|
||||||
# disable (NO) the todo list. This list is created by putting \todo
|
# disable (NO) the todo list. This list is created by putting \todo
|
||||||
# commands in the documentation.
|
# commands in the documentation.
|
||||||
|
@ -468,10 +545,10 @@ GENERATE_DEPRECATEDLIST= YES
|
||||||
ENABLED_SECTIONS =
|
ENABLED_SECTIONS =
|
||||||
|
|
||||||
# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
|
# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
|
||||||
# the initial value of a variable or define consists of for it to appear in
|
# the initial value of a variable or macro consists of for it to appear in
|
||||||
# the documentation. If the initializer consists of more lines than specified
|
# the documentation. If the initializer consists of more lines than specified
|
||||||
# here it will be hidden. Use a value of 0 to hide initializers completely.
|
# here it will be hidden. Use a value of 0 to hide initializers completely.
|
||||||
# The appearance of the initializer of individual variables and defines in the
|
# The appearance of the initializer of individual variables and macros in the
|
||||||
# documentation can be controlled using \showinitializer or \hideinitializer
|
# documentation can be controlled using \showinitializer or \hideinitializer
|
||||||
# command in the documentation regardless of this setting.
|
# command in the documentation regardless of this setting.
|
||||||
|
|
||||||
|
@ -483,17 +560,11 @@ MAX_INITIALIZER_LINES = 30
|
||||||
|
|
||||||
SHOW_USED_FILES = NO
|
SHOW_USED_FILES = NO
|
||||||
|
|
||||||
# If the sources in your project are distributed over multiple directories
|
|
||||||
# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
|
|
||||||
# in the documentation. The default is NO.
|
|
||||||
|
|
||||||
SHOW_DIRECTORIES = YES
|
|
||||||
|
|
||||||
# Set the SHOW_FILES tag to NO to disable the generation of the Files page.
|
# Set the SHOW_FILES tag to NO to disable the generation of the Files page.
|
||||||
# This will remove the Files entry from the Quick Index and from the
|
# This will remove the Files entry from the Quick Index and from the
|
||||||
# Folder Tree View (if specified). The default is YES.
|
# Folder Tree View (if specified). The default is YES.
|
||||||
|
|
||||||
SHOW_FILES = YES
|
SHOW_FILES = NO
|
||||||
|
|
||||||
# Set the SHOW_NAMESPACES tag to NO to disable the generation of the
|
# Set the SHOW_NAMESPACES tag to NO to disable the generation of the
|
||||||
# Namespaces page.
|
# Namespaces page.
|
||||||
|
@ -514,12 +585,22 @@ FILE_VERSION_FILTER =
|
||||||
|
|
||||||
# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
|
# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
|
||||||
# by doxygen. The layout file controls the global structure of the generated
|
# by doxygen. The layout file controls the global structure of the generated
|
||||||
# output files in an output format independent way. The create the layout file
|
# output files in an output format independent way. To create the layout file
|
||||||
# that represents doxygen's defaults, run doxygen with the -l option.
|
# that represents doxygen's defaults, run doxygen with the -l option.
|
||||||
# You can optionally specify a file name after the option, if omitted
|
# You can optionally specify a file name after the option, if omitted
|
||||||
# DoxygenLayout.xml will be used as the name of the layout file.
|
# DoxygenLayout.xml will be used as the name of the layout file.
|
||||||
|
|
||||||
LAYOUT_FILE =
|
LAYOUT_FILE = DoxygenLayout.xml
|
||||||
|
|
||||||
|
# The CITE_BIB_FILES tag can be used to specify one or more bib files
|
||||||
|
# containing the references data. This must be a list of .bib files. The
|
||||||
|
# .bib extension is automatically appended if omitted. Using this command
|
||||||
|
# requires the bibtex tool to be installed. See also
|
||||||
|
# http://en.wikipedia.org/wiki/BibTeX for more info. For LaTeX the style
|
||||||
|
# of the bibliography can be controlled using LATEX_BIB_STYLE. To use this
|
||||||
|
# feature you need bibtex and perl available in the search path.
|
||||||
|
|
||||||
|
CITE_BIB_FILES =
|
||||||
|
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
# configuration options related to warning and progress messages
|
# configuration options related to warning and progress messages
|
||||||
|
@ -549,7 +630,7 @@ WARN_IF_UNDOCUMENTED = NO
|
||||||
|
|
||||||
WARN_IF_DOC_ERROR = YES
|
WARN_IF_DOC_ERROR = YES
|
||||||
|
|
||||||
# This WARN_NO_PARAMDOC option can be abled to get warnings for
|
# The WARN_NO_PARAMDOC option can be enabled to get warnings for
|
||||||
# functions that are documented, but have no documentation for their parameters
|
# functions that are documented, but have no documentation for their parameters
|
||||||
# or return value. If set to NO (the default) doxygen will only warn about
|
# or return value. If set to NO (the default) doxygen will only warn about
|
||||||
# wrong or incomplete parameter documentation, but not about the absence of
|
# wrong or incomplete parameter documentation, but not about the absence of
|
||||||
|
@ -581,10 +662,11 @@ WARN_LOGFILE =
|
||||||
# directories like "/usr/src/myproject". Separate the files or directories
|
# directories like "/usr/src/myproject". Separate the files or directories
|
||||||
# with spaces.
|
# with spaces.
|
||||||
|
|
||||||
INPUT = ../lib \
|
INPUT = @top_srcdir@/../lib \
|
||||||
../src/lib \
|
@top_srcdir@/../src/lib \
|
||||||
../include/netlink \
|
@top_srcdir@/../include/netlink \
|
||||||
src
|
@top_srcdir@/../src \
|
||||||
|
@top_srcdir@/../doc/src
|
||||||
|
|
||||||
# This tag can be used to specify the character encoding of the source files
|
# This tag can be used to specify the character encoding of the source files
|
||||||
# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
|
# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
|
||||||
|
@ -598,8 +680,9 @@ INPUT_ENCODING = UTF-8
|
||||||
# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
|
# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
|
||||||
# and *.h) to filter out the source-files in the directories. If left
|
# and *.h) to filter out the source-files in the directories. If left
|
||||||
# blank the following patterns are tested:
|
# blank the following patterns are tested:
|
||||||
# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx
|
# *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh
|
||||||
# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90
|
# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py
|
||||||
|
# *.f90 *.f *.for *.vhd *.vhdl
|
||||||
|
|
||||||
FILE_PATTERNS = *.c \
|
FILE_PATTERNS = *.c \
|
||||||
*.h
|
*.h
|
||||||
|
@ -610,14 +693,16 @@ FILE_PATTERNS = *.c \
|
||||||
|
|
||||||
RECURSIVE = YES
|
RECURSIVE = YES
|
||||||
|
|
||||||
# The EXCLUDE tag can be used to specify files and/or directories that should
|
# The EXCLUDE tag can be used to specify files and/or directories that should be
|
||||||
# excluded from the INPUT source files. This way you can easily exclude a
|
# excluded from the INPUT source files. This way you can easily exclude a
|
||||||
# subdirectory from a directory tree whose root is specified with the INPUT tag.
|
# subdirectory from a directory tree whose root is specified with the INPUT tag.
|
||||||
|
# Note that relative paths are relative to the directory from which doxygen is
|
||||||
|
# run.
|
||||||
|
|
||||||
EXCLUDE = SCCS
|
EXCLUDE = SCCS
|
||||||
|
|
||||||
# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
|
# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
|
||||||
# directories that are symbolic links (a Unix filesystem feature) are excluded
|
# directories that are symbolic links (a Unix file system feature) are excluded
|
||||||
# from the input.
|
# from the input.
|
||||||
|
|
||||||
EXCLUDE_SYMLINKS = NO
|
EXCLUDE_SYMLINKS = NO
|
||||||
|
@ -642,7 +727,7 @@ EXCLUDE_SYMBOLS =
|
||||||
# directories that contain example code fragments that are included (see
|
# directories that contain example code fragments that are included (see
|
||||||
# the \include command).
|
# the \include command).
|
||||||
|
|
||||||
EXAMPLE_PATH = src/examples
|
EXAMPLE_PATH = @top_srcdir@/src
|
||||||
|
|
||||||
# If the value of the EXAMPLE_PATH tag contains directories, you can use the
|
# If the value of the EXAMPLE_PATH tag contains directories, you can use the
|
||||||
# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
|
# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
|
||||||
|
@ -662,7 +747,7 @@ EXAMPLE_RECURSIVE = NO
|
||||||
# directories that contain image that are included in the documentation (see
|
# directories that contain image that are included in the documentation (see
|
||||||
# the \image command).
|
# the \image command).
|
||||||
|
|
||||||
IMAGE_PATH = src/img
|
IMAGE_PATH =
|
||||||
|
|
||||||
# The INPUT_FILTER tag can be used to specify a program that doxygen should
|
# The INPUT_FILTER tag can be used to specify a program that doxygen should
|
||||||
# invoke to filter for each input file. Doxygen will invoke the filter program
|
# invoke to filter for each input file. Doxygen will invoke the filter program
|
||||||
|
@ -681,8 +766,8 @@ INPUT_FILTER =
|
||||||
# filter if there is a match.
|
# filter if there is a match.
|
||||||
# The filters are a list of the form:
|
# The filters are a list of the form:
|
||||||
# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
|
# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
|
||||||
# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER
|
# info on how filters are used. If FILTER_PATTERNS is empty or if
|
||||||
# is applied to all files.
|
# non of the patterns match the file name, INPUT_FILTER is applied.
|
||||||
|
|
||||||
FILTER_PATTERNS =
|
FILTER_PATTERNS =
|
||||||
|
|
||||||
|
@ -692,6 +777,14 @@ FILTER_PATTERNS =
|
||||||
|
|
||||||
FILTER_SOURCE_FILES = NO
|
FILTER_SOURCE_FILES = NO
|
||||||
|
|
||||||
|
# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file
|
||||||
|
# pattern. A pattern will override the setting for FILTER_PATTERN (if any)
|
||||||
|
# and it is also possible to disable source filtering for a specific pattern
|
||||||
|
# using *.ext= (so without naming a filter). This option only has effect when
|
||||||
|
# FILTER_SOURCE_FILES is enabled.
|
||||||
|
|
||||||
|
FILTER_SOURCE_PATTERNS =
|
||||||
|
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
# configuration options related to source browsing
|
# configuration options related to source browsing
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
|
@ -710,7 +803,7 @@ INLINE_SOURCES = NO
|
||||||
|
|
||||||
# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
|
# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
|
||||||
# doxygen to hide any special comment blocks from generated source code
|
# doxygen to hide any special comment blocks from generated source code
|
||||||
# fragments. Normal C and C++ comments will always remain visible.
|
# fragments. Normal C, C++ and Fortran comments will always remain visible.
|
||||||
|
|
||||||
STRIP_CODE_COMMENTS = NO
|
STRIP_CODE_COMMENTS = NO
|
||||||
|
|
||||||
|
@ -784,7 +877,7 @@ GENERATE_HTML = YES
|
||||||
# If a relative path is entered the value of OUTPUT_DIRECTORY will be
|
# If a relative path is entered the value of OUTPUT_DIRECTORY will be
|
||||||
# put in front of it. If left blank `html' will be used as the default path.
|
# put in front of it. If left blank `html' will be used as the default path.
|
||||||
|
|
||||||
HTML_OUTPUT = html
|
HTML_OUTPUT = api
|
||||||
|
|
||||||
# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
|
# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
|
||||||
# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
|
# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
|
||||||
|
@ -794,7 +887,14 @@ HTML_FILE_EXTENSION = .html
|
||||||
|
|
||||||
# The HTML_HEADER tag can be used to specify a personal HTML header for
|
# The HTML_HEADER tag can be used to specify a personal HTML header for
|
||||||
# each generated HTML page. If it is left blank doxygen will generate a
|
# each generated HTML page. If it is left blank doxygen will generate a
|
||||||
# standard header.
|
# standard header. Note that when using a custom header you are responsible
|
||||||
|
# for the proper inclusion of any scripts and style sheets that doxygen
|
||||||
|
# needs, which is dependent on the configuration options used.
|
||||||
|
# It is advised to generate a default header using "doxygen -w html
|
||||||
|
# header.html footer.html stylesheet.css YourConfigFile" and then modify
|
||||||
|
# that header. Note that the header is subject to change so you typically
|
||||||
|
# have to redo this when upgrading to a newer version of doxygen or when
|
||||||
|
# changing the value of configuration settings such as GENERATE_TREEVIEW!
|
||||||
|
|
||||||
HTML_HEADER =
|
HTML_HEADER =
|
||||||
|
|
||||||
|
@ -804,22 +904,26 @@ HTML_HEADER =
|
||||||
|
|
||||||
HTML_FOOTER =
|
HTML_FOOTER =
|
||||||
|
|
||||||
# If the HTML_TIMESTAMP tag is set to YES then the generated HTML
|
|
||||||
# documentation will contain the timesstamp.
|
|
||||||
|
|
||||||
HTML_TIMESTAMP = NO
|
|
||||||
|
|
||||||
# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
|
# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
|
||||||
# style sheet that is used by each HTML page. It can be used to
|
# style sheet that is used by each HTML page. It can be used to
|
||||||
# fine-tune the look of the HTML output. If the tag is left blank doxygen
|
# fine-tune the look of the HTML output. If the tag is left blank doxygen
|
||||||
# will generate a default style sheet. Note that doxygen will try to copy
|
# will generate a default style sheet. Note that doxygen will try to copy
|
||||||
# the style sheet file to the HTML output directory, so don't put your own
|
# the style sheet file to the HTML output directory, so don't put your own
|
||||||
# stylesheet in the HTML output directory as well, or it will be erased!
|
# style sheet in the HTML output directory as well, or it will be erased!
|
||||||
|
|
||||||
HTML_STYLESHEET = libnl.css
|
HTML_STYLESHEET = @srcdir@/libnl.css
|
||||||
|
|
||||||
|
# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
|
||||||
|
# other source files which should be copied to the HTML output directory. Note
|
||||||
|
# that these files will be copied to the base HTML output directory. Use the
|
||||||
|
# $relpath$ marker in the HTML_HEADER and/or HTML_FOOTER files to load these
|
||||||
|
# files. In the HTML_STYLESHEET file, use the file name only. Also note that
|
||||||
|
# the files will be copied as-is; there are no commands or markers available.
|
||||||
|
|
||||||
|
HTML_EXTRA_FILES =
|
||||||
|
|
||||||
# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output.
|
# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output.
|
||||||
# Doxygen will adjust the colors in the stylesheet and background images
|
# Doxygen will adjust the colors in the style sheet and background images
|
||||||
# according to this color. Hue is specified as an angle on a colorwheel,
|
# according to this color. Hue is specified as an angle on a colorwheel,
|
||||||
# see http://en.wikipedia.org/wiki/Hue for more information.
|
# see http://en.wikipedia.org/wiki/Hue for more information.
|
||||||
# For instance the value 0 represents red, 60 is yellow, 120 is green,
|
# For instance the value 0 represents red, 60 is yellow, 120 is green,
|
||||||
|
@ -849,20 +953,23 @@ HTML_COLORSTYLE_GAMMA = 80
|
||||||
|
|
||||||
HTML_TIMESTAMP = YES
|
HTML_TIMESTAMP = YES
|
||||||
|
|
||||||
# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
|
|
||||||
# files or namespaces will be aligned in HTML using tables. If set to
|
|
||||||
# NO a bullet list will be used.
|
|
||||||
|
|
||||||
HTML_ALIGN_MEMBERS = YES
|
|
||||||
|
|
||||||
# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
|
# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
|
||||||
# documentation will contain sections that can be hidden and shown after the
|
# documentation will contain sections that can be hidden and shown after the
|
||||||
# page has loaded. For this to work a browser that supports
|
# page has loaded.
|
||||||
# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox
|
|
||||||
# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
|
|
||||||
|
|
||||||
HTML_DYNAMIC_SECTIONS = YES
|
HTML_DYNAMIC_SECTIONS = YES
|
||||||
|
|
||||||
|
# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of
|
||||||
|
# entries shown in the various tree structured indices initially; the user
|
||||||
|
# can expand and collapse entries dynamically later on. Doxygen will expand
|
||||||
|
# the tree to such a level that at most the specified number of entries are
|
||||||
|
# visible (unless a fully collapsed tree already exceeds this amount).
|
||||||
|
# So setting the number of entries 1 will produce a full collapsed tree by
|
||||||
|
# default. 0 is a special value representing an infinite number of entries
|
||||||
|
# and will result in a full expanded tree by default.
|
||||||
|
|
||||||
|
HTML_INDEX_NUM_ENTRIES = 100
|
||||||
|
|
||||||
# If the GENERATE_DOCSET tag is set to YES, additional index files
|
# If the GENERATE_DOCSET tag is set to YES, additional index files
|
||||||
# will be generated that can be used as input for Apple's Xcode 3
|
# will be generated that can be used as input for Apple's Xcode 3
|
||||||
# integrated development environment, introduced with OSX 10.5 (Leopard).
|
# integrated development environment, introduced with OSX 10.5 (Leopard).
|
||||||
|
@ -1012,19 +1119,16 @@ GENERATE_ECLIPSEHELP = NO
|
||||||
# the directory name containing the HTML and XML files should also have
|
# the directory name containing the HTML and XML files should also have
|
||||||
# this name.
|
# this name.
|
||||||
|
|
||||||
ECLIPSE_DOC_ID = org.doxygen.Project
|
ECLIPSE_DOC_ID = org.infradead.libnl
|
||||||
|
|
||||||
# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
|
# The DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs)
|
||||||
# top of each HTML page. The value NO (the default) enables the index and
|
# at top of each HTML page. The value NO (the default) enables the index and
|
||||||
# the value YES disables it.
|
# the value YES disables it. Since the tabs have the same information as the
|
||||||
|
# navigation tree you can set this option to NO if you already set
|
||||||
|
# GENERATE_TREEVIEW to YES.
|
||||||
|
|
||||||
DISABLE_INDEX = NO
|
DISABLE_INDEX = NO
|
||||||
|
|
||||||
# This tag can be used to set the number of enum values (range [1..20])
|
|
||||||
# that doxygen will group on one line in the generated HTML documentation.
|
|
||||||
|
|
||||||
ENUM_VALUES_PER_LINE = 1
|
|
||||||
|
|
||||||
# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
|
# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
|
||||||
# structure should be generated to display hierarchical information.
|
# structure should be generated to display hierarchical information.
|
||||||
# If the tag value is set to YES, a side panel will be generated
|
# If the tag value is set to YES, a side panel will be generated
|
||||||
|
@ -1032,19 +1136,23 @@ ENUM_VALUES_PER_LINE = 1
|
||||||
# is generated for HTML Help). For this to work a browser that supports
|
# is generated for HTML Help). For this to work a browser that supports
|
||||||
# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser).
|
# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser).
|
||||||
# Windows users are probably better off using the HTML help feature.
|
# Windows users are probably better off using the HTML help feature.
|
||||||
|
# Since the tree basically has the same information as the tab index you
|
||||||
|
# could consider to set DISABLE_INDEX to NO when enabling this option.
|
||||||
|
|
||||||
GENERATE_TREEVIEW = NO
|
GENERATE_TREEVIEW = YES
|
||||||
|
|
||||||
# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories,
|
# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values
|
||||||
# and Class Hierarchy pages using a tree view instead of an ordered list.
|
# (range [0,1..20]) that doxygen will group on one line in the generated HTML
|
||||||
|
# documentation. Note that a value of 0 will completely suppress the enum
|
||||||
|
# values from appearing in the overview section.
|
||||||
|
|
||||||
USE_INLINE_TREES = YES
|
ENUM_VALUES_PER_LINE = 1
|
||||||
|
|
||||||
# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
|
# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
|
||||||
# used to set the initial width (in pixels) of the frame in which the tree
|
# used to set the initial width (in pixels) of the frame in which the tree
|
||||||
# is shown.
|
# is shown.
|
||||||
|
|
||||||
TREEVIEW_WIDTH = 250
|
TREEVIEW_WIDTH = 205
|
||||||
|
|
||||||
# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open
|
# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open
|
||||||
# links to external symbols imported via tag files in a separate window.
|
# links to external symbols imported via tag files in a separate window.
|
||||||
|
@ -1067,6 +1175,32 @@ FORMULA_FONTSIZE = 10
|
||||||
|
|
||||||
FORMULA_TRANSPARENT = YES
|
FORMULA_TRANSPARENT = YES
|
||||||
|
|
||||||
|
# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax
|
||||||
|
# (see http://www.mathjax.org) which uses client side Javascript for the
|
||||||
|
# rendering instead of using prerendered bitmaps. Use this if you do not
|
||||||
|
# have LaTeX installed or if you want to formulas look prettier in the HTML
|
||||||
|
# output. When enabled you may also need to install MathJax separately and
|
||||||
|
# configure the path to it using the MATHJAX_RELPATH option.
|
||||||
|
|
||||||
|
USE_MATHJAX = NO
|
||||||
|
|
||||||
|
# When MathJax is enabled you need to specify the location relative to the
|
||||||
|
# HTML output directory using the MATHJAX_RELPATH option. The destination
|
||||||
|
# directory should contain the MathJax.js script. For instance, if the mathjax
|
||||||
|
# directory is located at the same level as the HTML output directory, then
|
||||||
|
# MATHJAX_RELPATH should be ../mathjax. The default value points to
|
||||||
|
# the MathJax Content Delivery Network so you can quickly see the result without
|
||||||
|
# installing MathJax.
|
||||||
|
# However, it is strongly recommended to install a local
|
||||||
|
# copy of MathJax from http://www.mathjax.org before deployment.
|
||||||
|
|
||||||
|
MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest
|
||||||
|
|
||||||
|
# The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension
|
||||||
|
# names that should be enabled during MathJax rendering.
|
||||||
|
|
||||||
|
MATHJAX_EXTENSIONS =
|
||||||
|
|
||||||
# When the SEARCHENGINE tag is enabled doxygen will generate a search box
|
# When the SEARCHENGINE tag is enabled doxygen will generate a search box
|
||||||
# for the HTML output. The underlying search engine uses javascript
|
# for the HTML output. The underlying search engine uses javascript
|
||||||
# and DHTML and should work on any modern browser. Note that when using
|
# and DHTML and should work on any modern browser. Note that when using
|
||||||
|
@ -1082,7 +1216,7 @@ SEARCHENGINE = NO
|
||||||
# using Javascript. Doxygen will generate the search PHP script and index
|
# using Javascript. Doxygen will generate the search PHP script and index
|
||||||
# file to put on the web server. The advantage of the server
|
# file to put on the web server. The advantage of the server
|
||||||
# based approach is that it scales better to large projects and allows
|
# based approach is that it scales better to large projects and allows
|
||||||
# full text search. The disadvances is that it is more difficult to setup
|
# full text search. The disadvantages are that it is more difficult to setup
|
||||||
# and does not have live searching capabilities.
|
# and does not have live searching capabilities.
|
||||||
|
|
||||||
SERVER_BASED_SEARCH = NO
|
SERVER_BASED_SEARCH = NO
|
||||||
|
@ -1123,7 +1257,7 @@ MAKEINDEX_CMD_NAME = makeindex
|
||||||
COMPACT_LATEX = NO
|
COMPACT_LATEX = NO
|
||||||
|
|
||||||
# The PAPER_TYPE tag can be used to set the paper type that is used
|
# The PAPER_TYPE tag can be used to set the paper type that is used
|
||||||
# by the printer. Possible values are: a4, a4wide, letter, legal and
|
# by the printer. Possible values are: a4, letter, legal and
|
||||||
# executive. If left blank a4wide will be used.
|
# executive. If left blank a4wide will be used.
|
||||||
|
|
||||||
PAPER_TYPE = a4wide
|
PAPER_TYPE = a4wide
|
||||||
|
@ -1140,6 +1274,13 @@ EXTRA_PACKAGES =
|
||||||
|
|
||||||
LATEX_HEADER =
|
LATEX_HEADER =
|
||||||
|
|
||||||
|
# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for
|
||||||
|
# the generated latex document. The footer should contain everything after
|
||||||
|
# the last chapter. If it is left blank doxygen will generate a
|
||||||
|
# standard footer. Notice: only use this tag if you know what you are doing!
|
||||||
|
|
||||||
|
LATEX_FOOTER =
|
||||||
|
|
||||||
# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
|
# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
|
||||||
# is prepared for conversion to pdf (using ps2pdf). The pdf file will
|
# is prepared for conversion to pdf (using ps2pdf). The pdf file will
|
||||||
# contain links (just like the HTML output) instead of page references
|
# contain links (just like the HTML output) instead of page references
|
||||||
|
@ -1173,6 +1314,12 @@ LATEX_HIDE_INDICES = NO
|
||||||
|
|
||||||
LATEX_SOURCE_CODE = NO
|
LATEX_SOURCE_CODE = NO
|
||||||
|
|
||||||
|
# The LATEX_BIB_STYLE tag can be used to specify the style to use for the
|
||||||
|
# bibliography, e.g. plainnat, or ieeetr. The default style is "plain". See
|
||||||
|
# http://en.wikipedia.org/wiki/BibTeX for more info.
|
||||||
|
|
||||||
|
LATEX_BIB_STYLE = plain
|
||||||
|
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
# configuration options related to the RTF output
|
# configuration options related to the RTF output
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
|
@ -1204,7 +1351,7 @@ COMPACT_RTF = NO
|
||||||
|
|
||||||
RTF_HYPERLINKS = NO
|
RTF_HYPERLINKS = NO
|
||||||
|
|
||||||
# Load stylesheet definitions from file. Syntax is similar to doxygen's
|
# Load style sheet definitions from file. Syntax is similar to doxygen's
|
||||||
# config file, i.e. a series of assignments. You only have to provide
|
# config file, i.e. a series of assignments. You only have to provide
|
||||||
# replacements, missing definitions are set to their default value.
|
# replacements, missing definitions are set to their default value.
|
||||||
|
|
||||||
|
@ -1349,7 +1496,7 @@ MACRO_EXPANSION = NO
|
||||||
EXPAND_ONLY_PREDEF = NO
|
EXPAND_ONLY_PREDEF = NO
|
||||||
|
|
||||||
# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
|
# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
|
||||||
# in the INCLUDE_PATH (see below) will be search if a #include is found.
|
# pointed to by INCLUDE_PATH will be searched when a #include is found.
|
||||||
|
|
||||||
SEARCH_INCLUDES = NO
|
SEARCH_INCLUDES = NO
|
||||||
|
|
||||||
|
@ -1379,15 +1526,15 @@ PREDEFINED =
|
||||||
# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
|
# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
|
||||||
# this tag can be used to specify a list of macro names that should be expanded.
|
# this tag can be used to specify a list of macro names that should be expanded.
|
||||||
# The macro definition that is found in the sources will be used.
|
# The macro definition that is found in the sources will be used.
|
||||||
# Use the PREDEFINED tag if you want to use a different macro definition.
|
# Use the PREDEFINED tag if you want to use a different macro definition that
|
||||||
|
# overrules the definition found in the source code.
|
||||||
|
|
||||||
EXPAND_AS_DEFINED =
|
EXPAND_AS_DEFINED =
|
||||||
|
|
||||||
# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
|
# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
|
||||||
# doxygen's preprocessor will remove all function-like macros that are alone
|
# doxygen's preprocessor will remove all references to function-like macros
|
||||||
# on a line, have an all uppercase name, and do not end with a semicolon. Such
|
# that are alone on a line, have an all uppercase name, and do not end with a
|
||||||
# function macros are typically used for boiler-plate code, and will confuse
|
# semicolon, because these will confuse the parser if not removed.
|
||||||
# the parser if not removed.
|
|
||||||
|
|
||||||
SKIP_FUNCTION_MACROS = YES
|
SKIP_FUNCTION_MACROS = YES
|
||||||
|
|
||||||
|
@ -1395,22 +1542,18 @@ SKIP_FUNCTION_MACROS = YES
|
||||||
# Configuration::additions related to external references
|
# Configuration::additions related to external references
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
# The TAGFILES option can be used to specify one or more tagfiles.
|
# The TAGFILES option can be used to specify one or more tagfiles. For each
|
||||||
# Optionally an initial location of the external documentation
|
# tag file the location of the external documentation should be added. The
|
||||||
# can be added for each tagfile. The format of a tag file without
|
# format of a tag file without this location is as follows:
|
||||||
# this location is as follows:
|
|
||||||
#
|
#
|
||||||
# TAGFILES = file1 file2 ...
|
# TAGFILES = file1 file2 ...
|
||||||
# Adding location for the tag files is done as follows:
|
# Adding location for the tag files is done as follows:
|
||||||
#
|
#
|
||||||
# TAGFILES = file1=loc1 "file2 = loc2" ...
|
# TAGFILES = file1=loc1 "file2 = loc2" ...
|
||||||
# where "loc1" and "loc2" can be relative or absolute paths or
|
# where "loc1" and "loc2" can be relative or absolute paths
|
||||||
# URLs. If a location is present for each tag, the installdox tool
|
# or URLs. Note that each tag file must have a unique name (where the name does
|
||||||
# does not have to be run to correct the links.
|
# NOT include the path). If a tag file is not located in the directory in which
|
||||||
# Note that each tag file must have a unique name
|
# doxygen is run, you must also specify the path to the tagfile here.
|
||||||
# (where the name does NOT include the path)
|
|
||||||
# If a tag file is not located in the directory in which doxygen
|
|
||||||
# is run, you must also specify the path to the tagfile here.
|
|
||||||
|
|
||||||
TAGFILES =
|
TAGFILES =
|
||||||
|
|
||||||
|
@ -1443,9 +1586,8 @@ PERL_PATH = /usr/bin/perl
|
||||||
# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
|
# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
|
||||||
# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base
|
# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base
|
||||||
# or super classes. Setting the tag to NO turns the diagrams off. Note that
|
# or super classes. Setting the tag to NO turns the diagrams off. Note that
|
||||||
# this option is superseded by the HAVE_DOT option below. This is only a
|
# this option also works with HAVE_DOT disabled, but it is recommended to
|
||||||
# fallback. It is recommended to install and use dot, since it yields more
|
# install and use dot, since it yields more powerful graphs.
|
||||||
# powerful graphs.
|
|
||||||
|
|
||||||
CLASS_DIAGRAMS = NO
|
CLASS_DIAGRAMS = NO
|
||||||
|
|
||||||
|
@ -1479,14 +1621,12 @@ HAVE_DOT = YES
|
||||||
|
|
||||||
DOT_NUM_THREADS = 0
|
DOT_NUM_THREADS = 0
|
||||||
|
|
||||||
# By default doxygen will write a font called FreeSans.ttf to the output
|
# By default doxygen will use the Helvetica font for all dot files that
|
||||||
# directory and reference it in all dot files that doxygen generates. This
|
# doxygen generates. When you want a differently looking font you can specify
|
||||||
# font does not include all possible unicode characters however, so when you need
|
# the font name using DOT_FONTNAME. You need to make sure dot is able to find
|
||||||
# these (or just want a differently looking font) you can specify the font name
|
# the font, which can be done by putting it in a standard location or by setting
|
||||||
# using DOT_FONTNAME. You need need to make sure dot is able to find the font,
|
# the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the
|
||||||
# which can be done by putting it in a standard location or by setting the
|
# directory containing the font.
|
||||||
# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory
|
|
||||||
# containing the font.
|
|
||||||
|
|
||||||
DOT_FONTNAME = FreeSans.ttf
|
DOT_FONTNAME = FreeSans.ttf
|
||||||
|
|
||||||
|
@ -1495,17 +1635,16 @@ DOT_FONTNAME = FreeSans.ttf
|
||||||
|
|
||||||
DOT_FONTSIZE = 10
|
DOT_FONTSIZE = 10
|
||||||
|
|
||||||
# By default doxygen will tell dot to use the output directory to look for the
|
# By default doxygen will tell dot to use the Helvetica font.
|
||||||
# FreeSans.ttf font (which doxygen will put there itself). If you specify a
|
# If you specify a different font using DOT_FONTNAME you can use DOT_FONTPATH to
|
||||||
# different font using DOT_FONTNAME you can set the path where dot
|
# set the path where dot can find it.
|
||||||
# can find it using this tag.
|
|
||||||
|
|
||||||
DOT_FONTPATH =
|
DOT_FONTPATH =
|
||||||
|
|
||||||
# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
|
# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
|
||||||
# will generate a graph for each documented class showing the direct and
|
# will generate a graph for each documented class showing the direct and
|
||||||
# indirect inheritance relations. Setting this tag to YES will force the
|
# indirect inheritance relations. Setting this tag to YES will force the
|
||||||
# the CLASS_DIAGRAMS tag to NO.
|
# CLASS_DIAGRAMS tag to NO.
|
||||||
|
|
||||||
CLASS_GRAPH = NO
|
CLASS_GRAPH = NO
|
||||||
|
|
||||||
|
@ -1527,6 +1666,15 @@ GROUP_GRAPHS = NO
|
||||||
|
|
||||||
UML_LOOK = YES
|
UML_LOOK = YES
|
||||||
|
|
||||||
|
# If the UML_LOOK tag is enabled, the fields and methods are shown inside
|
||||||
|
# the class node. If there are many fields or methods and many nodes the
|
||||||
|
# graph may become too big to be useful. The UML_LIMIT_NUM_FIELDS
|
||||||
|
# threshold limits the number of items for each type to make the size more
|
||||||
|
# managable. Set this to 0 for no limit. Note that the threshold may be
|
||||||
|
# exceeded by 50% before the limit is enforced.
|
||||||
|
|
||||||
|
UML_LIMIT_NUM_FIELDS = 10
|
||||||
|
|
||||||
# If set to YES, the inheritance and collaboration graphs will show the
|
# If set to YES, the inheritance and collaboration graphs will show the
|
||||||
# relations between templates and their instances.
|
# relations between templates and their instances.
|
||||||
|
|
||||||
|
@ -1563,11 +1711,11 @@ CALL_GRAPH = YES
|
||||||
CALLER_GRAPH = YES
|
CALLER_GRAPH = YES
|
||||||
|
|
||||||
# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
|
# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
|
||||||
# will graphical hierarchy of all classes instead of a textual one.
|
# will generate a graphical hierarchy of all classes instead of a textual one.
|
||||||
|
|
||||||
GRAPHICAL_HIERARCHY = YES
|
GRAPHICAL_HIERARCHY = YES
|
||||||
|
|
||||||
# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES
|
# If the DIRECTORY_GRAPH and HAVE_DOT tags are set to YES
|
||||||
# then doxygen will show the dependencies a directory has on other directories
|
# then doxygen will show the dependencies a directory has on other directories
|
||||||
# in a graphical way. The dependency relations are determined by the #include
|
# in a graphical way. The dependency relations are determined by the #include
|
||||||
# relations between the files in the directories.
|
# relations between the files in the directories.
|
||||||
|
@ -1575,11 +1723,22 @@ GRAPHICAL_HIERARCHY = YES
|
||||||
DIRECTORY_GRAPH = YES
|
DIRECTORY_GRAPH = YES
|
||||||
|
|
||||||
# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
|
# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
|
||||||
# generated by dot. Possible values are png, jpg, or gif
|
# generated by dot. Possible values are svg, png, jpg, or gif.
|
||||||
# If left blank png will be used.
|
# If left blank png will be used. If you choose svg you need to set
|
||||||
|
# HTML_FILE_EXTENSION to xhtml in order to make the SVG files
|
||||||
|
# visible in IE 9+ (other browsers do not have this requirement).
|
||||||
|
|
||||||
DOT_IMAGE_FORMAT = png
|
DOT_IMAGE_FORMAT = png
|
||||||
|
|
||||||
|
# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to
|
||||||
|
# enable generation of interactive SVG images that allow zooming and panning.
|
||||||
|
# Note that this requires a modern browser other than Internet Explorer.
|
||||||
|
# Tested and working are Firefox, Chrome, Safari, and Opera. For IE 9+ you
|
||||||
|
# need to set HTML_FILE_EXTENSION to xhtml in order to make the SVG files
|
||||||
|
# visible. Older versions of IE do not have SVG support.
|
||||||
|
|
||||||
|
INTERACTIVE_SVG = NO
|
||||||
|
|
||||||
# The tag DOT_PATH can be used to specify the path where the dot tool can be
|
# The tag DOT_PATH can be used to specify the path where the dot tool can be
|
||||||
# found. If left blank, it is assumed the dot tool can be found in the path.
|
# found. If left blank, it is assumed the dot tool can be found in the path.
|
||||||
|
|
||||||
|
@ -1591,6 +1750,12 @@ DOT_PATH =
|
||||||
|
|
||||||
DOTFILE_DIRS =
|
DOTFILE_DIRS =
|
||||||
|
|
||||||
|
# The MSCFILE_DIRS tag can be used to specify one or more directories that
|
||||||
|
# contain msc files that are included in the documentation (see the
|
||||||
|
# \mscfile command).
|
||||||
|
|
||||||
|
MSCFILE_DIRS =
|
||||||
|
|
||||||
# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of
|
# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of
|
||||||
# nodes that will be shown in the graph. If the number of nodes in a graph
|
# nodes that will be shown in the graph. If the number of nodes in a graph
|
||||||
# becomes larger than this value, doxygen will truncate the graph, which is
|
# becomes larger than this value, doxygen will truncate the graph, which is
|
||||||
|
@ -1599,7 +1764,7 @@ DOTFILE_DIRS =
|
||||||
# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note
|
# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note
|
||||||
# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
|
# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
|
||||||
|
|
||||||
DOT_GRAPH_MAX_NODES = 50
|
DOT_GRAPH_MAX_NODES = 100
|
||||||
|
|
||||||
# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
|
# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
|
||||||
# graphs generated by dot. A depth value of 3 means that only nodes reachable
|
# graphs generated by dot. A depth value of 3 means that only nodes reachable
|
||||||
|
|
|
@ -0,0 +1,187 @@
|
||||||
|
<doxygenlayout version="1.0">
|
||||||
|
<!-- Navigation index tabs for HTML output -->
|
||||||
|
<navindex>
|
||||||
|
<tab type="mainpage" visible="yes" title=""/>
|
||||||
|
<tab type="pages" visible="yes" title="" intro=""/>
|
||||||
|
<tab type="modules" visible="yes" title="" intro=""/>
|
||||||
|
<tab type="namespaces" visible="yes" title="">
|
||||||
|
<tab type="namespacelist" visible="yes" title="" intro=""/>
|
||||||
|
<tab type="namespacemembers" visible="yes" title="" intro=""/>
|
||||||
|
</tab>
|
||||||
|
<tab type="classes" visible="yes" title="">
|
||||||
|
<tab type="classlist" visible="yes" title="" intro=""/>
|
||||||
|
<tab type="classindex" visible="$ALPHABETICAL_INDEX" title=""/>
|
||||||
|
<tab type="hierarchy" visible="yes" title="" intro=""/>
|
||||||
|
<tab type="classmembers" visible="yes" title="" intro=""/>
|
||||||
|
</tab>
|
||||||
|
<tab type="files" visible="yes" title="">
|
||||||
|
<tab type="filelist" visible="yes" title="" intro=""/>
|
||||||
|
<tab type="globals" visible="yes" title="" intro=""/>
|
||||||
|
</tab>
|
||||||
|
<tab type="examples" visible="yes" title="" intro=""/>
|
||||||
|
</navindex>
|
||||||
|
|
||||||
|
<!-- Layout definition for a class page -->
|
||||||
|
<class>
|
||||||
|
<briefdescription visible="yes"/>
|
||||||
|
<includes visible="$SHOW_INCLUDE_FILES"/>
|
||||||
|
<inheritancegraph visible="$CLASS_GRAPH"/>
|
||||||
|
<collaborationgraph visible="$COLLABORATION_GRAPH"/>
|
||||||
|
<allmemberslink visible="yes"/>
|
||||||
|
<memberdecl>
|
||||||
|
<nestedclasses visible="yes" title=""/>
|
||||||
|
<publictypes title=""/>
|
||||||
|
<publicslots title=""/>
|
||||||
|
<signals title=""/>
|
||||||
|
<publicmethods title=""/>
|
||||||
|
<publicstaticmethods title=""/>
|
||||||
|
<publicattributes title=""/>
|
||||||
|
<publicstaticattributes title=""/>
|
||||||
|
<protectedtypes title=""/>
|
||||||
|
<protectedslots title=""/>
|
||||||
|
<protectedmethods title=""/>
|
||||||
|
<protectedstaticmethods title=""/>
|
||||||
|
<protectedattributes title=""/>
|
||||||
|
<protectedstaticattributes title=""/>
|
||||||
|
<packagetypes title=""/>
|
||||||
|
<packagemethods title=""/>
|
||||||
|
<packagestaticmethods title=""/>
|
||||||
|
<packageattributes title=""/>
|
||||||
|
<packagestaticattributes title=""/>
|
||||||
|
<properties title=""/>
|
||||||
|
<events title=""/>
|
||||||
|
<privatetypes title=""/>
|
||||||
|
<privateslots title=""/>
|
||||||
|
<privatemethods title=""/>
|
||||||
|
<privatestaticmethods title=""/>
|
||||||
|
<privateattributes title=""/>
|
||||||
|
<privatestaticattributes title=""/>
|
||||||
|
<friends title=""/>
|
||||||
|
<related title="" subtitle=""/>
|
||||||
|
<membergroups visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<detaileddescription title=""/>
|
||||||
|
<memberdef>
|
||||||
|
<inlineclasses title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<constructors title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<related title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<properties title=""/>
|
||||||
|
<events title=""/>
|
||||||
|
</memberdef>
|
||||||
|
<usedfiles visible="$SHOW_USED_FILES"/>
|
||||||
|
<authorsection visible="yes"/>
|
||||||
|
</class>
|
||||||
|
|
||||||
|
<!-- Layout definition for a namespace page -->
|
||||||
|
<namespace>
|
||||||
|
<briefdescription visible="yes"/>
|
||||||
|
<memberdecl>
|
||||||
|
<nestednamespaces visible="yes" title=""/>
|
||||||
|
<classes visible="yes" title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<membergroups visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<detaileddescription title=""/>
|
||||||
|
<memberdef>
|
||||||
|
<inlineclasses title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
</memberdef>
|
||||||
|
<authorsection visible="yes"/>
|
||||||
|
</namespace>
|
||||||
|
|
||||||
|
<!-- Layout definition for a file page -->
|
||||||
|
<file>
|
||||||
|
<briefdescription visible="yes"/>
|
||||||
|
<includes visible="$SHOW_INCLUDE_FILES"/>
|
||||||
|
<includegraph visible="$INCLUDE_GRAPH"/>
|
||||||
|
<includedbygraph visible="$INCLUDED_BY_GRAPH"/>
|
||||||
|
<sourcelink visible="yes"/>
|
||||||
|
<memberdecl>
|
||||||
|
<classes visible="yes" title=""/>
|
||||||
|
<namespaces visible="yes" title=""/>
|
||||||
|
<defines title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<membergroups visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<detaileddescription title=""/>
|
||||||
|
<memberdef>
|
||||||
|
<inlineclasses title=""/>
|
||||||
|
<defines title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
</memberdef>
|
||||||
|
<authorsection/>
|
||||||
|
</file>
|
||||||
|
|
||||||
|
<!-- Layout definition for a group page -->
|
||||||
|
<group>
|
||||||
|
<briefdescription visible="yes"/>
|
||||||
|
<groupgraph visible="$GROUP_GRAPHS"/>
|
||||||
|
<memberdecl>
|
||||||
|
<nestedgroups visible="yes" title=""/>
|
||||||
|
<dirs visible="yes" title=""/>
|
||||||
|
<files visible="yes" title=""/>
|
||||||
|
<namespaces visible="yes" title=""/>
|
||||||
|
<classes visible="yes" title=""/>
|
||||||
|
<defines title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<enumvalues title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<signals title=""/>
|
||||||
|
<publicslots title=""/>
|
||||||
|
<protectedslots title=""/>
|
||||||
|
<privateslots title=""/>
|
||||||
|
<events title=""/>
|
||||||
|
<properties title=""/>
|
||||||
|
<friends title=""/>
|
||||||
|
<membergroups visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<detaileddescription title=""/>
|
||||||
|
<memberdef>
|
||||||
|
<pagedocs/>
|
||||||
|
<inlineclasses title=""/>
|
||||||
|
<defines title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<enumvalues title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<signals title=""/>
|
||||||
|
<publicslots title=""/>
|
||||||
|
<protectedslots title=""/>
|
||||||
|
<privateslots title=""/>
|
||||||
|
<events title=""/>
|
||||||
|
<properties title=""/>
|
||||||
|
<friends title=""/>
|
||||||
|
</memberdef>
|
||||||
|
<authorsection visible="yes"/>
|
||||||
|
</group>
|
||||||
|
|
||||||
|
<!-- Layout definition for a directory page -->
|
||||||
|
<directory>
|
||||||
|
<briefdescription visible="yes"/>
|
||||||
|
<directorygraph visible="yes"/>
|
||||||
|
<memberdecl>
|
||||||
|
<dirs visible="yes"/>
|
||||||
|
<files visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<detaileddescription title=""/>
|
||||||
|
</directory>
|
||||||
|
</doxygenlayout>
|
|
@ -1,9 +1,73 @@
|
||||||
# -*- Makefile -*-
|
# -*- Makefile -*-
|
||||||
|
|
||||||
.PHONY: gendoc
|
.PHONY: gendoc api_ref asciidoc
|
||||||
|
|
||||||
gendoc:
|
ASCIIDOCOPTS=-a pygments -a language=c -a icons \
|
||||||
|
-a toc2 \
|
||||||
|
-a numbered \
|
||||||
|
-a imagesdir="./images/" \
|
||||||
|
-a iconsdir="./images/icons" \
|
||||||
|
-a stylesdir="${abs_srcdir}/stylesheets/"
|
||||||
|
|
||||||
|
EXTRA_DIST = \
|
||||||
|
core.txt \
|
||||||
|
core.html \
|
||||||
|
route.txt \
|
||||||
|
route.html \
|
||||||
|
index.txt \
|
||||||
|
index.html \
|
||||||
|
libnl.css \
|
||||||
|
stylesheets \
|
||||||
|
images \
|
||||||
|
api
|
||||||
|
|
||||||
|
dist-hook:
|
||||||
|
rm -f $(distdir)/aclocal.m4
|
||||||
|
rm -f $(distdir)/configure
|
||||||
|
rm -f $(distdir)/configure.in
|
||||||
|
rm -rf $(distdir)/m4
|
||||||
|
rm -f $(distdir)/README
|
||||||
|
rm -f $(distdir)/missing
|
||||||
|
rm -f $(distdir)/Doxyfile.in
|
||||||
|
rm -f $(distdir)/Makefile.am
|
||||||
|
rm -f $(distdir)/Makefile.in
|
||||||
|
|
||||||
|
link_doc:
|
||||||
|
if LINK_DOC
|
||||||
|
./gen-tags.sh > libnl.dict
|
||||||
|
else
|
||||||
|
@echo "Warning: Linking to API reference is disabled, check configure output"
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
%.html: %.txt link_doc
|
||||||
|
./resolve-asciidoc-refs.py $< > asciidoc.tmp
|
||||||
|
asciidoc $(ASCIIDOCOPTS) -o $@ asciidoc.tmp
|
||||||
|
if LINK_DOC
|
||||||
|
./doxygen-link.py libnl.dict $@ > asciidoc.tmp
|
||||||
|
mv asciidoc.tmp $@
|
||||||
|
endif
|
||||||
|
|
||||||
|
asciidoc: core.html route.html index.html
|
||||||
|
|
||||||
|
api_ref:
|
||||||
doxygen Doxyfile;
|
doxygen Doxyfile;
|
||||||
|
|
||||||
distclean-local:
|
gendoc:
|
||||||
rm -f html/*;
|
if GENERATE_DOC
|
||||||
|
if HAVE_DOXYGEN
|
||||||
|
$(MAKE) api_ref
|
||||||
|
else
|
||||||
|
@echo "Warning: Building of API reference (doxygen) is disabled, check autoconf logs"
|
||||||
|
endif
|
||||||
|
if HAVE_ASCIIDOC
|
||||||
|
$(MAKE) asciidoc
|
||||||
|
else
|
||||||
|
@echo "Warning: Building of asciidoc files is disabled, check autoconf logs"
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
@echo "Warning: Building of documentation disabled by user or autoconf"
|
||||||
|
endif
|
||||||
|
|
||||||
|
clean-local:
|
||||||
|
rm -f api/* libnl.dict *.html;
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
Requirements to build documentation
|
||||||
|
|
||||||
|
mscgen
|
||||||
|
http://www.mcternan.me.uk/mscgen/
|
||||||
|
|
||||||
|
mscgen-filter-1.2
|
||||||
|
http://code.google.com/p/asciidoc-mscgen-filter/
|
||||||
|
|
||||||
|
asciidoc > 8.6.x
|
||||||
|
doxygen > 1.8.0
|
|
@ -0,0 +1,8 @@
|
||||||
|
*.html
|
||||||
|
*.png
|
||||||
|
*.css
|
||||||
|
*.map
|
||||||
|
*.md5
|
||||||
|
*.js
|
||||||
|
formula.repository
|
||||||
|
jquery.js
|
|
@ -0,0 +1,4 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
autoreconf -fi;
|
||||||
|
rm -Rf autom4te.cache;
|
|
@ -0,0 +1,107 @@
|
||||||
|
#
|
||||||
|
# configure.in
|
||||||
|
#
|
||||||
|
# This library is free software; you can redistribute it and/or
|
||||||
|
# modify it under the terms of the GNU Lesser General Public
|
||||||
|
# License as published by the Free Software Foundation version 2.1
|
||||||
|
# of the License.
|
||||||
|
#
|
||||||
|
# Copyright (c) 2003-2013 Thomas Graf <tgraf@suug.ch>
|
||||||
|
#
|
||||||
|
|
||||||
|
AC_INIT(libnl-doc, [3.2.21], [http://www.infradead.org/~tgr/libnl/])
|
||||||
|
AC_CONFIG_MACRO_DIR([m4])
|
||||||
|
AC_CONFIG_AUX_DIR([build-aux])
|
||||||
|
AM_INIT_AUTOMAKE([foreign])
|
||||||
|
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES(yes)], [])
|
||||||
|
|
||||||
|
m4_include([m4/ax_python.m4])
|
||||||
|
|
||||||
|
#
|
||||||
|
# Generating the documentation
|
||||||
|
#
|
||||||
|
AC_ARG_ENABLE([doc],
|
||||||
|
AS_HELP_STRING([--disable-doc], [Do not generate documentation]),
|
||||||
|
[generate_doc="$enableval"], [generate_doc=auto])
|
||||||
|
|
||||||
|
if test "x$generate_doc" != "xno"; then
|
||||||
|
AC_PROG_SED
|
||||||
|
AC_PROG_EGREP
|
||||||
|
|
||||||
|
AX_PYTHON
|
||||||
|
|
||||||
|
AC_CHECK_PROG(HAVE_DOXYGEN, [doxygen], yes, no)
|
||||||
|
if test "x$HAVE_DOXYGEN" = "xno" -a "x$generate_doc" = "xyes"; then
|
||||||
|
AC_MSG_ERROR([*** doxygen package required to generate documentation])
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_CHECK_PROG(HAVE_DOT, [dot], yes, no)
|
||||||
|
if test "x$HAVE_DOT" = "xno"; then
|
||||||
|
if test "x$generate_doc" = "xyes"; then
|
||||||
|
AC_MSG_ERROR([*** graphviz package required to generate documentation])
|
||||||
|
else
|
||||||
|
AC_MSG_WARN([*** graphviz not found, disabling building of API reference])
|
||||||
|
HAVE_DOXYGEN=no
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_CHECK_PROG(HAVE_ASCIIDOC, [asciidoc], yes, no)
|
||||||
|
if test "x$HAVE_ASCIIDOC" = "xno"; then
|
||||||
|
if test "x$generate_doc" = "xyes"; then
|
||||||
|
AC_MSG_ERROR([*** asciidoc package required to generate documentation])
|
||||||
|
else
|
||||||
|
AC_MSG_WARN([*** asciidoc not found, disabling building of guides])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_CHECK_PROG(HAVE_SOURCE_HIGHLIGHT, [source-highlight], yes, no)
|
||||||
|
if test "x$HAVE_SOURCE_HIGHLIGHT" = "xno"; then
|
||||||
|
if test "x$generate_doc" = "xyes"; then
|
||||||
|
AC_MSG_ERROR([*** source-highlight required to generate documentation])
|
||||||
|
else
|
||||||
|
AC_MSG_WARN([*** source-highlight not found, disabling building of guides])
|
||||||
|
HAVE_ASCIIDOC=no
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_CHECK_PROG(HAVE_MSCGEN, [mscgen], yes, no)
|
||||||
|
if test "x$HAVE_MSCGEN" = "xno"; then
|
||||||
|
AC_MSG_WARN([*** mscgen not found, get it at http://www.mcternan.me.uk/mscgen/])
|
||||||
|
if test "x$generate_doc" = "xyes"; then
|
||||||
|
AC_MSG_ERROR([*** mscgen package required to generate documentation])
|
||||||
|
else
|
||||||
|
AC_MSG_WARN([*** Disabling building of guides])
|
||||||
|
HAVE_ASCIIDOC=no
|
||||||
|
HAVE_DOXYGEN=no
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_CHECK_PROG(HAVE_PYGMENTIZE, [pygmentize], yes, no)
|
||||||
|
if test "x$HAVE_PYGMENTIZE" = "xno"; then
|
||||||
|
if test "x$generate_doc" = "xyes"; then
|
||||||
|
AC_MSG_ERROR([*** pygmentize package required to generate documentation])
|
||||||
|
else
|
||||||
|
AC_MSG_WARN([*** Disabling building of guides])
|
||||||
|
HAVE_ASCIIDOC=no
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
link_doc=yes
|
||||||
|
if test "x$HAVE_DOXYGEN" = "xno"; then
|
||||||
|
AC_MSG_WARN([*** Disabling API linking due to missing doxygen package])
|
||||||
|
link_doc=no
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
AM_CONDITIONAL([LINK_DOC], [test "x$link_doc" = "xyes"])
|
||||||
|
AM_CONDITIONAL([HAVE_DOXYGEN], [test "x$HAVE_DOXYGEN" = "xyes"])
|
||||||
|
AM_CONDITIONAL([HAVE_ASCIIDOC], [test "x$HAVE_ASCIIDOC" = "xyes"])
|
||||||
|
|
||||||
|
AM_CONDITIONAL([GENERATE_DOC], [test "x$generate_doc" != "xno"])
|
||||||
|
|
||||||
|
AC_CONFIG_FILES([
|
||||||
|
Doxyfile
|
||||||
|
Makefile
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_OUTPUT
|
|
@ -0,0 +1,20 @@
|
||||||
|
#!/usr/bin/env python
|
||||||
|
|
||||||
|
import fileinput
|
||||||
|
import re
|
||||||
|
import sys
|
||||||
|
|
||||||
|
links = {}
|
||||||
|
|
||||||
|
for line in open(sys.argv[1], 'r'):
|
||||||
|
m = re.match('^([^=]+)=([^\n]+)$', line);
|
||||||
|
if m:
|
||||||
|
link = "<a href=\"" + m.group(2) + "\" class=\"dg\">" + m.group(1) + "</a>"
|
||||||
|
links[m.group(1)] = link
|
||||||
|
|
||||||
|
def translate(match):
|
||||||
|
return links[match.group(0)]
|
||||||
|
|
||||||
|
rc = re.compile('|'.join(map(re.escape, sorted(links, reverse=True))))
|
||||||
|
for line in open(sys.argv[2], 'r'):
|
||||||
|
print rc.sub(translate, line),
|
|
@ -0,0 +1,14 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
#
|
||||||
|
# Based on a script found on the englinemtn-devel mailinglist
|
||||||
|
# written by Carsten Haitzler <ras...@rasterman.com>
|
||||||
|
#
|
||||||
|
|
||||||
|
for f in api/group__*.html
|
||||||
|
do
|
||||||
|
bf=$(basename $f)
|
||||||
|
|
||||||
|
grep -oE "href=\"$bf#[a-z0-9]+\">[^<]+</a>" $f |
|
||||||
|
sed 's/href="\([^"]*\)">\([^<]*\)<\/a>/\2=api\/\1/'
|
||||||
|
done
|
|
@ -1 +0,0 @@
|
||||||
*
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
core__*
|
||||||
|
asciidoc__*.png
|
||||||
|
*.odg
|
After Width: | Height: | Size: 13 KiB |
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 31 KiB |
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 17 KiB |
|
@ -0,0 +1,5 @@
|
||||||
|
Replaced the plain DocBook XSL admonition icons with Jimmac's DocBook
|
||||||
|
icons (http://jimmac.musichall.cz/ikony.php3). I dropped transparency
|
||||||
|
from the Jimmac icons to get round MS IE and FOP PNG incompatibilies.
|
||||||
|
|
||||||
|
Stuart Rackham
|
After Width: | Height: | Size: 329 B |
After Width: | Height: | Size: 361 B |
After Width: | Height: | Size: 565 B |
After Width: | Height: | Size: 617 B |
After Width: | Height: | Size: 623 B |
After Width: | Height: | Size: 411 B |
After Width: | Height: | Size: 640 B |
After Width: | Height: | Size: 353 B |
After Width: | Height: | Size: 350 B |
After Width: | Height: | Size: 345 B |
After Width: | Height: | Size: 348 B |
After Width: | Height: | Size: 355 B |
After Width: | Height: | Size: 344 B |
After Width: | Height: | Size: 357 B |
After Width: | Height: | Size: 357 B |
After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 2.5 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 2.9 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 3.1 KiB |
After Width: | Height: | Size: 44 KiB |
After Width: | Height: | Size: 23 KiB |
After Width: | Height: | Size: 43 KiB |
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 30 KiB |
After Width: | Height: | Size: 47 KiB |
|
@ -0,0 +1,22 @@
|
||||||
|
Documentation Overview - libnl Suite
|
||||||
|
====================================
|
||||||
|
|
||||||
|
== Libraries
|
||||||
|
|
||||||
|
image:library_overview.png["Library Hierarchy"]
|
||||||
|
|
||||||
|
link:core.html[Netlink Library] (libnl)::
|
||||||
|
Socket handling, sending and receiving, message construction and parsing, ...
|
||||||
|
|
||||||
|
link:route.html[Routing Family Library] (libnl-route)::
|
||||||
|
Adresses, links, neighbours, routing, traffic control, neighbour tables, ...
|
||||||
|
|
||||||
|
Netfilter Library (libnl-nf)::
|
||||||
|
Connection tracking, logging, queueing
|
||||||
|
|
||||||
|
Generic Netlink Library (libnl-genl)::
|
||||||
|
Controller API, family and command registration
|
||||||
|
|
||||||
|
== Python Packages
|
||||||
|
- netlink.core
|
||||||
|
- netlink.route.link
|
743
doc/libnl.css
|
@ -2,21 +2,41 @@
|
||||||
|
|
||||||
body, table, div, p, dl {
|
body, table, div, p, dl {
|
||||||
font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif;
|
font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif;
|
||||||
font-size: 12px;
|
font-size: 13px;
|
||||||
|
line-height: 1.3;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* @group Heading Levels */
|
/* @group Heading Levels */
|
||||||
|
|
||||||
h1 {
|
h1 {
|
||||||
font-size: 180%;
|
font-size: 150%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.title {
|
||||||
|
font-size: 150%;
|
||||||
|
font-weight: bold;
|
||||||
|
margin: 10px 2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
h2 {
|
h2 {
|
||||||
font-size: 140%;
|
font-size: 120%;
|
||||||
}
|
}
|
||||||
|
|
||||||
h3 {
|
h3 {
|
||||||
font-size: 120%;
|
font-size: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1, h2, h3, h4, h5, h6 {
|
||||||
|
-webkit-transition: text-shadow 0.5s linear;
|
||||||
|
-moz-transition: text-shadow 0.5s linear;
|
||||||
|
-ms-transition: text-shadow 0.5s linear;
|
||||||
|
-o-transition: text-shadow 0.5s linear;
|
||||||
|
transition: text-shadow 0.5s linear;
|
||||||
|
margin-right: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow {
|
||||||
|
text-shadow: 0 0 15px cyan;
|
||||||
}
|
}
|
||||||
|
|
||||||
dt {
|
dt {
|
||||||
|
@ -66,8 +86,6 @@ div.qindex, div.navtab{
|
||||||
background-color: #EBEFF6;
|
background-color: #EBEFF6;
|
||||||
border: 1px solid #A3B4D7;
|
border: 1px solid #A3B4D7;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
margin: 2px;
|
|
||||||
padding: 2px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
div.qindex, div.navpath {
|
div.qindex, div.navpath {
|
||||||
|
@ -117,11 +135,11 @@ a.el {
|
||||||
a.elRef {
|
a.elRef {
|
||||||
}
|
}
|
||||||
|
|
||||||
a.code {
|
a.code, a.code:visited {
|
||||||
color: #4665A2;
|
color: #4665A2;
|
||||||
}
|
}
|
||||||
|
|
||||||
a.codeRef {
|
a.codeRef, a.codeRef:visited {
|
||||||
color: #4665A2;
|
color: #4665A2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -131,11 +149,6 @@ dl.el {
|
||||||
margin-left: -1cm;
|
margin-left: -1cm;
|
||||||
}
|
}
|
||||||
|
|
||||||
.fragment {
|
|
||||||
font-family: monospace, fixed;
|
|
||||||
font-size: 105%;
|
|
||||||
}
|
|
||||||
|
|
||||||
pre.fragment {
|
pre.fragment {
|
||||||
border: 1px solid #C4CFE5;
|
border: 1px solid #C4CFE5;
|
||||||
background-color: #FBFCFD;
|
background-color: #FBFCFD;
|
||||||
|
@ -145,6 +158,63 @@ pre.fragment {
|
||||||
word-wrap: break-word;
|
word-wrap: break-word;
|
||||||
font-size: 9pt;
|
font-size: 9pt;
|
||||||
line-height: 125%;
|
line-height: 125%;
|
||||||
|
font-family: monospace, fixed;
|
||||||
|
font-size: 105%;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.fragment {
|
||||||
|
padding: 4px;
|
||||||
|
margin: 4px;
|
||||||
|
background-color: #FBFCFD;
|
||||||
|
border: 1px solid #C4CFE5;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.line {
|
||||||
|
font-family: monospace, fixed;
|
||||||
|
font-size: 13px;
|
||||||
|
min-height: 13px;
|
||||||
|
line-height: 1.0;
|
||||||
|
text-wrap: unrestricted;
|
||||||
|
white-space: -moz-pre-wrap; /* Moz */
|
||||||
|
white-space: -pre-wrap; /* Opera 4-6 */
|
||||||
|
white-space: -o-pre-wrap; /* Opera 7 */
|
||||||
|
white-space: pre-wrap; /* CSS3 */
|
||||||
|
word-wrap: break-word; /* IE 5.5+ */
|
||||||
|
text-indent: -53px;
|
||||||
|
padding-left: 53px;
|
||||||
|
padding-bottom: 0px;
|
||||||
|
margin: 0px;
|
||||||
|
-webkit-transition-property: background-color, box-shadow;
|
||||||
|
-webkit-transition-duration: 0.5s;
|
||||||
|
-moz-transition-property: background-color, box-shadow;
|
||||||
|
-moz-transition-duration: 0.5s;
|
||||||
|
-ms-transition-property: background-color, box-shadow;
|
||||||
|
-ms-transition-duration: 0.5s;
|
||||||
|
-o-transition-property: background-color, box-shadow;
|
||||||
|
-o-transition-duration: 0.5s;
|
||||||
|
transition-property: background-color, box-shadow;
|
||||||
|
transition-duration: 0.5s;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.line.glow {
|
||||||
|
background-color: cyan;
|
||||||
|
box-shadow: 0 0 10px cyan;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
span.lineno {
|
||||||
|
padding-right: 4px;
|
||||||
|
text-align: right;
|
||||||
|
border-right: 2px solid #0F0;
|
||||||
|
background-color: #E8E8E8;
|
||||||
|
white-space: pre;
|
||||||
|
}
|
||||||
|
span.lineno a {
|
||||||
|
background-color: #D8D8D8;
|
||||||
|
}
|
||||||
|
|
||||||
|
span.lineno a:hover {
|
||||||
|
background-color: #C8C8C8;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.ah {
|
div.ah {
|
||||||
|
@ -158,6 +228,7 @@ div.ah {
|
||||||
border-radius: 0.5em;
|
border-radius: 0.5em;
|
||||||
-webkit-border-radius: .5em;
|
-webkit-border-radius: .5em;
|
||||||
-moz-border-radius: .5em;
|
-moz-border-radius: .5em;
|
||||||
|
box-shadow: 2px 2px 3px #999;
|
||||||
-webkit-box-shadow: 2px 2px 3px #999;
|
-webkit-box-shadow: 2px 2px 3px #999;
|
||||||
-moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
|
-moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
|
||||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444));
|
background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444));
|
||||||
|
@ -167,7 +238,6 @@ div.ah {
|
||||||
div.groupHeader {
|
div.groupHeader {
|
||||||
margin-left: 16px;
|
margin-left: 16px;
|
||||||
margin-top: 12px;
|
margin-top: 12px;
|
||||||
margin-bottom: 6px;
|
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -177,24 +247,15 @@ div.groupText {
|
||||||
}
|
}
|
||||||
|
|
||||||
body {
|
body {
|
||||||
background: white;
|
background-color: white;
|
||||||
color: black;
|
color: black;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.contents {
|
div.contents {
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
margin-left: 10px;
|
margin-left: 12px;
|
||||||
margin-right: 10px;
|
margin-right: 8px;
|
||||||
}
|
|
||||||
|
|
||||||
div.contents p {
|
|
||||||
margin-left: 30px;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.contents .fragment {
|
|
||||||
margin-left: 30px;
|
|
||||||
margin-right: 20px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
td.indexkey {
|
td.indexkey {
|
||||||
|
@ -203,6 +264,8 @@ td.indexkey {
|
||||||
border: 1px solid #C4CFE5;
|
border: 1px solid #C4CFE5;
|
||||||
margin: 2px 0px 2px 0;
|
margin: 2px 0px 2px 0;
|
||||||
padding: 2px 10px;
|
padding: 2px 10px;
|
||||||
|
white-space: nowrap;
|
||||||
|
vertical-align: top;
|
||||||
}
|
}
|
||||||
|
|
||||||
td.indexvalue {
|
td.indexvalue {
|
||||||
|
@ -295,6 +358,13 @@ span.vhdllogic {
|
||||||
color: #ff0000
|
color: #ff0000
|
||||||
}
|
}
|
||||||
|
|
||||||
|
blockquote {
|
||||||
|
background-color: #F7F8FB;
|
||||||
|
border-left: 2px solid #9CAFD4;
|
||||||
|
margin: 0 24px 0 4px;
|
||||||
|
padding: 0 12px 0 16px;
|
||||||
|
}
|
||||||
|
|
||||||
/* @end */
|
/* @end */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -348,6 +418,24 @@ table.memberdecls {
|
||||||
padding: 0px;
|
padding: 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.memberdecls td {
|
||||||
|
-webkit-transition-property: background-color, box-shadow;
|
||||||
|
-webkit-transition-duration: 0.5s;
|
||||||
|
-moz-transition-property: background-color, box-shadow;
|
||||||
|
-moz-transition-duration: 0.5s;
|
||||||
|
-ms-transition-property: background-color, box-shadow;
|
||||||
|
-ms-transition-duration: 0.5s;
|
||||||
|
-o-transition-property: background-color, box-shadow;
|
||||||
|
-o-transition-duration: 0.5s;
|
||||||
|
transition-property: background-color, box-shadow;
|
||||||
|
transition-duration: 0.5s;
|
||||||
|
}
|
||||||
|
|
||||||
|
.memberdecls td.glow {
|
||||||
|
background-color: cyan;
|
||||||
|
box-shadow: 0 0 15px cyan;
|
||||||
|
}
|
||||||
|
|
||||||
.mdescLeft, .mdescRight,
|
.mdescLeft, .mdescRight,
|
||||||
.memItemLeft, .memItemRight,
|
.memItemLeft, .memItemRight,
|
||||||
.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
|
.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
|
||||||
|
@ -370,6 +458,10 @@ table.memberdecls {
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.memItemRight {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
.memTemplParams {
|
.memTemplParams {
|
||||||
color: #4665A2;
|
color: #4665A2;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
|
@ -382,10 +474,10 @@ table.memberdecls {
|
||||||
/* Styles for detailed member documentation */
|
/* Styles for detailed member documentation */
|
||||||
|
|
||||||
.memtemplate {
|
.memtemplate {
|
||||||
font-size: 100%;
|
font-size: 80%;
|
||||||
color: #4665A2;
|
color: #4665A2;
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
margin-left: 3px;
|
margin-left: 9px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.memnav {
|
.memnav {
|
||||||
|
@ -397,30 +489,93 @@ table.memberdecls {
|
||||||
padding: 2px;
|
padding: 2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.mempage {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
.memitem {
|
.memitem {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
border: 1px solid #C4CFE5;
|
margin-bottom: 10px;
|
||||||
margin-bottom: 30px;
|
margin-right: 5px;
|
||||||
|
-webkit-transition: box-shadow 0.5s linear;
|
||||||
|
-moz-transition: box-shadow 0.5s linear;
|
||||||
|
-ms-transition: box-shadow 0.5s linear;
|
||||||
|
-o-transition: box-shadow 0.5s linear;
|
||||||
|
transition: box-shadow 0.5s linear;
|
||||||
|
display: table !important;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.memitem.glow {
|
||||||
|
box-shadow: 0 0 15px cyan;
|
||||||
}
|
}
|
||||||
|
|
||||||
.memname {
|
.memname {
|
||||||
white-space: nowrap;
|
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
margin-left: 6px;
|
margin-left: 6px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.memproto {
|
.memname td {
|
||||||
background-color: #F9FAFC;
|
vertical-align: bottom;
|
||||||
border-bottom: 1px solid #A3B4D7;
|
}
|
||||||
|
|
||||||
|
.memproto, dl.reflist dt {
|
||||||
|
border-top: 1px solid #A8B8D9;
|
||||||
|
border-left: 1px solid #A8B8D9;
|
||||||
|
border-right: 1px solid #A8B8D9;
|
||||||
padding: 6px 0px 6px 0px;
|
padding: 6px 0px 6px 0px;
|
||||||
color: #000000;
|
color: #253555;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
|
text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
|
||||||
|
background-image:url('nav_f.png');
|
||||||
|
background-repeat:repeat-x;
|
||||||
|
background-color: #E2E8F2;
|
||||||
|
/* opera specific markup */
|
||||||
|
box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
|
||||||
|
border-top-right-radius: 4px;
|
||||||
|
border-top-left-radius: 4px;
|
||||||
|
/* firefox specific markup */
|
||||||
|
-moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
|
||||||
|
-moz-border-radius-topright: 4px;
|
||||||
|
-moz-border-radius-topleft: 4px;
|
||||||
|
/* webkit specific markup */
|
||||||
|
-webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
|
||||||
|
-webkit-border-top-right-radius: 4px;
|
||||||
|
-webkit-border-top-left-radius: 4px;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.memdoc {
|
.memdoc, dl.reflist dd {
|
||||||
padding: 2px 5px;
|
border-bottom: 1px solid #A8B8D9;
|
||||||
margin-left: 30px;
|
border-left: 1px solid #A8B8D9;
|
||||||
|
border-right: 1px solid #A8B8D9;
|
||||||
|
padding: 6px 10px 2px 10px;
|
||||||
|
background-color: #FBFCFD;
|
||||||
|
border-top-width: 0;
|
||||||
|
background-image:url('nav_g.png');
|
||||||
|
background-repeat:repeat-x;
|
||||||
|
background-color: #FFFFFF;
|
||||||
|
/* opera specific markup */
|
||||||
|
border-bottom-left-radius: 4px;
|
||||||
|
border-bottom-right-radius: 4px;
|
||||||
|
box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
|
||||||
|
/* firefox specific markup */
|
||||||
|
-moz-border-radius-bottomleft: 4px;
|
||||||
|
-moz-border-radius-bottomright: 4px;
|
||||||
|
-moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
|
||||||
|
/* webkit specific markup */
|
||||||
|
-webkit-border-bottom-left-radius: 4px;
|
||||||
|
-webkit-border-bottom-right-radius: 4px;
|
||||||
|
-webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
|
||||||
|
}
|
||||||
|
|
||||||
|
dl.reflist dt {
|
||||||
|
padding: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
dl.reflist dd {
|
||||||
|
margin: 0px 0px 10px 0px;
|
||||||
|
padding: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.paramkey {
|
.paramkey {
|
||||||
|
@ -438,103 +593,138 @@ table.memberdecls {
|
||||||
.paramname em {
|
.paramname em {
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
}
|
}
|
||||||
|
.paramname code {
|
||||||
/* @end */
|
line-height: 14px;
|
||||||
|
|
||||||
/* @group Directory (tree) */
|
|
||||||
|
|
||||||
/* for the tree view */
|
|
||||||
|
|
||||||
.ftvtree {
|
|
||||||
font-family: sans-serif;
|
|
||||||
margin: 0px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* these are for tree view when used as main index */
|
.params, .retval, .exception, .tparams {
|
||||||
|
margin-left: 0px;
|
||||||
|
padding-left: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
.directory {
|
.params .paramname, .retval .paramname {
|
||||||
font-size: 9pt;
|
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
margin: 5px;
|
vertical-align: top;
|
||||||
}
|
}
|
||||||
|
|
||||||
.directory h3 {
|
.params .paramtype {
|
||||||
margin: 0px;
|
font-style: italic;
|
||||||
margin-top: 1em;
|
vertical-align: top;
|
||||||
font-size: 11pt;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
.params .paramdir {
|
||||||
The following two styles can be used to replace the root node title
|
font-family: "courier new",courier,monospace;
|
||||||
with an image of your choice. Simply uncomment the next two styles,
|
vertical-align: top;
|
||||||
specify the name of your image and be sure to set 'height' to the
|
|
||||||
proper pixel height of your image.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
.directory h3.swap {
|
|
||||||
height: 61px;
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
background-image: url("yourimage.gif");
|
|
||||||
}
|
|
||||||
.directory h3.swap span {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
.directory > h3 {
|
|
||||||
margin-top: 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.directory p {
|
table.mlabels {
|
||||||
margin: 0px;
|
border-spacing: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
td.mlabels-left {
|
||||||
|
width: 100%;
|
||||||
|
padding: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
td.mlabels-right {
|
||||||
|
vertical-align: bottom;
|
||||||
|
padding: 0px;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
.directory div {
|
span.mlabels {
|
||||||
display: none;
|
margin-left: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
span.mlabel {
|
||||||
|
background-color: #728DC1;
|
||||||
|
border-top:1px solid #5373B4;
|
||||||
|
border-left:1px solid #5373B4;
|
||||||
|
border-right:1px solid #C4CFE5;
|
||||||
|
border-bottom:1px solid #C4CFE5;
|
||||||
|
text-shadow: none;
|
||||||
|
color: white;
|
||||||
|
margin-right: 4px;
|
||||||
|
padding: 2px 3px;
|
||||||
|
border-radius: 3px;
|
||||||
|
font-size: 7pt;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* @end */
|
||||||
|
|
||||||
|
/* these are for tree view when not used as main index */
|
||||||
|
|
||||||
|
div.directory {
|
||||||
|
margin: 10px 0px;
|
||||||
|
border-top: 1px solid #A8B8D9;
|
||||||
|
border-bottom: 1px solid #A8B8D9;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.directory table {
|
||||||
|
border-collapse:collapse;
|
||||||
|
}
|
||||||
|
|
||||||
|
.directory td {
|
||||||
margin: 0px;
|
margin: 0px;
|
||||||
|
padding: 0px;
|
||||||
|
vertical-align: top;
|
||||||
|
}
|
||||||
|
|
||||||
|
.directory td.entry {
|
||||||
|
white-space: nowrap;
|
||||||
|
padding-right: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.directory td.entry a {
|
||||||
|
outline:none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.directory td.entry a img {
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.directory td.desc {
|
||||||
|
width: 100%;
|
||||||
|
padding-left: 6px;
|
||||||
|
padding-right: 6px;
|
||||||
|
border-left: 1px solid rgba(0,0,0,0.05);
|
||||||
|
}
|
||||||
|
|
||||||
|
.directory tr.even {
|
||||||
|
padding-left: 6px;
|
||||||
|
background-color: #F7F8FB;
|
||||||
}
|
}
|
||||||
|
|
||||||
.directory img {
|
.directory img {
|
||||||
vertical-align: -30%;
|
vertical-align: -30%;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* these are for tree view when not used as main index */
|
.directory .levels {
|
||||||
|
|
||||||
.directory-alt {
|
|
||||||
font-size: 100%;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
.directory-alt h3 {
|
|
||||||
margin: 0px;
|
|
||||||
margin-top: 1em;
|
|
||||||
font-size: 11pt;
|
|
||||||
}
|
|
||||||
|
|
||||||
.directory-alt > h3 {
|
|
||||||
margin-top: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.directory-alt p {
|
|
||||||
margin: 0px;
|
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
|
width: 100%;
|
||||||
|
text-align: right;
|
||||||
|
font-size: 9pt;
|
||||||
}
|
}
|
||||||
|
|
||||||
.directory-alt div {
|
.directory .levels span {
|
||||||
display: none;
|
cursor: pointer;
|
||||||
margin: 0px;
|
padding-left: 2px;
|
||||||
|
padding-right: 2px;
|
||||||
|
color: #3D578C;
|
||||||
}
|
}
|
||||||
|
|
||||||
.directory-alt img {
|
|
||||||
vertical-align: -30%;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* @end */
|
|
||||||
|
|
||||||
div.dynheader {
|
div.dynheader {
|
||||||
margin-top: 8px;
|
margin-top: 8px;
|
||||||
|
-webkit-touch-callout: none;
|
||||||
|
-webkit-user-select: none;
|
||||||
|
-khtml-user-select: none;
|
||||||
|
-moz-user-select: none;
|
||||||
|
-ms-user-select: none;
|
||||||
|
user-select: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
address {
|
address {
|
||||||
|
@ -544,6 +734,8 @@ address {
|
||||||
|
|
||||||
table.doxtable {
|
table.doxtable {
|
||||||
border-collapse:collapse;
|
border-collapse:collapse;
|
||||||
|
margin-top: 4px;
|
||||||
|
margin-bottom: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
table.doxtable td, table.doxtable th {
|
table.doxtable td, table.doxtable th {
|
||||||
|
@ -557,9 +749,60 @@ table.doxtable th {
|
||||||
font-size: 110%;
|
font-size: 110%;
|
||||||
padding-bottom: 4px;
|
padding-bottom: 4px;
|
||||||
padding-top: 5px;
|
padding-top: 5px;
|
||||||
text-align:left;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
table.fieldtable {
|
||||||
|
width: 100%;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
border: 1px solid #A8B8D9;
|
||||||
|
border-spacing: 0px;
|
||||||
|
-moz-border-radius: 4px;
|
||||||
|
-webkit-border-radius: 4px;
|
||||||
|
border-radius: 4px;
|
||||||
|
-moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
|
||||||
|
-webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
|
||||||
|
box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
|
||||||
|
}
|
||||||
|
|
||||||
|
.fieldtable td, .fieldtable th {
|
||||||
|
padding: 3px 7px 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fieldtable td.fieldtype, .fieldtable td.fieldname {
|
||||||
|
white-space: nowrap;
|
||||||
|
border-right: 1px solid #A8B8D9;
|
||||||
|
border-bottom: 1px solid #A8B8D9;
|
||||||
|
vertical-align: top;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fieldtable td.fielddoc {
|
||||||
|
border-bottom: 1px solid #A8B8D9;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fieldtable tr:last-child td {
|
||||||
|
border-bottom: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fieldtable th {
|
||||||
|
background-image:url('nav_f.png');
|
||||||
|
background-repeat:repeat-x;
|
||||||
|
background-color: #E2E8F2;
|
||||||
|
font-size: 90%;
|
||||||
|
color: #253555;
|
||||||
|
padding-bottom: 4px;
|
||||||
|
padding-top: 5px;
|
||||||
|
text-align:left;
|
||||||
|
-moz-border-radius-topleft: 4px;
|
||||||
|
-moz-border-radius-topright: 4px;
|
||||||
|
-webkit-border-top-left-radius: 4px;
|
||||||
|
-webkit-border-top-right-radius: 4px;
|
||||||
|
border-top-left-radius: 4px;
|
||||||
|
border-top-right-radius: 4px;
|
||||||
|
border-bottom: 1px solid #A8B8D9;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
.tabsearch {
|
.tabsearch {
|
||||||
top: 0px;
|
top: 0px;
|
||||||
left: 10px;
|
left: 10px;
|
||||||
|
@ -589,14 +832,14 @@ table.doxtable th {
|
||||||
list-style-type:none;
|
list-style-type:none;
|
||||||
float:left;
|
float:left;
|
||||||
padding-left:10px;
|
padding-left:10px;
|
||||||
padding-right: 15px;
|
padding-right:15px;
|
||||||
background-image:url('bc_s.png');
|
background-image:url('bc_s.png');
|
||||||
background-repeat:no-repeat;
|
background-repeat:no-repeat;
|
||||||
background-position:right;
|
background-position:right;
|
||||||
color:#364D7C;
|
color:#364D7C;
|
||||||
}
|
}
|
||||||
|
|
||||||
.navpath a
|
.navpath li.navelem a
|
||||||
{
|
{
|
||||||
height:32px;
|
height:32px;
|
||||||
display:block;
|
display:block;
|
||||||
|
@ -604,11 +847,25 @@ table.doxtable th {
|
||||||
outline: none;
|
outline: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.navpath a:hover
|
.navpath li.navelem a:hover
|
||||||
{
|
{
|
||||||
color:#6884BD;
|
color:#6884BD;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.navpath li.footer
|
||||||
|
{
|
||||||
|
list-style-type:none;
|
||||||
|
float:right;
|
||||||
|
padding-left:10px;
|
||||||
|
padding-right:15px;
|
||||||
|
background-image:none;
|
||||||
|
background-repeat:no-repeat;
|
||||||
|
background-position:right;
|
||||||
|
color:#364D7C;
|
||||||
|
font-size: 8pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
div.summary
|
div.summary
|
||||||
{
|
{
|
||||||
float: right;
|
float: right;
|
||||||
|
@ -623,6 +880,18 @@ div.summary a
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
div.ingroups
|
||||||
|
{
|
||||||
|
font-size: 8pt;
|
||||||
|
width: 50%;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.ingroups a
|
||||||
|
{
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
div.header
|
div.header
|
||||||
{
|
{
|
||||||
background-image:url('nav_h.png');
|
background-image:url('nav_h.png');
|
||||||
|
@ -634,6 +903,254 @@ div.header
|
||||||
|
|
||||||
div.headertitle
|
div.headertitle
|
||||||
{
|
{
|
||||||
padding: 5px 5px 5px 10px;
|
padding: 5px 5px 5px 7px;
|
||||||
|
}
|
||||||
|
|
||||||
|
dl
|
||||||
|
{
|
||||||
|
padding: 0 0 0 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */
|
||||||
|
dl.section
|
||||||
|
{
|
||||||
|
margin-left: 0px;
|
||||||
|
padding-left: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
dl.note
|
||||||
|
{
|
||||||
|
margin-left:-7px;
|
||||||
|
padding-left: 3px;
|
||||||
|
border-left:4px solid;
|
||||||
|
border-color: #D0C000;
|
||||||
|
}
|
||||||
|
|
||||||
|
dl.warning, dl.attention
|
||||||
|
{
|
||||||
|
margin-left:-7px;
|
||||||
|
padding-left: 3px;
|
||||||
|
border-left:4px solid;
|
||||||
|
border-color: #FF0000;
|
||||||
|
}
|
||||||
|
|
||||||
|
dl.pre, dl.post, dl.invariant
|
||||||
|
{
|
||||||
|
margin-left:-7px;
|
||||||
|
padding-left: 3px;
|
||||||
|
border-left:4px solid;
|
||||||
|
border-color: #00D000;
|
||||||
|
}
|
||||||
|
|
||||||
|
dl.deprecated
|
||||||
|
{
|
||||||
|
margin-left:-7px;
|
||||||
|
padding-left: 3px;
|
||||||
|
border-left:4px solid;
|
||||||
|
border-color: #505050;
|
||||||
|
}
|
||||||
|
|
||||||
|
dl.todo
|
||||||
|
{
|
||||||
|
margin-left:-7px;
|
||||||
|
padding-left: 3px;
|
||||||
|
border-left:4px solid;
|
||||||
|
border-color: #00C0E0;
|
||||||
|
}
|
||||||
|
|
||||||
|
dl.test
|
||||||
|
{
|
||||||
|
margin-left:-7px;
|
||||||
|
padding-left: 3px;
|
||||||
|
border-left:4px solid;
|
||||||
|
border-color: #3030E0;
|
||||||
|
}
|
||||||
|
|
||||||
|
dl.bug
|
||||||
|
{
|
||||||
|
margin-left:-7px;
|
||||||
|
padding-left: 3px;
|
||||||
|
border-left:4px solid;
|
||||||
|
border-color: #C08050;
|
||||||
|
}
|
||||||
|
|
||||||
|
dl.section dd {
|
||||||
|
margin-bottom: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#projectlogo
|
||||||
|
{
|
||||||
|
text-align: center;
|
||||||
|
vertical-align: bottom;
|
||||||
|
border-collapse: separate;
|
||||||
|
}
|
||||||
|
|
||||||
|
#projectlogo img
|
||||||
|
{
|
||||||
|
border: 0px none;
|
||||||
|
}
|
||||||
|
|
||||||
|
#projectname
|
||||||
|
{
|
||||||
|
font: 300% Tahoma, Arial,sans-serif;
|
||||||
|
margin: 0px;
|
||||||
|
padding: 2px 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#projectbrief
|
||||||
|
{
|
||||||
|
font: 120% Tahoma, Arial,sans-serif;
|
||||||
|
margin: 0px;
|
||||||
|
padding: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#projectnumber
|
||||||
|
{
|
||||||
|
font: 50% Tahoma, Arial,sans-serif;
|
||||||
|
margin: 0px;
|
||||||
|
padding: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#titlearea
|
||||||
|
{
|
||||||
|
padding: 0px;
|
||||||
|
margin: 0px;
|
||||||
|
width: 100%;
|
||||||
|
border-bottom: 1px solid #5373B4;
|
||||||
|
}
|
||||||
|
|
||||||
|
.image
|
||||||
|
{
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dotgraph
|
||||||
|
{
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mscgraph
|
||||||
|
{
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.caption
|
||||||
|
{
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.zoom
|
||||||
|
{
|
||||||
|
border: 1px solid #90A5CE;
|
||||||
|
}
|
||||||
|
|
||||||
|
dl.citelist {
|
||||||
|
margin-bottom:50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
dl.citelist dt {
|
||||||
|
color:#334975;
|
||||||
|
float:left;
|
||||||
|
font-weight:bold;
|
||||||
|
margin-right:10px;
|
||||||
|
padding:5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
dl.citelist dd {
|
||||||
|
margin:2px 0;
|
||||||
|
padding:5px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.toc {
|
||||||
|
padding: 14px 25px;
|
||||||
|
background-color: #F4F6FA;
|
||||||
|
border: 1px solid #D8DFEE;
|
||||||
|
border-radius: 7px 7px 7px 7px;
|
||||||
|
float: right;
|
||||||
|
height: auto;
|
||||||
|
margin: 0 20px 10px 10px;
|
||||||
|
width: 200px;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.toc li {
|
||||||
|
background: url("bdwn.png") no-repeat scroll 0 5px transparent;
|
||||||
|
font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif;
|
||||||
|
margin-top: 5px;
|
||||||
|
padding-left: 10px;
|
||||||
|
padding-top: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.toc h3 {
|
||||||
|
font: bold 12px/1.2 Arial,FreeSans,sans-serif;
|
||||||
|
color: #4665A2;
|
||||||
|
border-bottom: 0 none;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.toc ul {
|
||||||
|
list-style: none outside none;
|
||||||
|
border: medium none;
|
||||||
|
padding: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.toc li.level1 {
|
||||||
|
margin-left: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.toc li.level2 {
|
||||||
|
margin-left: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.toc li.level3 {
|
||||||
|
margin-left: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.toc li.level4 {
|
||||||
|
margin-left: 45px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.inherit_header {
|
||||||
|
font-weight: bold;
|
||||||
|
color: gray;
|
||||||
|
cursor: pointer;
|
||||||
|
-webkit-touch-callout: none;
|
||||||
|
-webkit-user-select: none;
|
||||||
|
-khtml-user-select: none;
|
||||||
|
-moz-user-select: none;
|
||||||
|
-ms-user-select: none;
|
||||||
|
user-select: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.inherit_header td {
|
||||||
|
padding: 6px 0px 2px 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.inherit {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
tr.heading h2 {
|
||||||
|
margin-top: 12px;
|
||||||
|
margin-bottom: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media print
|
||||||
|
{
|
||||||
|
#top { display: none; }
|
||||||
|
#side-nav { display: none; }
|
||||||
|
#nav-path { display: none; }
|
||||||
|
body { overflow:visible; }
|
||||||
|
h1, h2, h3, h4, h5, h6 { page-break-after: avoid; }
|
||||||
|
.summary { display: none; }
|
||||||
|
.memitem { page-break-inside: avoid; }
|
||||||
|
#doc-content
|
||||||
|
{
|
||||||
|
margin-left:0 !important;
|
||||||
|
height:auto !important;
|
||||||
|
width:auto !important;
|
||||||
|
overflow:inherit;
|
||||||
|
display:inline;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,97 @@
|
||||||
|
# ===========================================================================
|
||||||
|
# http://www.gnu.org/software/autoconf-archive/ax_python.html
|
||||||
|
# ===========================================================================
|
||||||
|
#
|
||||||
|
# SYNOPSIS
|
||||||
|
#
|
||||||
|
# AX_PYTHON
|
||||||
|
#
|
||||||
|
# DESCRIPTION
|
||||||
|
#
|
||||||
|
# This macro does a complete Python development environment check.
|
||||||
|
#
|
||||||
|
# It recurses through several python versions (from 2.1 to 2.6 in this
|
||||||
|
# version), looking for an executable. When it finds an executable, it
|
||||||
|
# looks to find the header files and library.
|
||||||
|
#
|
||||||
|
# It sets PYTHON_BIN to the name of the python executable,
|
||||||
|
# PYTHON_INCLUDE_DIR to the directory holding the header files, and
|
||||||
|
# PYTHON_LIB to the name of the Python library.
|
||||||
|
#
|
||||||
|
# This macro calls AC_SUBST on PYTHON_BIN (via AC_CHECK_PROG),
|
||||||
|
# PYTHON_INCLUDE_DIR and PYTHON_LIB.
|
||||||
|
#
|
||||||
|
# LICENSE
|
||||||
|
#
|
||||||
|
# Copyright (c) 2008 Michael Tindal
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or modify it
|
||||||
|
# under the terms of the GNU General Public License as published by the
|
||||||
|
# Free Software Foundation; either version 2 of the License, or (at your
|
||||||
|
# option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful, but
|
||||||
|
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
|
||||||
|
# Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License along
|
||||||
|
# with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
|
# As a special exception, the respective Autoconf Macro's copyright owner
|
||||||
|
# gives unlimited permission to copy, distribute and modify the configure
|
||||||
|
# scripts that are the output of Autoconf when processing the Macro. You
|
||||||
|
# need not follow the terms of the GNU General Public License when using
|
||||||
|
# or distributing such scripts, even though portions of the text of the
|
||||||
|
# Macro appear in them. The GNU General Public License (GPL) does govern
|
||||||
|
# all other use of the material that constitutes the Autoconf Macro.
|
||||||
|
#
|
||||||
|
# This special exception to the GPL applies to versions of the Autoconf
|
||||||
|
# Macro released by the Autoconf Archive. When you make and distribute a
|
||||||
|
# modified version of the Autoconf Macro, you may extend this special
|
||||||
|
# exception to the GPL to apply to your modified version as well.
|
||||||
|
|
||||||
|
#serial 9
|
||||||
|
|
||||||
|
AC_DEFUN([AX_PYTHON],
|
||||||
|
[AC_MSG_CHECKING(for python build information)
|
||||||
|
AC_MSG_RESULT([])
|
||||||
|
for python in python3.3 python3.2 python3.1 python3.0 python2.7 python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python; do
|
||||||
|
AC_CHECK_PROGS(PYTHON_BIN, [$python])
|
||||||
|
ax_python_bin=$PYTHON_BIN
|
||||||
|
if test x$ax_python_bin != x; then
|
||||||
|
AC_CHECK_LIB($ax_python_bin, main, ax_python_lib=$ax_python_bin, ax_python_lib=no)
|
||||||
|
AC_CHECK_HEADER([$ax_python_bin/Python.h],
|
||||||
|
[[ax_python_header=`locate $ax_python_bin/Python.h | sed -e s,/Python.h,,`]],
|
||||||
|
ax_python_header=no)
|
||||||
|
if test x$ax_python_lib != xno; then
|
||||||
|
if test x$ax_python_header != xno; then
|
||||||
|
break;
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if test x$ax_python_bin = x; then
|
||||||
|
ax_python_bin=no
|
||||||
|
fi
|
||||||
|
if test x$ax_python_header = x; then
|
||||||
|
ax_python_header=no
|
||||||
|
fi
|
||||||
|
if test x$ax_python_lib = x; then
|
||||||
|
ax_python_lib=no
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_MSG_RESULT([ results of the Python check:])
|
||||||
|
AC_MSG_RESULT([ Binary: $ax_python_bin])
|
||||||
|
AC_MSG_RESULT([ Library: $ax_python_lib])
|
||||||
|
AC_MSG_RESULT([ Include Dir: $ax_python_header])
|
||||||
|
|
||||||
|
if test x$ax_python_header != xno; then
|
||||||
|
PYTHON_INCLUDE_DIR=$ax_python_header
|
||||||
|
AC_SUBST(PYTHON_INCLUDE_DIR)
|
||||||
|
fi
|
||||||
|
if test x$ax_python_lib != xno; then
|
||||||
|
PYTHON_LIB=$ax_python_lib
|
||||||
|
AC_SUBST(PYTHON_LIB)
|
||||||
|
fi
|
||||||
|
])dnl
|
|
@ -0,0 +1,25 @@
|
||||||
|
#!/usr/bin/env python
|
||||||
|
|
||||||
|
import fileinput
|
||||||
|
import re
|
||||||
|
import sys
|
||||||
|
|
||||||
|
refs = {}
|
||||||
|
complete_file = ""
|
||||||
|
|
||||||
|
for line in open(sys.argv[1], 'r'):
|
||||||
|
complete_file += line
|
||||||
|
|
||||||
|
for m in re.findall('\[\[(.+)\]\]\n=+ ([^\n]+)', complete_file):
|
||||||
|
ref, title = m
|
||||||
|
refs["<<" + ref + ">>"] = "<<" + ref + ", " + title + ">>"
|
||||||
|
|
||||||
|
def translate(match):
|
||||||
|
try:
|
||||||
|
return refs[match.group(0)]
|
||||||
|
except KeyError:
|
||||||
|
return ""
|
||||||
|
|
||||||
|
rc = re.compile('|'.join(map(re.escape, sorted(refs, reverse=True))))
|
||||||
|
for line in open(sys.argv[1], 'r'):
|
||||||
|
print rc.sub(translate, line),
|
2303
doc/src/core.c
|
@ -1,15 +0,0 @@
|
||||||
#include <netlink/msg.h>
|
|
||||||
#include <netlink/attr.h>
|
|
||||||
|
|
||||||
void construct_attrs(struct nl_msg *msg)
|
|
||||||
{
|
|
||||||
NLA_PUT_STRING(msg, MY_ATTR_FOO1, "some text");
|
|
||||||
NLA_PUT_U32(msg, MY_ATTR_FOO1, 0x1010);
|
|
||||||
NLA_PUT_FLAG(msg, MY_ATTR_FOO3, 1);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
nla_put_failure:
|
|
||||||
/* NLA_PUT* macros jump here in case of an error */
|
|
||||||
return -EMSGSIZE;
|
|
||||||
}
|
|
|
@ -1,51 +0,0 @@
|
||||||
struct nl_msg *build_msg(int ifindex, struct nl_addr *lladdr, int mtu)
|
|
||||||
{
|
|
||||||
struct nl_msg *msg;
|
|
||||||
struct nlattr *info, *vlan;
|
|
||||||
struct ifinfomsg ifi = {
|
|
||||||
.ifi_family = AF_INET,
|
|
||||||
.ifi_index = ifindex,
|
|
||||||
};
|
|
||||||
|
|
||||||
/* Allocate a default sized netlink message */
|
|
||||||
if (!(msg = nlmsg_alloc_simple(RTM_SETLINK, 0)))
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
/* Append the protocol specific header (struct ifinfomsg)*/
|
|
||||||
if (nlmsg_append(msg, &ifi, sizeof(ifi), NLMSG_ALIGNTO) < 0)
|
|
||||||
goto nla_put_failure
|
|
||||||
|
|
||||||
/* Append a 32 bit integer attribute to carry the MTU */
|
|
||||||
NLA_PUT_U32(msg, IFLA_MTU, mtu);
|
|
||||||
|
|
||||||
/* Append a unspecific attribute to carry the link layer address */
|
|
||||||
NLA_PUT_ADDR(msg, IFLA_ADDRESS, lladdr);
|
|
||||||
|
|
||||||
/* Append a container for nested attributes to carry link information */
|
|
||||||
if (!(info = nla_nest_start(msg, IFLA_LINKINFO)))
|
|
||||||
goto nla_put_failure;
|
|
||||||
|
|
||||||
/* Put a string attribute into the container */
|
|
||||||
NLA_PUT_STRING(msg, IFLA_INFO_KIND, "vlan");
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Append another container inside the open container to carry
|
|
||||||
* vlan specific attributes
|
|
||||||
*/
|
|
||||||
if (!(vlan = nla_nest_start(msg, IFLA_INFO_DATA)))
|
|
||||||
goto nla_put_failure;
|
|
||||||
|
|
||||||
/* add vlan specific info attributes here... */
|
|
||||||
|
|
||||||
/* Finish nesting the vlan attributes and close the second container. */
|
|
||||||
nla_nest_end(msg, vlan);
|
|
||||||
|
|
||||||
/* Finish nesting the link info attribute and close the first container. */
|
|
||||||
nla_nest_end(msg, info);
|
|
||||||
|
|
||||||
return msg;
|
|
||||||
|
|
||||||
nla_put_failure:
|
|
||||||
nlmsg_free(msg);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
|
@ -1,50 +0,0 @@
|
||||||
int parse_message(struct nlmsghdr *hdr)
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
* The policy defines two attributes: a 32 bit integer and a container
|
|
||||||
* for nested attributes.
|
|
||||||
*/
|
|
||||||
struct nla_policy attr_policy[] = {
|
|
||||||
[ATTR_FOO] = { .type = NLA_U32 },
|
|
||||||
[ATTR_BAR] = { .type = NLA_NESTED },
|
|
||||||
};
|
|
||||||
struct nlattr *attrs[ATTR_MAX+1];
|
|
||||||
int err;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The nlmsg_parse() function will make sure that the message contains
|
|
||||||
* enough payload to hold the header (struct my_hdr), validates any
|
|
||||||
* attributes attached to the messages and stores a pointer to each
|
|
||||||
* attribute in the attrs[] array accessable by attribute type.
|
|
||||||
*/
|
|
||||||
if ((err = nlmsg_parse(hdr, sizeof(struct my_hdr), attrs, ATTR_MAX,
|
|
||||||
attr_policy)) < 0)
|
|
||||||
goto errout;
|
|
||||||
|
|
||||||
if (attrs[ATTR_FOO]) {
|
|
||||||
/*
|
|
||||||
* It is safe to directly access the attribute payload without
|
|
||||||
* any further checks since nlmsg_parse() enforced the policy.
|
|
||||||
*/
|
|
||||||
uint32_t foo = nla_get_u32(attrs[ATTR_FOO]);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (attrs[ATTR_BAR]) {
|
|
||||||
struct *nested[NESTED_MAX+1];
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Attributes nested in a container can be parsed the same way
|
|
||||||
* as top level attributes.
|
|
||||||
*/
|
|
||||||
err = nla_parse_nested(nested, NESTED_MAX, attrs[ATTR_BAR],
|
|
||||||
nested_policy);
|
|
||||||
if (err < 0)
|
|
||||||
goto errout;
|
|
||||||
|
|
||||||
// Process nested attributes here.
|
|
||||||
}
|
|
||||||
|
|
||||||
err = 0;
|
|
||||||
errout:
|
|
||||||
return err;
|
|
||||||
}
|
|
|
@ -1,11 +0,0 @@
|
||||||
#include <netlink/msg.h>
|
|
||||||
|
|
||||||
void my_parse(void *stream, int length)
|
|
||||||
{
|
|
||||||
struct nlmsghdr *hdr = stream;
|
|
||||||
|
|
||||||
while (nlmsg_ok(hdr, length)) {
|
|
||||||
// Parse message here
|
|
||||||
hdr = nlmsg_next(hdr, &length);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,14 +0,0 @@
|
||||||
#include <netlink/handlers.h>
|
|
||||||
|
|
||||||
/* Allocate a callback set and initialize it to the verbose default set */
|
|
||||||
struct nl_cb *cb = nl_cb_alloc(NL_CB_VERBOSE);
|
|
||||||
|
|
||||||
/* Modify the set to call my_func() for all valid messages */
|
|
||||||
nl_cb_set(cb, NL_CB_VALID, NL_CB_CUSTOM, my_func, NULL);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Set the error message handler to the verbose default implementation
|
|
||||||
* and direct it to print all errors to the given file descriptor.
|
|
||||||
*/
|
|
||||||
FILE *file = fopen(...);
|
|
||||||
nl_cb_err(cb, NL_CB_VERBOSE, NULL, file);
|
|
|
@ -1,11 +0,0 @@
|
||||||
#include <netlink/netlink.h>
|
|
||||||
|
|
||||||
struct nl_sock *sk;
|
|
||||||
struct rtgenmsg rt_hdr = {
|
|
||||||
.rtgen_family = AF_UNSPEC,
|
|
||||||
};
|
|
||||||
|
|
||||||
sk = nl_socket_alloc();
|
|
||||||
nl_connect(sk, NETLINK_ROUTE);
|
|
||||||
|
|
||||||
nl_send_simple(sock, RTM_GETLINK, NLM_F_DUMP, &rt_hdr, sizeof(rt_hdr));
|
|
|
@ -1,7 +0,0 @@
|
||||||
/* nla_put_flag() appends a zero sized attribute to the message. */
|
|
||||||
nla_put_flag(msg, ATTR_FLAG);
|
|
||||||
|
|
||||||
|
|
||||||
/* There is no need for a receival function, the presence is the value. */
|
|
||||||
if (attrs[ATTR_FLAG])
|
|
||||||
/* flag is present */
|
|
|
@ -1,11 +0,0 @@
|
||||||
#include <netlink/attr.h>
|
|
||||||
|
|
||||||
struct nalttr *nla;
|
|
||||||
int rem;
|
|
||||||
|
|
||||||
nla_for_each_attr(nla, attrstream, streamlen, rem) {
|
|
||||||
/* validate & parse attribute */
|
|
||||||
}
|
|
||||||
|
|
||||||
if (rem > 0)
|
|
||||||
/* unparsed attribute data */
|
|
|
@ -1,16 +0,0 @@
|
||||||
int put_opts(struct nl_msg *msg)
|
|
||||||
{
|
|
||||||
struct nlattr *opts;
|
|
||||||
|
|
||||||
if (!(opts = nla_nest_start(msg, ATTR_OPTS)))
|
|
||||||
goto nla_put_failure;
|
|
||||||
|
|
||||||
NLA_PUT_U32(msg, NESTED_FOO, 123);
|
|
||||||
NLA_PUT_STRING(msg, NESTED_BAR, "some text");
|
|
||||||
|
|
||||||
nla_nest_end(msg, opts);
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
nla_put_failure:
|
|
||||||
return -EMSGSIZE;
|
|
||||||
}
|
|
|
@ -1,10 +0,0 @@
|
||||||
#include <netlink/msg.h>
|
|
||||||
#include <netlink/attr.h>
|
|
||||||
|
|
||||||
struct nlattr *hdr = nlmsg_attrdata(msg, 0);
|
|
||||||
int remaining = nlmsg_attrlen(msg, 0);
|
|
||||||
|
|
||||||
while (nla_ok(hdr, remaining)) {
|
|
||||||
/* parse attribute here */
|
|
||||||
hdr = nla_next(hdr, &remaining);
|
|
||||||
};
|
|
|
@ -1,12 +0,0 @@
|
||||||
if (attrs[ATTR_OPTS]) {
|
|
||||||
struct nlattr *nested[NESTED_MAX+1];
|
|
||||||
struct nla_policy nested_policy[] = {
|
|
||||||
[NESTED_FOO] = { .type = NLA_U32 },
|
|
||||||
};
|
|
||||||
|
|
||||||
if (nla_parse_nested(nested, NESTED_MAX, attrs[ATTR_OPTS], nested_policy) < 0)
|
|
||||||
/* error */
|
|
||||||
|
|
||||||
if (nested[NESTED_FOO])
|
|
||||||
uint32_t val = nla_get_u32(nested[NESTED_FOO]);
|
|
||||||
}
|
|
|
@ -1,14 +0,0 @@
|
||||||
struct my_attr_struct {
|
|
||||||
uint32_t a;
|
|
||||||
uint32_t b;
|
|
||||||
};
|
|
||||||
|
|
||||||
int my_put(struct nl_msg *msg)
|
|
||||||
{
|
|
||||||
struct my_attr_struct obj = {
|
|
||||||
.a = 10,
|
|
||||||
.b = 20,
|
|
||||||
};
|
|
||||||
|
|
||||||
return nla_put(msg, ATTR_MY_STRUCT, sizeof(obj), &obj);
|
|
||||||
}
|
|
|
@ -1,7 +0,0 @@
|
||||||
#include <netlink/msg.h>
|
|
||||||
|
|
||||||
struct nlmsghdr *hdr;
|
|
||||||
|
|
||||||
nlmsg_for_each(hdr, stream, length) {
|
|
||||||
/* do something with message */
|
|
||||||
}
|
|
|
@ -1,29 +0,0 @@
|
||||||
#include <netlink/msg.h>
|
|
||||||
#include <netlink/attr.h>
|
|
||||||
|
|
||||||
enum {
|
|
||||||
MY_ATTR_FOO = 1,
|
|
||||||
MY_ATTR_BAR,
|
|
||||||
__MY_ATTR_MAX,
|
|
||||||
};
|
|
||||||
|
|
||||||
#define MY_ATTR_MAX (__MY_ATTR_MAX - 1)
|
|
||||||
|
|
||||||
static struct nla_policy my_policy[MY_ATTR_MAX+1] = {
|
|
||||||
[MY_ATTR_FOO] = { .type = NLA_U32 },
|
|
||||||
[MY_ATTR_BAR] = { .type = NLA_STRING,
|
|
||||||
.maxlen = 16 },
|
|
||||||
};
|
|
||||||
|
|
||||||
void parse_msg(struct nlmsghdr *nlh)
|
|
||||||
{
|
|
||||||
struct nlattr *attrs[MY_ATTR_MAX+1];
|
|
||||||
|
|
||||||
if (nlmsg_parse(nlh, 0, attrs, MY_ATTR_MAX, my_policy) < 0)
|
|
||||||
/* error */
|
|
||||||
|
|
||||||
if (attrs[MY_ATTR_FOO]) {
|
|
||||||
/* MY_ATTR_FOO is present in message */
|
|
||||||
printf("value: %u\n", nla_get_u32(attrs[MY_ATTR_FOO]));
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,31 +0,0 @@
|
||||||
#include <netlink/msg.h>
|
|
||||||
|
|
||||||
struct nlmsghdr *hdr;
|
|
||||||
struct nl_msg *msg;
|
|
||||||
struct myhdr {
|
|
||||||
uint32_t foo1, foo2;
|
|
||||||
} hdr = { 10, 20 };
|
|
||||||
|
|
||||||
/* Allocate a message with the default maximum message size */
|
|
||||||
msg = nlmsg_alloc();
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Add header with message type MY_MSGTYPE, the flag NLM_F_CREATE,
|
|
||||||
* let library fill port and sequence number, and reserve room for
|
|
||||||
* struct myhdr
|
|
||||||
*/
|
|
||||||
hdr = nlmsg_put(msg, NL_AUTO_PORT, NL_AUTO_SEQ, MY_MSGTYPE, sizeof(hdr), NLM_F_CREATE);
|
|
||||||
|
|
||||||
/* Copy own header into newly reserved payload section */
|
|
||||||
memcpy(nlmsg_data(hdr), &hdr, sizeof(hdr));
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The message will now look like this:
|
|
||||||
* +-------------------+- - -+----------------+- - -+
|
|
||||||
* | struct nlmsghdr | Pad | struct myhdr | Pad |
|
|
||||||
* +-------------------+-----+----------------+- - -+
|
|
||||||
* nlh -^ / \
|
|
||||||
* +--------+---------+
|
|
||||||
* | foo1 | foo2 |
|
|
||||||
* +--------+---------+
|
|
||||||
*/
|
|
|
@ -1,43 +0,0 @@
|
||||||
#include <netlink/netlink.h>
|
|
||||||
#include <netlink/socket.h>
|
|
||||||
#include <netlink/msg.h>
|
|
||||||
|
|
||||||
/*
|
|
||||||
* This function will be called for each valid netlink message received
|
|
||||||
* in nl_recvmsgs_default()
|
|
||||||
*/
|
|
||||||
static int my_func(struct nl_msg *msg, void *arg)
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
struct nl_sock *sk;
|
|
||||||
|
|
||||||
/* Allocate a new socket */
|
|
||||||
sk = nl_socket_alloc();
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Notifications do not use sequence numbers, disable sequence number
|
|
||||||
* checking.
|
|
||||||
*/
|
|
||||||
nl_socket_disable_seq_check(sk);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Define a callback function, which will be called for each notification
|
|
||||||
* received
|
|
||||||
*/
|
|
||||||
nl_socket_modify_cb(sk, NL_CB_VALID, NL_CB_CUSTOM, my_func, NULL);
|
|
||||||
|
|
||||||
/* Connect to routing netlink protocol */
|
|
||||||
nl_connect(sk, NETLINK_ROUTE);
|
|
||||||
|
|
||||||
/* Subscribe to link notifications group */
|
|
||||||
nl_socket_add_memberships(sk, RTNLGRP_LINK);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Start receiving messages. The function nl_recvmsgs_default() will block
|
|
||||||
* until one or more netlink messages (notification) are received which
|
|
||||||
* will be passed on to my_func().
|
|
||||||
*/
|
|
||||||
while (1)
|
|
||||||
nl_recvmsgs_default(sock);
|
|
|
@ -1,10 +0,0 @@
|
||||||
/**
|
|
||||||
* \cond skip
|
|
||||||
* vim:syntax=doxygen
|
|
||||||
* \endcond
|
|
||||||
|
|
||||||
\page genl_doc Generic Netlink Library (-lnl-genl)
|
|
||||||
|
|
||||||
\section genl_intro Introduction
|
|
||||||
|
|
||||||
*/
|
|
|
@ -0,0 +1,42 @@
|
||||||
|
/**
|
||||||
|
* \cond skip
|
||||||
|
* vim:syntax=doxygen
|
||||||
|
* \endcond
|
||||||
|
|
||||||
|
\page auto_ack_warning Disabling Auto-ACK
|
||||||
|
|
||||||
|
\attention Disabling Auto-ACK (nl_socket_disable_auto_ack()) will cause this
|
||||||
|
function to return immediately after sending the netlink message.
|
||||||
|
The function will not wait for an eventual error message. It is
|
||||||
|
the responsibility of the caller to handle any error messages or
|
||||||
|
ACKs returned.
|
||||||
|
|
||||||
|
\page pointer_lifetime_warning Pointer Lifetime
|
||||||
|
|
||||||
|
\attention The reference counter of the returned object is not incremented.
|
||||||
|
Therefore, the returned pointer is only valid during the lifetime
|
||||||
|
of the parent object. Increment the reference counter if the object
|
||||||
|
is supposed to stay around after the parent object was freed.
|
||||||
|
|
||||||
|
\page private_struct Private Structure
|
||||||
|
|
||||||
|
\note The definition of this structure is private to allow modification
|
||||||
|
without breaking API. Use the designated accessor functions to
|
||||||
|
access individual object attributes.
|
||||||
|
|
||||||
|
\page read_only_attribute Read-Only Attribute
|
||||||
|
|
||||||
|
\note The attribute this accessor is modifying is a read-only attribute
|
||||||
|
which can not be modified in the kernel. Any changes to the
|
||||||
|
attribute only have an effect on the local copy of the object. The
|
||||||
|
accessor function is provided solely for the purpose of creating
|
||||||
|
objects for comparison and filtering.
|
||||||
|
|
||||||
|
\page low_level_api Low Level API
|
||||||
|
|
||||||
|
\note This is a low level API function. A high level function implementing
|
||||||
|
the same functionality with a simplified usage pattern exists. This
|
||||||
|
function is available as an alternative if the default library
|
||||||
|
behaviour is not desirable.
|
||||||
|
|
||||||
|
*/
|
10
doc/src/nf.c
|
@ -1,10 +0,0 @@
|
||||||
/**
|
|
||||||
* \cond skip
|
|
||||||
* vim:syntax=doxygen
|
|
||||||
* \endcond
|
|
||||||
|
|
||||||
\page nf_doc Netfilter Netlink Library (-lnl-nf)
|
|
||||||
|
|
||||||
\section nf_intro Introduction
|
|
||||||
|
|
||||||
*/
|
|
|
@ -1,10 +0,0 @@
|
||||||
/**
|
|
||||||
* \cond skip
|
|
||||||
* vim:syntax=doxygen
|
|
||||||
* \endcond
|
|
||||||
|
|
||||||
\page route_doc Routing Netlink Library (-lnl-route)
|
|
||||||
|
|
||||||
\section route_intro Introduction
|
|
||||||
|
|
||||||
*/
|
|
|
@ -9,11 +9,11 @@
|
||||||
|
|
||||||
libnl is a set of libraries to deal with the netlink protocol and some
|
libnl is a set of libraries to deal with the netlink protocol and some
|
||||||
of the high level protocols implemented on top of it. The goal is to
|
of the high level protocols implemented on top of it. The goal is to
|
||||||
provide APIs on different levels of abstraction. The core library libnl.so
|
provide APIs on different levels of abstraction. The core library libnl
|
||||||
provides a fundamental set of functions to deal with sockets, construct
|
provides a fundamental set of functions to deal with sockets, construct
|
||||||
messages, and send/receive those messages. Additional high level interfaces
|
messages, and send/receive those messages. Additional high level interfaces
|
||||||
for several individual netlink protocols are provided in separate
|
for several individual netlink protocols are provided in separate
|
||||||
libraries (e.g. \ref route_doc "nl-route.so", \ref genl_doc "nl-genl.so", ...).
|
libraries (e.g. "nl-route", "nl-genl", ...).
|
||||||
|
|
||||||
The library is designed to ensure that all components are optional, i.e.
|
The library is designed to ensure that all components are optional, i.e.
|
||||||
even though the core library provides a caching system which allows to
|
even though the core library provides a caching system which allows to
|
||||||
|
@ -28,26 +28,14 @@ version is used with a considerably older kernel.
|
||||||
|
|
||||||
\section main_toc Table of Contents
|
\section main_toc Table of Contents
|
||||||
|
|
||||||
- \subpage core_doc "1. Netlink Core Library (-lnl)"
|
|
||||||
- \subpage route_doc "2. Routing Netlink Library (-lnl-route)"
|
|
||||||
- \subpage genl_doc "3. Generic Netlink Library (-lnl-genl)"
|
|
||||||
- \subpage nf_doc "4. Netfilter Netlink Library (-lnl-nf)"
|
|
||||||
|
|
||||||
\section main_trees GIT Trees
|
\section main_trees GIT Trees
|
||||||
|
|
||||||
\subsection tree_dev Development Tree
|
\subsection tree_dev Development Tree
|
||||||
|
|
||||||
@code
|
@code
|
||||||
git://git.kernel.org/pub/scm/libs/netlink/libnl.git
|
git://git.infradead.org/users/tgr/libnl.git
|
||||||
@endcode
|
@endcode
|
||||||
- Web: http://www.kernel.org/pub/scm/libs/netlink/libnl.git
|
- Web: http://git.infradead.org/users/tgr/libnl.git
|
||||||
|
|
||||||
\subsection tree_stable Stable Tree
|
|
||||||
|
|
||||||
@code
|
|
||||||
git://git.kernel.org/pub/scm/libs/netlink/libnl-stable.git
|
|
||||||
@endcode
|
|
||||||
- Web: http://www.kernel.org/pub/scm/libs/netlink/libnl-stable.git
|
|
||||||
|
|
||||||
\section main_website Website
|
\section main_website Website
|
||||||
|
|
||||||
|
@ -55,7 +43,7 @@ git://git.kernel.org/pub/scm/libs/netlink/libnl-stable.git
|
||||||
|
|
||||||
\section main_mailinglist Mailinglist
|
\section main_mailinglist Mailinglist
|
||||||
|
|
||||||
Please post question and patches to the libnl mailinglist:
|
Please post questions and patches to the libnl mailinglist:
|
||||||
|
|
||||||
@code
|
@code
|
||||||
libnl@lists.infradead.org
|
libnl@lists.infradead.org
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
/* Overrides for manpage documents */
|
||||||
|
h1 {
|
||||||
|
padding-top: 0.5em;
|
||||||
|
padding-bottom: 0.5em;
|
||||||
|
border-top: 2px solid silver;
|
||||||
|
border-bottom: 2px solid silver;
|
||||||
|
}
|
||||||
|
h2 {
|
||||||
|
border-style: none;
|
||||||
|
}
|
||||||
|
div.sectionbody {
|
||||||
|
margin-left: 3em;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media print {
|
||||||
|
div#toc { display: none; }
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,526 @@
|
||||||
|
/* Shared CSS for AsciiDoc xhtml11 and html5 backends */
|
||||||
|
|
||||||
|
/* Default font. */
|
||||||
|
body {
|
||||||
|
font-family: Georgia,serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Title font. */
|
||||||
|
h1, h2, h3, h4, h5, h6,
|
||||||
|
div.title, caption.title,
|
||||||
|
thead, p.table.header,
|
||||||
|
#toctitle,
|
||||||
|
#author, #revnumber, #revdate, #revremark,
|
||||||
|
#footer {
|
||||||
|
/* OLD: font-family: Arial,Helvetica,sans-serif; */
|
||||||
|
font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
margin: 1em 5% 1em 5%;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
/* color: blue; */
|
||||||
|
color: #990000;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
a:visited {
|
||||||
|
/* color: fuchsia; */
|
||||||
|
}
|
||||||
|
|
||||||
|
a:hover {
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
em {
|
||||||
|
font-style: italic;
|
||||||
|
/* color: navy; */
|
||||||
|
}
|
||||||
|
|
||||||
|
strong {
|
||||||
|
font-weight: bold;
|
||||||
|
color: black;
|
||||||
|
/* color: #083194; */
|
||||||
|
}
|
||||||
|
|
||||||
|
h1, h2, h3, h4, h5, h6 {
|
||||||
|
/* color: #527bbd; */
|
||||||
|
color: #990000;
|
||||||
|
margin-top: 1.2em;
|
||||||
|
margin-bottom: 0.5em;
|
||||||
|
line-height: 1.3;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1, h2, h3 {
|
||||||
|
border-bottom: 2px solid silver;
|
||||||
|
}
|
||||||
|
h2 {
|
||||||
|
padding-top: 0.5em;
|
||||||
|
}
|
||||||
|
h3 {
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
h3 + * {
|
||||||
|
clear: left;
|
||||||
|
}
|
||||||
|
h5 {
|
||||||
|
font-size: 1.0em;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.sectionbody {
|
||||||
|
margin-left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
hr {
|
||||||
|
border: 1px solid silver;
|
||||||
|
}
|
||||||
|
|
||||||
|
p {
|
||||||
|
margin-top: 0.5em;
|
||||||
|
margin-bottom: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul, ol, li > p {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
ul > li { color: #aaa; }
|
||||||
|
ul > li > * { color: black; }
|
||||||
|
|
||||||
|
pre {
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#author {
|
||||||
|
/* color: #527bbd; */
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 1.1em;
|
||||||
|
}
|
||||||
|
#email {
|
||||||
|
}
|
||||||
|
#revnumber, #revdate, #revremark {
|
||||||
|
}
|
||||||
|
|
||||||
|
#footer {
|
||||||
|
font-size: small;
|
||||||
|
border-top: 2px solid silver;
|
||||||
|
padding-top: 0.5em;
|
||||||
|
margin-top: 4.0em;
|
||||||
|
}
|
||||||
|
#footer-text {
|
||||||
|
float: left;
|
||||||
|
padding-bottom: 0.5em;
|
||||||
|
}
|
||||||
|
#footer-badges {
|
||||||
|
float: right;
|
||||||
|
padding-bottom: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
#preamble {
|
||||||
|
margin-top: 1.5em;
|
||||||
|
margin-bottom: 1.5em;
|
||||||
|
}
|
||||||
|
div.imageblock, div.exampleblock, div.verseblock,
|
||||||
|
div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
|
||||||
|
div.admonitionblock {
|
||||||
|
margin-top: 1.0em;
|
||||||
|
margin-bottom: 1.5em;
|
||||||
|
}
|
||||||
|
div.admonitionblock {
|
||||||
|
margin-top: 2.0em;
|
||||||
|
margin-bottom: 2.0em;
|
||||||
|
margin-right: 10%;
|
||||||
|
/* color: #606060; */
|
||||||
|
}
|
||||||
|
|
||||||
|
div.content { /* Block element content. */
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Block element titles. */
|
||||||
|
div.title, caption.title {
|
||||||
|
/* OLD: color: #527bbd; */
|
||||||
|
color: #990000;
|
||||||
|
font-weight: bold;
|
||||||
|
text-align: left;
|
||||||
|
margin-top: 1.0em;
|
||||||
|
margin-bottom: 0.5em;
|
||||||
|
}
|
||||||
|
div.title + * {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
td div.title:first-child {
|
||||||
|
margin-top: 0.0em;
|
||||||
|
}
|
||||||
|
div.content div.title:first-child {
|
||||||
|
margin-top: 0.0em;
|
||||||
|
}
|
||||||
|
div.content + div.title {
|
||||||
|
margin-top: 0.0em;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.sidebarblock > div.content {
|
||||||
|
background: #ffffee;
|
||||||
|
border: 1px solid #dddddd;
|
||||||
|
border-left: 4px solid #f0f0f0;
|
||||||
|
padding: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.listingblock > div.content {
|
||||||
|
border: 1px solid #dddddd;
|
||||||
|
/* border-left: 5px solid #f0f0f0; */
|
||||||
|
background: #f8f8f8;
|
||||||
|
padding: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.quoteblock, div.verseblock {
|
||||||
|
padding-left: 1.0em;
|
||||||
|
margin-left: 1.0em;
|
||||||
|
margin-right: 10%;
|
||||||
|
border-left: 5px solid #f0f0f0;
|
||||||
|
color: #777777;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.quoteblock > div.attribution {
|
||||||
|
padding-top: 0.5em;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.verseblock > pre.content {
|
||||||
|
font-family: inherit;
|
||||||
|
font-size: inherit;
|
||||||
|
}
|
||||||
|
div.verseblock > div.attribution {
|
||||||
|
padding-top: 0.75em;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
|
||||||
|
div.verseblock + div.attribution {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.admonitionblock .icon {
|
||||||
|
vertical-align: top;
|
||||||
|
font-size: 1.1em;
|
||||||
|
font-weight: bold;
|
||||||
|
text-decoration: underline;
|
||||||
|
/* OLD: color: #527bbd; */
|
||||||
|
color: #990000;
|
||||||
|
padding-right: 0.5em;
|
||||||
|
}
|
||||||
|
div.admonitionblock td.content {
|
||||||
|
padding-left: 0.5em;
|
||||||
|
border-left: 3px solid #dddddd;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.exampleblock > div.content {
|
||||||
|
border-left: 3px solid #dddddd;
|
||||||
|
padding-left: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.imageblock div.content { padding-left: 0; }
|
||||||
|
span.image img { border-style: none; }
|
||||||
|
a.image:visited { color: white; }
|
||||||
|
|
||||||
|
dl {
|
||||||
|
margin-top: 0.8em;
|
||||||
|
margin-bottom: 0.8em;
|
||||||
|
}
|
||||||
|
dt {
|
||||||
|
margin-top: 0.5em;
|
||||||
|
margin-bottom: 0;
|
||||||
|
font-style: normal;
|
||||||
|
color: navy;
|
||||||
|
}
|
||||||
|
dd > *:first-child {
|
||||||
|
margin-top: 0.1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul, ol {
|
||||||
|
list-style-position: outside;
|
||||||
|
}
|
||||||
|
ol.arabic {
|
||||||
|
list-style-type: decimal;
|
||||||
|
}
|
||||||
|
ol.loweralpha {
|
||||||
|
list-style-type: lower-alpha;
|
||||||
|
}
|
||||||
|
ol.upperalpha {
|
||||||
|
list-style-type: upper-alpha;
|
||||||
|
}
|
||||||
|
ol.lowerroman {
|
||||||
|
list-style-type: lower-roman;
|
||||||
|
}
|
||||||
|
ol.upperroman {
|
||||||
|
list-style-type: upper-roman;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.compact ul, div.compact ol,
|
||||||
|
div.compact p, div.compact p,
|
||||||
|
div.compact div, div.compact div {
|
||||||
|
margin-top: 0.1em;
|
||||||
|
margin-bottom: 0.1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
tfoot {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
td > div.verse {
|
||||||
|
white-space: pre;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.hdlist {
|
||||||
|
margin-top: 0.8em;
|
||||||
|
margin-bottom: 0.8em;
|
||||||
|
}
|
||||||
|
div.hdlist tr {
|
||||||
|
padding-bottom: 15px;
|
||||||
|
}
|
||||||
|
dt.hdlist1.strong, td.hdlist1.strong {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
td.hdlist1 {
|
||||||
|
vertical-align: top;
|
||||||
|
font-style: normal;
|
||||||
|
padding-right: 0.8em;
|
||||||
|
/* color: navy; */
|
||||||
|
color: #990000;
|
||||||
|
}
|
||||||
|
td.hdlist2 {
|
||||||
|
vertical-align: top;
|
||||||
|
}
|
||||||
|
div.hdlist.compact tr {
|
||||||
|
margin: 0;
|
||||||
|
padding-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.comment {
|
||||||
|
background: yellow;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footnote, .footnoteref {
|
||||||
|
font-size: 0.8em;
|
||||||
|
}
|
||||||
|
|
||||||
|
span.footnote, span.footnoteref {
|
||||||
|
vertical-align: super;
|
||||||
|
}
|
||||||
|
|
||||||
|
#footnotes {
|
||||||
|
margin: 20px 0 20px 0;
|
||||||
|
padding: 7px 0 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#footnotes div.footnote {
|
||||||
|
margin: 0 0 5px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#footnotes hr {
|
||||||
|
border: none;
|
||||||
|
border-top: 1px solid silver;
|
||||||
|
height: 1px;
|
||||||
|
text-align: left;
|
||||||
|
margin-left: 0;
|
||||||
|
width: 20%;
|
||||||
|
min-width: 100px;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.colist td {
|
||||||
|
padding-right: 0.5em;
|
||||||
|
padding-bottom: 0.3em;
|
||||||
|
vertical-align: top;
|
||||||
|
}
|
||||||
|
div.colist td img {
|
||||||
|
margin-top: 0.3em;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media print {
|
||||||
|
#footer-badges { display: none; }
|
||||||
|
}
|
||||||
|
|
||||||
|
#toc {
|
||||||
|
margin-bottom: 2.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
#toctitle {
|
||||||
|
/* color: #527bbd; */
|
||||||
|
color: #990000;
|
||||||
|
font-size: 1.1em;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-top: 1.0em;
|
||||||
|
margin-bottom: 0.1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
|
||||||
|
margin-top: 0;
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
div.toclevel2 {
|
||||||
|
margin-left: 2em;
|
||||||
|
font-size: 0.9em;
|
||||||
|
}
|
||||||
|
div.toclevel3 {
|
||||||
|
margin-left: 4em;
|
||||||
|
font-size: 0.9em;
|
||||||
|
}
|
||||||
|
div.toclevel4 {
|
||||||
|
margin-left: 6em;
|
||||||
|
font-size: 0.9em;
|
||||||
|
}
|
||||||
|
|
||||||
|
span.aqua { color: aqua; }
|
||||||
|
span.black { color: black; }
|
||||||
|
span.blue { color: blue; }
|
||||||
|
span.fuchsia { color: fuchsia; }
|
||||||
|
span.gray { color: gray; }
|
||||||
|
span.green { color: green; }
|
||||||
|
span.lime { color: lime; }
|
||||||
|
span.maroon { color: maroon; }
|
||||||
|
span.navy { color: navy; }
|
||||||
|
span.olive { color: olive; }
|
||||||
|
span.purple { color: purple; }
|
||||||
|
span.red { color: red; }
|
||||||
|
span.silver { color: silver; }
|
||||||
|
span.teal { color: teal; }
|
||||||
|
span.white { color: white; }
|
||||||
|
span.yellow { color: yellow; }
|
||||||
|
|
||||||
|
span.aqua-background { background: aqua; }
|
||||||
|
span.black-background { background: black; }
|
||||||
|
span.blue-background { background: blue; }
|
||||||
|
span.fuchsia-background { background: fuchsia; }
|
||||||
|
span.gray-background { background: gray; }
|
||||||
|
span.green-background { background: green; }
|
||||||
|
span.lime-background { background: lime; }
|
||||||
|
span.maroon-background { background: maroon; }
|
||||||
|
span.navy-background { background: navy; }
|
||||||
|
span.olive-background { background: olive; }
|
||||||
|
span.purple-background { background: purple; }
|
||||||
|
span.red-background { background: red; }
|
||||||
|
span.silver-background { background: silver; }
|
||||||
|
span.teal-background { background: teal; }
|
||||||
|
span.white-background { background: white; }
|
||||||
|
span.yellow-background { background: yellow; }
|
||||||
|
|
||||||
|
span.big { font-size: 2em; }
|
||||||
|
span.small { font-size: 0.6em; }
|
||||||
|
|
||||||
|
span.underline { text-decoration: underline; }
|
||||||
|
span.overline { text-decoration: overline; }
|
||||||
|
span.line-through { text-decoration: line-through; }
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* xhtml11 specific
|
||||||
|
*
|
||||||
|
* */
|
||||||
|
|
||||||
|
tt {
|
||||||
|
font-family: monospace;
|
||||||
|
font-size: inherit;
|
||||||
|
/* color: navy; */
|
||||||
|
color: black;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.tableblock {
|
||||||
|
margin-top: 1.0em;
|
||||||
|
margin-bottom: 1.5em;
|
||||||
|
}
|
||||||
|
div.tableblock > table {
|
||||||
|
/* border: 3px solid #527bbd; */
|
||||||
|
border: 2px solid #990000;
|
||||||
|
}
|
||||||
|
thead, p.table.header {
|
||||||
|
font-weight: bold;
|
||||||
|
/* color: #527bbd; */
|
||||||
|
color: #990000;
|
||||||
|
}
|
||||||
|
p.table {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
/* Because the table frame attribute is overriden by CSS in most browsers. */
|
||||||
|
div.tableblock > table[frame="void"] {
|
||||||
|
border-style: none;
|
||||||
|
}
|
||||||
|
div.tableblock > table[frame="hsides"] {
|
||||||
|
border-left-style: none;
|
||||||
|
border-right-style: none;
|
||||||
|
}
|
||||||
|
div.tableblock > table[frame="vsides"] {
|
||||||
|
border-top-style: none;
|
||||||
|
border-bottom-style: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* html5 specific
|
||||||
|
*
|
||||||
|
* */
|
||||||
|
|
||||||
|
.monospaced {
|
||||||
|
font-family: monospace;
|
||||||
|
font-size: inherit;
|
||||||
|
color: navy;
|
||||||
|
}
|
||||||
|
|
||||||
|
table.tableblock {
|
||||||
|
margin-top: 1.0em;
|
||||||
|
margin-bottom: 1.5em;
|
||||||
|
}
|
||||||
|
thead, p.tableblock.header {
|
||||||
|
font-weight: bold;
|
||||||
|
/* color: #527bbd; */
|
||||||
|
color: #990000;
|
||||||
|
}
|
||||||
|
p.tableblock {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
table.tableblock {
|
||||||
|
border-width: 3px;
|
||||||
|
border-spacing: 0px;
|
||||||
|
border-style: solid;
|
||||||
|
/* border-color: #527bbd; */
|
||||||
|
border-color: #990000;
|
||||||
|
border-collapse: collapse;
|
||||||
|
}
|
||||||
|
th.tableblock, td.tableblock {
|
||||||
|
border-width: 1px;
|
||||||
|
padding: 4px;
|
||||||
|
border-style: solid;
|
||||||
|
/* border-color: #527bbd; */
|
||||||
|
border-color: #990000;
|
||||||
|
}
|
||||||
|
|
||||||
|
table.tableblock.frame-topbot {
|
||||||
|
border-left-style: hidden;
|
||||||
|
border-right-style: hidden;
|
||||||
|
}
|
||||||
|
table.tableblock.frame-sides {
|
||||||
|
border-top-style: hidden;
|
||||||
|
border-bottom-style: hidden;
|
||||||
|
}
|
||||||
|
table.tableblock.frame-none {
|
||||||
|
border-style: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
th.tableblock.halign-left, td.tableblock.halign-left {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
th.tableblock.halign-center, td.tableblock.halign-center {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
th.tableblock.halign-right, td.tableblock.halign-right {
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
th.tableblock.valign-top, td.tableblock.valign-top {
|
||||||
|
vertical-align: top;
|
||||||
|
}
|
||||||
|
th.tableblock.valign-middle, td.tableblock.valign-middle {
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
th.tableblock.valign-bottom, td.tableblock.valign-bottom {
|
||||||
|
vertical-align: bottom;
|
||||||
|
}
|
|
@ -0,0 +1,322 @@
|
||||||
|
/*
|
||||||
|
CSS stylesheet for XHTML produced by DocBook XSL stylesheets.
|
||||||
|
Tested with XSL stylesheets 1.61.2, 1.67.2
|
||||||
|
*/
|
||||||
|
|
||||||
|
span.strong {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
body blockquote {
|
||||||
|
margin-top: .75em;
|
||||||
|
line-height: 1.5;
|
||||||
|
margin-bottom: .75em;
|
||||||
|
}
|
||||||
|
|
||||||
|
html body {
|
||||||
|
margin: 1em 5% 1em 5%;
|
||||||
|
line-height: 1.2;
|
||||||
|
}
|
||||||
|
|
||||||
|
body div {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1, h2, h3, h4, h5, h6
|
||||||
|
{
|
||||||
|
color: #527bbd;
|
||||||
|
font-family: tahoma, verdana, sans-serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.toc p:first-child,
|
||||||
|
div.list-of-figures p:first-child,
|
||||||
|
div.list-of-tables p:first-child,
|
||||||
|
div.list-of-examples p:first-child,
|
||||||
|
div.example p.title,
|
||||||
|
div.sidebar p.title
|
||||||
|
{
|
||||||
|
font-weight: bold;
|
||||||
|
color: #527bbd;
|
||||||
|
font-family: tahoma, verdana, sans-serif;
|
||||||
|
margin-bottom: 0.2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
body h1 {
|
||||||
|
margin: .0em 0 0 -4%;
|
||||||
|
line-height: 1.3;
|
||||||
|
border-bottom: 2px solid silver;
|
||||||
|
}
|
||||||
|
|
||||||
|
body h2 {
|
||||||
|
margin: 0.5em 0 0 -4%;
|
||||||
|
line-height: 1.3;
|
||||||
|
border-bottom: 2px solid silver;
|
||||||
|
}
|
||||||
|
|
||||||
|
body h3 {
|
||||||
|
margin: .8em 0 0 -3%;
|
||||||
|
line-height: 1.3;
|
||||||
|
}
|
||||||
|
|
||||||
|
body h4 {
|
||||||
|
margin: .8em 0 0 -3%;
|
||||||
|
line-height: 1.3;
|
||||||
|
}
|
||||||
|
|
||||||
|
body h5 {
|
||||||
|
margin: .8em 0 0 -2%;
|
||||||
|
line-height: 1.3;
|
||||||
|
}
|
||||||
|
|
||||||
|
body h6 {
|
||||||
|
margin: .8em 0 0 -1%;
|
||||||
|
line-height: 1.3;
|
||||||
|
}
|
||||||
|
|
||||||
|
body hr {
|
||||||
|
border: none; /* Broken on IE6 */
|
||||||
|
}
|
||||||
|
div.footnotes hr {
|
||||||
|
border: 1px solid silver;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.navheader th, div.navheader td, div.navfooter td {
|
||||||
|
font-family: sans-serif;
|
||||||
|
font-size: 0.9em;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #527bbd;
|
||||||
|
}
|
||||||
|
div.navheader img, div.navfooter img {
|
||||||
|
border-style: none;
|
||||||
|
}
|
||||||
|
div.navheader a, div.navfooter a {
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
div.navfooter hr {
|
||||||
|
border: 1px solid silver;
|
||||||
|
}
|
||||||
|
|
||||||
|
body td {
|
||||||
|
line-height: 1.2
|
||||||
|
}
|
||||||
|
|
||||||
|
body th {
|
||||||
|
line-height: 1.2;
|
||||||
|
}
|
||||||
|
|
||||||
|
ol {
|
||||||
|
line-height: 1.2;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul, body dir, body menu {
|
||||||
|
line-height: 1.2;
|
||||||
|
}
|
||||||
|
|
||||||
|
html {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
body h1, body h2, body h3, body h4, body h5, body h6 {
|
||||||
|
margin-left: 0
|
||||||
|
}
|
||||||
|
|
||||||
|
body pre {
|
||||||
|
margin: 0.5em 10% 0.5em 1em;
|
||||||
|
line-height: 1.0;
|
||||||
|
color: navy;
|
||||||
|
}
|
||||||
|
|
||||||
|
tt.literal, code.literal {
|
||||||
|
color: navy;
|
||||||
|
}
|
||||||
|
|
||||||
|
.programlisting, .screen {
|
||||||
|
border: 1px solid silver;
|
||||||
|
background: #f4f4f4;
|
||||||
|
margin: 0.5em 10% 0.5em 0;
|
||||||
|
padding: 0.5em 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.sidebar {
|
||||||
|
background: #ffffee;
|
||||||
|
margin: 1.0em 10% 0.5em 0;
|
||||||
|
padding: 0.5em 1em;
|
||||||
|
border: 1px solid silver;
|
||||||
|
}
|
||||||
|
div.sidebar * { padding: 0; }
|
||||||
|
div.sidebar div { margin: 0; }
|
||||||
|
div.sidebar p.title {
|
||||||
|
margin-top: 0.5em;
|
||||||
|
margin-bottom: 0.2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.bibliomixed {
|
||||||
|
margin: 0.5em 5% 0.5em 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.glossary dt {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
div.glossary dd p {
|
||||||
|
margin-top: 0.2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
dl {
|
||||||
|
margin: .8em 0;
|
||||||
|
line-height: 1.2;
|
||||||
|
}
|
||||||
|
|
||||||
|
dt {
|
||||||
|
margin-top: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
dt span.term {
|
||||||
|
font-style: normal;
|
||||||
|
color: navy;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.variablelist dd p {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.itemizedlist li, div.orderedlist li {
|
||||||
|
margin-left: -0.8em;
|
||||||
|
margin-top: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul, ol {
|
||||||
|
list-style-position: outside;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.sidebar ul, div.sidebar ol {
|
||||||
|
margin-left: 2.8em;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.itemizedlist p.title,
|
||||||
|
div.orderedlist p.title,
|
||||||
|
div.variablelist p.title
|
||||||
|
{
|
||||||
|
margin-bottom: -0.8em;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.revhistory table {
|
||||||
|
border-collapse: collapse;
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
div.revhistory th {
|
||||||
|
border: none;
|
||||||
|
color: #527bbd;
|
||||||
|
font-family: tahoma, verdana, sans-serif;
|
||||||
|
}
|
||||||
|
div.revhistory td {
|
||||||
|
border: 1px solid silver;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Keep TOC and index lines close together. */
|
||||||
|
div.toc dl, div.toc dt,
|
||||||
|
div.list-of-figures dl, div.list-of-figures dt,
|
||||||
|
div.list-of-tables dl, div.list-of-tables dt,
|
||||||
|
div.indexdiv dl, div.indexdiv dt
|
||||||
|
{
|
||||||
|
line-height: normal;
|
||||||
|
margin-top: 0;
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
Table styling does not work because of overriding attributes in
|
||||||
|
generated HTML.
|
||||||
|
*/
|
||||||
|
div.table table,
|
||||||
|
div.informaltable table
|
||||||
|
{
|
||||||
|
margin-left: 0;
|
||||||
|
margin-right: 5%;
|
||||||
|
margin-bottom: 0.8em;
|
||||||
|
}
|
||||||
|
div.informaltable table
|
||||||
|
{
|
||||||
|
margin-top: 0.4em
|
||||||
|
}
|
||||||
|
div.table thead,
|
||||||
|
div.table tfoot,
|
||||||
|
div.table tbody,
|
||||||
|
div.informaltable thead,
|
||||||
|
div.informaltable tfoot,
|
||||||
|
div.informaltable tbody
|
||||||
|
{
|
||||||
|
/* No effect in IE6. */
|
||||||
|
border-top: 3px solid #527bbd;
|
||||||
|
border-bottom: 3px solid #527bbd;
|
||||||
|
}
|
||||||
|
div.table thead, div.table tfoot,
|
||||||
|
div.informaltable thead, div.informaltable tfoot
|
||||||
|
{
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.mediaobject img {
|
||||||
|
margin-bottom: 0.8em;
|
||||||
|
}
|
||||||
|
div.figure p.title,
|
||||||
|
div.table p.title
|
||||||
|
{
|
||||||
|
margin-top: 1em;
|
||||||
|
margin-bottom: 0.4em;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.calloutlist p
|
||||||
|
{
|
||||||
|
margin-top: 0em;
|
||||||
|
margin-bottom: 0.4em;
|
||||||
|
}
|
||||||
|
|
||||||
|
a img {
|
||||||
|
border-style: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media print {
|
||||||
|
div.navheader, div.navfooter { display: none; }
|
||||||
|
}
|
||||||
|
|
||||||
|
span.aqua { color: aqua; }
|
||||||
|
span.black { color: black; }
|
||||||
|
span.blue { color: blue; }
|
||||||
|
span.fuchsia { color: fuchsia; }
|
||||||
|
span.gray { color: gray; }
|
||||||
|
span.green { color: green; }
|
||||||
|
span.lime { color: lime; }
|
||||||
|
span.maroon { color: maroon; }
|
||||||
|
span.navy { color: navy; }
|
||||||
|
span.olive { color: olive; }
|
||||||
|
span.purple { color: purple; }
|
||||||
|
span.red { color: red; }
|
||||||
|
span.silver { color: silver; }
|
||||||
|
span.teal { color: teal; }
|
||||||
|
span.white { color: white; }
|
||||||
|
span.yellow { color: yellow; }
|
||||||
|
|
||||||
|
span.aqua-background { background: aqua; }
|
||||||
|
span.black-background { background: black; }
|
||||||
|
span.blue-background { background: blue; }
|
||||||
|
span.fuchsia-background { background: fuchsia; }
|
||||||
|
span.gray-background { background: gray; }
|
||||||
|
span.green-background { background: green; }
|
||||||
|
span.lime-background { background: lime; }
|
||||||
|
span.maroon-background { background: maroon; }
|
||||||
|
span.navy-background { background: navy; }
|
||||||
|
span.olive-background { background: olive; }
|
||||||
|
span.purple-background { background: purple; }
|
||||||
|
span.red-background { background: red; }
|
||||||
|
span.silver-background { background: silver; }
|
||||||
|
span.teal-background { background: teal; }
|
||||||
|
span.white-background { background: white; }
|
||||||
|
span.yellow-background { background: yellow; }
|
||||||
|
|
||||||
|
span.big { font-size: 2em; }
|
||||||
|
span.small { font-size: 0.6em; }
|
||||||
|
|
||||||
|
span.underline { text-decoration: underline; }
|
||||||
|
span.overline { text-decoration: overline; }
|
||||||
|
span.line-through { text-decoration: line-through; }
|
|
@ -0,0 +1 @@
|
||||||
|
/* Empty placeholder file */
|
|
@ -0,0 +1,584 @@
|
||||||
|
/*
|
||||||
|
* AsciiDoc 'flask' theme for xhtml11 and html5 backends. A shameless knock-off
|
||||||
|
* of the Flask website styling (http://flask.pocoo.org/docs/).
|
||||||
|
*
|
||||||
|
* The implementation is straight-forward, consisting of the asciidoc.css file
|
||||||
|
* followed by theme specific overrides.
|
||||||
|
*
|
||||||
|
* */
|
||||||
|
|
||||||
|
|
||||||
|
/* Shared CSS for AsciiDoc xhtml11 and html5 backends */
|
||||||
|
|
||||||
|
/* Default font. */
|
||||||
|
body {
|
||||||
|
font-family: Georgia,serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Title font. */
|
||||||
|
h1, h2, h3, h4, h5, h6,
|
||||||
|
div.title, caption.title,
|
||||||
|
thead, p.table.header,
|
||||||
|
#toctitle,
|
||||||
|
#author, #revnumber, #revdate, #revremark,
|
||||||
|
#footer {
|
||||||
|
font-family: Arial,Helvetica,sans-serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
margin: 1em 5% 1em 5%;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: blue;
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
a:visited {
|
||||||
|
color: fuchsia;
|
||||||
|
}
|
||||||
|
|
||||||
|
em {
|
||||||
|
font-style: italic;
|
||||||
|
color: navy;
|
||||||
|
}
|
||||||
|
|
||||||
|
strong {
|
||||||
|
font-weight: bold;
|
||||||
|
color: #083194;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1, h2, h3, h4, h5, h6 {
|
||||||
|
color: #527bbd;
|
||||||
|
margin-top: 1.2em;
|
||||||
|
margin-bottom: 0.5em;
|
||||||
|
line-height: 1.3;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1, h2, h3 {
|
||||||
|
border-bottom: 2px solid silver;
|
||||||
|
}
|
||||||
|
h2 {
|
||||||
|
padding-top: 0.5em;
|
||||||
|
}
|
||||||
|
h3 {
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
h3 + * {
|
||||||
|
clear: left;
|
||||||
|
}
|
||||||
|
h5 {
|
||||||
|
font-size: 1.0em;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.sectionbody {
|
||||||
|
margin-left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
hr {
|
||||||
|
border: 1px solid silver;
|
||||||
|
}
|
||||||
|
|
||||||
|
p {
|
||||||
|
margin-top: 0.5em;
|
||||||
|
margin-bottom: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul, ol, li > p {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
ul > li { color: #aaa; }
|
||||||
|
ul > li > * { color: black; }
|
||||||
|
|
||||||
|
pre {
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#author {
|
||||||
|
color: #527bbd;
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 1.1em;
|
||||||
|
}
|
||||||
|
#email {
|
||||||
|
}
|
||||||
|
#revnumber, #revdate, #revremark {
|
||||||
|
}
|
||||||
|
|
||||||
|
#footer {
|
||||||
|
font-size: small;
|
||||||
|
border-top: 2px solid silver;
|
||||||
|
padding-top: 0.5em;
|
||||||
|
margin-top: 4.0em;
|
||||||
|
}
|
||||||
|
#footer-text {
|
||||||
|
float: left;
|
||||||
|
padding-bottom: 0.5em;
|
||||||
|
}
|
||||||
|
#footer-badges {
|
||||||
|
float: right;
|
||||||
|
padding-bottom: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
#preamble {
|
||||||
|
margin-top: 1.5em;
|
||||||
|
margin-bottom: 1.5em;
|
||||||
|
}
|
||||||
|
div.imageblock, div.exampleblock, div.verseblock,
|
||||||
|
div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
|
||||||
|
div.admonitionblock {
|
||||||
|
margin-top: 1.0em;
|
||||||
|
margin-bottom: 1.5em;
|
||||||
|
}
|
||||||
|
div.admonitionblock {
|
||||||
|
margin-top: 2.0em;
|
||||||
|
margin-bottom: 2.0em;
|
||||||
|
margin-right: 10%;
|
||||||
|
color: #606060;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.content { /* Block element content. */
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Block element titles. */
|
||||||
|
div.title, caption.title {
|
||||||
|
color: #527bbd;
|
||||||
|
font-weight: bold;
|
||||||
|
text-align: left;
|
||||||
|
margin-top: 1.0em;
|
||||||
|
margin-bottom: 0.5em;
|
||||||
|
}
|
||||||
|
div.title + * {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
td div.title:first-child {
|
||||||
|
margin-top: 0.0em;
|
||||||
|
}
|
||||||
|
div.content div.title:first-child {
|
||||||
|
margin-top: 0.0em;
|
||||||
|
}
|
||||||
|
div.content + div.title {
|
||||||
|
margin-top: 0.0em;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.sidebarblock > div.content {
|
||||||
|
background: #ffffee;
|
||||||
|
border: 1px solid #dddddd;
|
||||||
|
border-left: 4px solid #f0f0f0;
|
||||||
|
padding: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.listingblock > div.content {
|
||||||
|
border: 1px solid #dddddd;
|
||||||
|
border-left: 5px solid #f0f0f0;
|
||||||
|
background: #f8f8f8;
|
||||||
|
padding: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.quoteblock, div.verseblock {
|
||||||
|
padding-left: 1.0em;
|
||||||
|
margin-left: 1.0em;
|
||||||
|
margin-right: 10%;
|
||||||
|
border-left: 5px solid #f0f0f0;
|
||||||
|
color: #777777;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.quoteblock > div.attribution {
|
||||||
|
padding-top: 0.5em;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.verseblock > pre.content {
|
||||||
|
font-family: inherit;
|
||||||
|
font-size: inherit;
|
||||||
|
}
|
||||||
|
div.verseblock > div.attribution {
|
||||||
|
padding-top: 0.75em;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
|
||||||
|
div.verseblock + div.attribution {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.admonitionblock .icon {
|
||||||
|
vertical-align: top;
|
||||||
|
font-size: 1.1em;
|
||||||
|
font-weight: bold;
|
||||||
|
text-decoration: underline;
|
||||||
|
color: #527bbd;
|
||||||
|
padding-right: 0.5em;
|
||||||
|
}
|
||||||
|
div.admonitionblock td.content {
|
||||||
|
padding-left: 0.5em;
|
||||||
|
border-left: 3px solid #dddddd;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.exampleblock > div.content {
|
||||||
|
border-left: 3px solid #dddddd;
|
||||||
|
padding-left: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.imageblock div.content { padding-left: 0; }
|
||||||
|
span.image img { border-style: none; }
|
||||||
|
a.image:visited { color: white; }
|
||||||
|
|
||||||
|
dl {
|
||||||
|
margin-top: 0.8em;
|
||||||
|
margin-bottom: 0.8em;
|
||||||
|
}
|
||||||
|
dt {
|
||||||
|
margin-top: 0.5em;
|
||||||
|
margin-bottom: 0;
|
||||||
|
font-style: normal;
|
||||||
|
color: navy;
|
||||||
|
}
|
||||||
|
dd > *:first-child {
|
||||||
|
margin-top: 0.1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul, ol {
|
||||||
|
list-style-position: outside;
|
||||||
|
}
|
||||||
|
ol.arabic {
|
||||||
|
list-style-type: decimal;
|
||||||
|
}
|
||||||
|
ol.loweralpha {
|
||||||
|
list-style-type: lower-alpha;
|
||||||
|
}
|
||||||
|
ol.upperalpha {
|
||||||
|
list-style-type: upper-alpha;
|
||||||
|
}
|
||||||
|
ol.lowerroman {
|
||||||
|
list-style-type: lower-roman;
|
||||||
|
}
|
||||||
|
ol.upperroman {
|
||||||
|
list-style-type: upper-roman;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.compact ul, div.compact ol,
|
||||||
|
div.compact p, div.compact p,
|
||||||
|
div.compact div, div.compact div {
|
||||||
|
margin-top: 0.1em;
|
||||||
|
margin-bottom: 0.1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
tfoot {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
td > div.verse {
|
||||||
|
white-space: pre;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.hdlist {
|
||||||
|
margin-top: 0.8em;
|
||||||
|
margin-bottom: 0.8em;
|
||||||
|
}
|
||||||
|
div.hdlist tr {
|
||||||
|
padding-bottom: 15px;
|
||||||
|
}
|
||||||
|
dt.hdlist1.strong, td.hdlist1.strong {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
td.hdlist1 {
|
||||||
|
vertical-align: top;
|
||||||
|
font-style: normal;
|
||||||
|
padding-right: 0.8em;
|
||||||
|
color: navy;
|
||||||
|
}
|
||||||
|
td.hdlist2 {
|
||||||
|
vertical-align: top;
|
||||||
|
}
|
||||||
|
div.hdlist.compact tr {
|
||||||
|
margin: 0;
|
||||||
|
padding-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.comment {
|
||||||
|
background: yellow;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footnote, .footnoteref {
|
||||||
|
font-size: 0.8em;
|
||||||
|
}
|
||||||
|
|
||||||
|
span.footnote, span.footnoteref {
|
||||||
|
vertical-align: super;
|
||||||
|
}
|
||||||
|
|
||||||
|
#footnotes {
|
||||||
|
margin: 20px 0 20px 0;
|
||||||
|
padding: 7px 0 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#footnotes div.footnote {
|
||||||
|
margin: 0 0 5px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#footnotes hr {
|
||||||
|
border: none;
|
||||||
|
border-top: 1px solid silver;
|
||||||
|
height: 1px;
|
||||||
|
text-align: left;
|
||||||
|
margin-left: 0;
|
||||||
|
width: 20%;
|
||||||
|
min-width: 100px;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.colist td {
|
||||||
|
padding-right: 0.5em;
|
||||||
|
padding-bottom: 0.3em;
|
||||||
|
vertical-align: top;
|
||||||
|
}
|
||||||
|
div.colist td img {
|
||||||
|
margin-top: 0.3em;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media print {
|
||||||
|
#footer-badges { display: none; }
|
||||||
|
}
|
||||||
|
|
||||||
|
#toc {
|
||||||
|
margin-bottom: 2.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
#toctitle {
|
||||||
|
color: #527bbd;
|
||||||
|
font-size: 1.1em;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-top: 1.0em;
|
||||||
|
margin-bottom: 0.1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
|
||||||
|
margin-top: 0;
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
div.toclevel2 {
|
||||||
|
margin-left: 2em;
|
||||||
|
font-size: 0.9em;
|
||||||
|
}
|
||||||
|
div.toclevel3 {
|
||||||
|
margin-left: 4em;
|
||||||
|
font-size: 0.9em;
|
||||||
|
}
|
||||||
|
div.toclevel4 {
|
||||||
|
margin-left: 6em;
|
||||||
|
font-size: 0.9em;
|
||||||
|
}
|
||||||
|
|
||||||
|
span.aqua { color: aqua; }
|
||||||
|
span.black { color: black; }
|
||||||
|
span.blue { color: blue; }
|
||||||
|
span.fuchsia { color: fuchsia; }
|
||||||
|
span.gray { color: gray; }
|
||||||
|
span.green { color: green; }
|
||||||
|
span.lime { color: lime; }
|
||||||
|
span.maroon { color: maroon; }
|
||||||
|
span.navy { color: navy; }
|
||||||
|
span.olive { color: olive; }
|
||||||
|
span.purple { color: purple; }
|
||||||
|
span.red { color: red; }
|
||||||
|
span.silver { color: silver; }
|
||||||
|
span.teal { color: teal; }
|
||||||
|
span.white { color: white; }
|
||||||
|
span.yellow { color: yellow; }
|
||||||
|
|
||||||
|
span.aqua-background { background: aqua; }
|
||||||
|
span.black-background { background: black; }
|
||||||
|
span.blue-background { background: blue; }
|
||||||
|
span.fuchsia-background { background: fuchsia; }
|
||||||
|
span.gray-background { background: gray; }
|
||||||
|
span.green-background { background: green; }
|
||||||
|
span.lime-background { background: lime; }
|
||||||
|
span.maroon-background { background: maroon; }
|
||||||
|
span.navy-background { background: navy; }
|
||||||
|
span.olive-background { background: olive; }
|
||||||
|
span.purple-background { background: purple; }
|
||||||
|
span.red-background { background: red; }
|
||||||
|
span.silver-background { background: silver; }
|
||||||
|
span.teal-background { background: teal; }
|
||||||
|
span.white-background { background: white; }
|
||||||
|
span.yellow-background { background: yellow; }
|
||||||
|
|
||||||
|
span.big { font-size: 2em; }
|
||||||
|
span.small { font-size: 0.6em; }
|
||||||
|
|
||||||
|
span.underline { text-decoration: underline; }
|
||||||
|
span.overline { text-decoration: overline; }
|
||||||
|
span.line-through { text-decoration: line-through; }
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* xhtml11 specific
|
||||||
|
*
|
||||||
|
* */
|
||||||
|
|
||||||
|
tt {
|
||||||
|
font-family: monospace;
|
||||||
|
font-size: inherit;
|
||||||
|
color: navy;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.tableblock {
|
||||||
|
margin-top: 1.0em;
|
||||||
|
margin-bottom: 1.5em;
|
||||||
|
}
|
||||||
|
div.tableblock > table {
|
||||||
|
border: 3px solid #527bbd;
|
||||||
|
}
|
||||||
|
thead, p.table.header {
|
||||||
|
font-weight: bold;
|
||||||
|
color: #527bbd;
|
||||||
|
}
|
||||||
|
p.table {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
/* Because the table frame attribute is overriden by CSS in most browsers. */
|
||||||
|
div.tableblock > table[frame="void"] {
|
||||||
|
border-style: none;
|
||||||
|
}
|
||||||
|
div.tableblock > table[frame="hsides"] {
|
||||||
|
border-left-style: none;
|
||||||
|
border-right-style: none;
|
||||||
|
}
|
||||||
|
div.tableblock > table[frame="vsides"] {
|
||||||
|
border-top-style: none;
|
||||||
|
border-bottom-style: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* html5 specific
|
||||||
|
*
|
||||||
|
* */
|
||||||
|
|
||||||
|
.monospaced {
|
||||||
|
font-family: monospace;
|
||||||
|
font-size: inherit;
|
||||||
|
color: navy;
|
||||||
|
}
|
||||||
|
|
||||||
|
table.tableblock {
|
||||||
|
margin-top: 1.0em;
|
||||||
|
margin-bottom: 1.5em;
|
||||||
|
}
|
||||||
|
thead, p.tableblock.header {
|
||||||
|
font-weight: bold;
|
||||||
|
color: #527bbd;
|
||||||
|
}
|
||||||
|
p.tableblock {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
table.tableblock {
|
||||||
|
border-width: 3px;
|
||||||
|
border-spacing: 0px;
|
||||||
|
border-style: solid;
|
||||||
|
border-color: #527bbd;
|
||||||
|
border-collapse: collapse;
|
||||||
|
}
|
||||||
|
th.tableblock, td.tableblock {
|
||||||
|
border-width: 1px;
|
||||||
|
padding: 4px;
|
||||||
|
border-style: solid;
|
||||||
|
border-color: #527bbd;
|
||||||
|
}
|
||||||
|
|
||||||
|
table.tableblock.frame-topbot {
|
||||||
|
border-left-style: hidden;
|
||||||
|
border-right-style: hidden;
|
||||||
|
}
|
||||||
|
table.tableblock.frame-sides {
|
||||||
|
border-top-style: hidden;
|
||||||
|
border-bottom-style: hidden;
|
||||||
|
}
|
||||||
|
table.tableblock.frame-none {
|
||||||
|
border-style: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
th.tableblock.halign-left, td.tableblock.halign-left {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
th.tableblock.halign-center, td.tableblock.halign-center {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
th.tableblock.halign-right, td.tableblock.halign-right {
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
th.tableblock.valign-top, td.tableblock.valign-top {
|
||||||
|
vertical-align: top;
|
||||||
|
}
|
||||||
|
th.tableblock.valign-middle, td.tableblock.valign-middle {
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
th.tableblock.valign-bottom, td.tableblock.valign-bottom {
|
||||||
|
vertical-align: bottom;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Theme specific overrides of the preceding (asciidoc.css) CSS.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
body {
|
||||||
|
font-family: Garamond, Georgia, serif;
|
||||||
|
font-size: 17px;
|
||||||
|
color: #3E4349;
|
||||||
|
line-height: 1.3em;
|
||||||
|
}
|
||||||
|
h1, h2, h3, h4, h5, h6,
|
||||||
|
div.title, caption.title,
|
||||||
|
thead, p.table.header,
|
||||||
|
#toctitle,
|
||||||
|
#author, #revnumber, #revdate, #revremark,
|
||||||
|
#footer {
|
||||||
|
font-family: Garmond, Georgia, serif;
|
||||||
|
font-weight: normal;
|
||||||
|
border-bottom-width: 0;
|
||||||
|
color: #3E4349;
|
||||||
|
}
|
||||||
|
div.title, caption.title { color: #596673; font-weight: bold; }
|
||||||
|
h1 { font-size: 240%; }
|
||||||
|
h2 { font-size: 180%; }
|
||||||
|
h3 { font-size: 150%; }
|
||||||
|
h4 { font-size: 130%; }
|
||||||
|
h5 { font-size: 100%; }
|
||||||
|
h6 { font-size: 100%; }
|
||||||
|
#header h1 { margin-top: 0; }
|
||||||
|
#toc {
|
||||||
|
color: #444444;
|
||||||
|
line-height: 1.5;
|
||||||
|
padding-top: 1.5em;
|
||||||
|
}
|
||||||
|
#toctitle {
|
||||||
|
font-size: 20px;
|
||||||
|
}
|
||||||
|
#toc a {
|
||||||
|
border-bottom: 1px dotted #999999;
|
||||||
|
color: #444444 !important;
|
||||||
|
text-decoration: none !important;
|
||||||
|
}
|
||||||
|
#toc a:hover {
|
||||||
|
border-bottom: 1px solid #6D4100;
|
||||||
|
color: #6D4100 !important;
|
||||||
|
text-decoration: none !important;
|
||||||
|
}
|
||||||
|
div.toclevel1 { margin-top: 0.2em; font-size: 16px; }
|
||||||
|
div.toclevel2 { margin-top: 0.15em; font-size: 14px; }
|
||||||
|
em, dt, td.hdlist1 { color: black; }
|
||||||
|
strong { color: #3E4349; }
|
||||||
|
a { color: #004B6B; text-decoration: none; border-bottom: 1px dotted #004B6B; }
|
||||||
|
a:visited { color: #615FA0; border-bottom: 1px dotted #615FA0; }
|
||||||
|
a:hover { color: #6D4100; border-bottom: 1px solid #6D4100; }
|
||||||
|
div.tableblock > table, table.tableblock { border: 3px solid #E8E8E8; }
|
||||||
|
th.tableblock, td.tableblock { border: 1px solid #E8E8E8; }
|
||||||
|
ul > li > * { color: #3E4349; }
|
||||||
|
pre, tt, .monospaced { font-family: Consolas,Menlo,'Deja Vu Sans Mono','Bitstream Vera Sans Mono',monospace; }
|
||||||
|
tt, .monospaced { font-size: 0.9em; color: black;
|
||||||
|
}
|
||||||
|
div.exampleblock > div.content, div.sidebarblock > div.content, div.listingblock > div.content { border-width: 0 0 0 3px; border-color: #E8E8E8; }
|
||||||
|
div.verseblock { border-left-width: 0; margin-left: 3em; }
|
||||||
|
div.quoteblock { border-left-width: 3px; margin-left: 0; margin-right: 0;}
|
||||||
|
div.admonitionblock td.content { border-left: 3px solid #E8E8E8; }
|
|
@ -0,0 +1,66 @@
|
||||||
|
/*
|
||||||
|
pygmentize filter
|
||||||
|
*/
|
||||||
|
.highlight .hll { background-color: #ffffcc }
|
||||||
|
.highlight { background: #f4f4f4; }
|
||||||
|
.highlight .c { color: #008800; font-style: italic } /* Comment */
|
||||||
|
.highlight .err { border: 1px solid #FF0000 } /* Error */
|
||||||
|
.highlight .k { color: #AA22FF; font-weight: bold } /* Keyword */
|
||||||
|
.highlight .o { color: #666666 } /* Operator */
|
||||||
|
.highlight .cm { color: #008800; font-style: italic } /* Comment.Multiline */
|
||||||
|
.highlight .cp { color: #008800 } /* Comment.Preproc */
|
||||||
|
.highlight .c1 { color: #008800; font-style: italic } /* Comment.Single */
|
||||||
|
.highlight .cs { color: #008800; font-weight: bold } /* Comment.Special */
|
||||||
|
.highlight .gd { color: #A00000 } /* Generic.Deleted */
|
||||||
|
.highlight .ge { font-style: italic } /* Generic.Emph */
|
||||||
|
.highlight .gr { color: #FF0000 } /* Generic.Error */
|
||||||
|
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
|
||||||
|
.highlight .gi { color: #00A000 } /* Generic.Inserted */
|
||||||
|
.highlight .go { color: #808080 } /* Generic.Output */
|
||||||
|
.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
|
||||||
|
.highlight .gs { font-weight: bold } /* Generic.Strong */
|
||||||
|
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
|
||||||
|
.highlight .gt { color: #0040D0 } /* Generic.Traceback */
|
||||||
|
.highlight .kc { color: #AA22FF; font-weight: bold } /* Keyword.Constant */
|
||||||
|
.highlight .kd { color: #AA22FF; font-weight: bold } /* Keyword.Declaration */
|
||||||
|
.highlight .kn { color: #AA22FF; font-weight: bold } /* Keyword.Namespace */
|
||||||
|
.highlight .kp { color: #AA22FF } /* Keyword.Pseudo */
|
||||||
|
.highlight .kr { color: #AA22FF; font-weight: bold } /* Keyword.Reserved */
|
||||||
|
.highlight .kt { color: #00BB00; font-weight: bold } /* Keyword.Type */
|
||||||
|
.highlight .m { color: #666666 } /* Literal.Number */
|
||||||
|
.highlight .s { color: #BB4444 } /* Literal.String */
|
||||||
|
.highlight .na { color: #BB4444 } /* Name.Attribute */
|
||||||
|
.highlight .nb { color: #AA22FF } /* Name.Builtin */
|
||||||
|
.highlight .nc { color: #0000FF } /* Name.Class */
|
||||||
|
.highlight .no { color: #880000 } /* Name.Constant */
|
||||||
|
.highlight .nd { color: #AA22FF } /* Name.Decorator */
|
||||||
|
.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */
|
||||||
|
.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */
|
||||||
|
.highlight .nf { color: #00A000 } /* Name.Function */
|
||||||
|
.highlight .nl { color: #A0A000 } /* Name.Label */
|
||||||
|
.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
|
||||||
|
.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */
|
||||||
|
.highlight .nv { color: #B8860B } /* Name.Variable */
|
||||||
|
.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
|
||||||
|
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
|
||||||
|
.highlight .mf { color: #666666 } /* Literal.Number.Float */
|
||||||
|
.highlight .mh { color: #666666 } /* Literal.Number.Hex */
|
||||||
|
.highlight .mi { color: #666666 } /* Literal.Number.Integer */
|
||||||
|
.highlight .mo { color: #666666 } /* Literal.Number.Oct */
|
||||||
|
.highlight .sb { color: #BB4444 } /* Literal.String.Backtick */
|
||||||
|
.highlight .sc { color: #BB4444 } /* Literal.String.Char */
|
||||||
|
.highlight .sd { color: #BB4444; font-style: italic } /* Literal.String.Doc */
|
||||||
|
.highlight .s2 { color: #BB4444 } /* Literal.String.Double */
|
||||||
|
.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
|
||||||
|
.highlight .sh { color: #BB4444 } /* Literal.String.Heredoc */
|
||||||
|
.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
|
||||||
|
.highlight .sx { color: #008000 } /* Literal.String.Other */
|
||||||
|
.highlight .sr { color: #BB6688 } /* Literal.String.Regex */
|
||||||
|
.highlight .s1 { color: #BB4444 } /* Literal.String.Single */
|
||||||
|
.highlight .ss { color: #B8860B } /* Literal.String.Symbol */
|
||||||
|
.highlight .bp { color: #AA22FF } /* Name.Builtin.Pseudo */
|
||||||
|
.highlight .vc { color: #B8860B } /* Name.Variable.Class */
|
||||||
|
.highlight .vg { color: #B8860B } /* Name.Variable.Global */
|
||||||
|
.highlight .vi { color: #B8860B } /* Name.Variable.Instance */
|
||||||
|
.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */
|
||||||
|
|
|
@ -0,0 +1,445 @@
|
||||||
|
/* slidy.css
|
||||||
|
|
||||||
|
Copyright (c) 2005-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved.
|
||||||
|
W3C liability, trademark, document use and software licensing
|
||||||
|
rules apply, see:
|
||||||
|
|
||||||
|
http://www.w3.org/Consortium/Legal/copyright-documents
|
||||||
|
http://www.w3.org/Consortium/Legal/copyright-software
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
SJR: 2010-09-29: Modified for AsciiDoc slidy backend.
|
||||||
|
Mostly just commented out stuff that is handled by AsciiDoc's CSS files.
|
||||||
|
*/
|
||||||
|
|
||||||
|
body
|
||||||
|
{
|
||||||
|
margin: 0 0 0 0;
|
||||||
|
padding: 0 0 0 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
color: black;
|
||||||
|
background-color: white;
|
||||||
|
/*
|
||||||
|
font-family: "Gill Sans MT", "Gill Sans", GillSans, sans-serif;
|
||||||
|
*/
|
||||||
|
font-size: 14pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.toolbar {
|
||||||
|
position: fixed; z-index: 200;
|
||||||
|
top: auto; bottom: 0; left: 0; right: 0;
|
||||||
|
height: 1.2em; text-align: right;
|
||||||
|
padding-left: 1em;
|
||||||
|
padding-right: 1em;
|
||||||
|
font-size: 60%;
|
||||||
|
color: red;
|
||||||
|
background-color: rgb(240,240,240);
|
||||||
|
border-top: solid 1px rgb(180,180,180);
|
||||||
|
}
|
||||||
|
|
||||||
|
div.toolbar span.copyright {
|
||||||
|
color: black;
|
||||||
|
margin-left: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.initial_prompt {
|
||||||
|
position: absolute;
|
||||||
|
z-index: 1000;
|
||||||
|
bottom: 1.2em;
|
||||||
|
width: 90%;
|
||||||
|
background-color: rgb(200,200,200);
|
||||||
|
opacity: 0.35;
|
||||||
|
background-color: rgb(200,200,200, 0.35);
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.initial_prompt p.help {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.initial_prompt p.close {
|
||||||
|
text-align: right;
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.slidy_toc {
|
||||||
|
position: absolute;
|
||||||
|
z-index: 300;
|
||||||
|
width: 60%;
|
||||||
|
max-width: 30em;
|
||||||
|
height: 30em;
|
||||||
|
overflow: auto;
|
||||||
|
top: auto;
|
||||||
|
right: auto;
|
||||||
|
left: 4em;
|
||||||
|
bottom: 4em;
|
||||||
|
padding: 1em;
|
||||||
|
background: rgb(240,240,240);
|
||||||
|
border-style: solid;
|
||||||
|
border-width: 2px;
|
||||||
|
font-size: 60%;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.slidy_toc .toc_heading {
|
||||||
|
text-align: center;
|
||||||
|
width: 100%;
|
||||||
|
margin: 0;
|
||||||
|
margin-bottom: 1em;
|
||||||
|
border-bottom-style: solid;
|
||||||
|
border-bottom-color: rgb(180,180,180);
|
||||||
|
border-bottom-width: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.slide {
|
||||||
|
z-index: 20;
|
||||||
|
margin: 0 0 0 0;
|
||||||
|
padding-top: 0;
|
||||||
|
padding-bottom: 0;
|
||||||
|
padding-left: 20px;
|
||||||
|
padding-right: 20px;
|
||||||
|
border-width: 0;
|
||||||
|
clear: both;
|
||||||
|
top: 0;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
line-height: 120%;
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.background {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.handout {
|
||||||
|
margin-left: 20px;
|
||||||
|
margin-right: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.slide.titlepage {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.slide.titlepage.h1 {
|
||||||
|
padding-top: 10%;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.slide h1 {
|
||||||
|
padding-left: 0;
|
||||||
|
padding-right: 20pt;
|
||||||
|
padding-top: 4pt;
|
||||||
|
padding-bottom: 4pt;
|
||||||
|
margin-top: 0;
|
||||||
|
margin-left: 0;
|
||||||
|
margin-right: 60pt;
|
||||||
|
margin-bottom: 0.5em;
|
||||||
|
display: block;
|
||||||
|
font-size: 160%;
|
||||||
|
line-height: 1.2em;
|
||||||
|
background: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.toc {
|
||||||
|
position: absolute;
|
||||||
|
top: auto;
|
||||||
|
bottom: 4em;
|
||||||
|
left: 4em;
|
||||||
|
right: auto;
|
||||||
|
width: 60%;
|
||||||
|
max-width: 30em;
|
||||||
|
height: 30em;
|
||||||
|
border: solid thin black;
|
||||||
|
padding: 1em;
|
||||||
|
background: rgb(240,240,240);
|
||||||
|
color: black;
|
||||||
|
z-index: 300;
|
||||||
|
overflow: auto;
|
||||||
|
display: block;
|
||||||
|
visibility: visible;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.toc-heading {
|
||||||
|
width: 100%;
|
||||||
|
border-bottom: solid 1px rgb(180,180,180);
|
||||||
|
margin-bottom: 1em;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
pre {
|
||||||
|
font-size: 80%;
|
||||||
|
font-weight: bold;
|
||||||
|
line-height: 120%;
|
||||||
|
padding-top: 0.2em;
|
||||||
|
padding-bottom: 0.2em;
|
||||||
|
padding-left: 1em;
|
||||||
|
padding-right: 1em;
|
||||||
|
border-style: solid;
|
||||||
|
border-left-width: 1em;
|
||||||
|
border-top-width: thin;
|
||||||
|
border-right-width: thin;
|
||||||
|
border-bottom-width: thin;
|
||||||
|
border-color: #95ABD0;
|
||||||
|
color: #00428C;
|
||||||
|
background-color: #E4E5E7;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
li pre { margin-left: 0; }
|
||||||
|
|
||||||
|
blockquote { font-style: italic }
|
||||||
|
|
||||||
|
img { background-color: transparent }
|
||||||
|
|
||||||
|
p.copyright { font-size: smaller }
|
||||||
|
*/
|
||||||
|
|
||||||
|
.center { text-align: center }
|
||||||
|
.footnote { font-size: smaller; margin-left: 2em; }
|
||||||
|
|
||||||
|
/*
|
||||||
|
a img { border-width: 0; border-style: none }
|
||||||
|
*/
|
||||||
|
|
||||||
|
a:visited { color: navy }
|
||||||
|
a:link { color: navy }
|
||||||
|
a:hover { color: red; text-decoration: underline }
|
||||||
|
a:active { color: red; text-decoration: underline }
|
||||||
|
|
||||||
|
a {text-decoration: none}
|
||||||
|
.navbar a:link {color: white}
|
||||||
|
.navbar a:visited {color: yellow}
|
||||||
|
.navbar a:active {color: red}
|
||||||
|
.navbar a:hover {color: red}
|
||||||
|
|
||||||
|
/*
|
||||||
|
ul { list-style-type: square; }
|
||||||
|
ul ul { list-style-type: disc; }
|
||||||
|
ul ul ul { list-style-type: circle; }
|
||||||
|
ul ul ul ul { list-style-type: disc; }
|
||||||
|
li { margin-left: 0.5em; margin-top: 0.5em; }
|
||||||
|
li li { font-size: 85%; font-style: italic }
|
||||||
|
li li li { font-size: 85%; font-style: normal }
|
||||||
|
*/
|
||||||
|
|
||||||
|
div dt
|
||||||
|
{
|
||||||
|
margin-left: 0;
|
||||||
|
margin-top: 1em;
|
||||||
|
margin-bottom: 0.5em;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
div dd
|
||||||
|
{
|
||||||
|
margin-left: 2em;
|
||||||
|
margin-bottom: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
p,pre,ul,ol,blockquote,h2,h3,h4,h5,h6,dl,table {
|
||||||
|
margin-left: 1em;
|
||||||
|
margin-right: 1em;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
p.subhead { font-weight: bold; margin-top: 2em; }
|
||||||
|
|
||||||
|
.smaller { font-size: smaller }
|
||||||
|
.bigger { font-size: 130% }
|
||||||
|
|
||||||
|
/*
|
||||||
|
td,th { padding: 0.2em }
|
||||||
|
*/
|
||||||
|
|
||||||
|
ul {
|
||||||
|
margin: 0.5em 1.5em 0.5em 1.5em;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
ol {
|
||||||
|
margin: 0.5em 1.5em 0.5em 1.5em;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul { list-style-type: square; }
|
||||||
|
ul ul { list-style-type: disc; }
|
||||||
|
ul ul ul { list-style-type: circle; }
|
||||||
|
ul ul ul ul { list-style-type: disc; }
|
||||||
|
|
||||||
|
/*
|
||||||
|
ul li {
|
||||||
|
list-style: square;
|
||||||
|
margin: 0.1em 0em 0.6em 0;
|
||||||
|
padding: 0 0 0 0;
|
||||||
|
line-height: 140%;
|
||||||
|
}
|
||||||
|
|
||||||
|
ol li {
|
||||||
|
margin: 0.1em 0em 0.6em 1.5em;
|
||||||
|
padding: 0 0 0 0px;
|
||||||
|
line-height: 140%;
|
||||||
|
list-style-type: decimal;
|
||||||
|
}
|
||||||
|
|
||||||
|
li ul li {
|
||||||
|
font-size: 85%;
|
||||||
|
font-style: italic;
|
||||||
|
list-style-type: disc;
|
||||||
|
background: transparent;
|
||||||
|
padding: 0 0 0 0;
|
||||||
|
}
|
||||||
|
li li ul li {
|
||||||
|
font-size: 85%;
|
||||||
|
font-style: normal;
|
||||||
|
list-style-type: circle;
|
||||||
|
background: transparent;
|
||||||
|
padding: 0 0 0 0;
|
||||||
|
}
|
||||||
|
li li li ul li {
|
||||||
|
list-style-type: disc;
|
||||||
|
background: transparent;
|
||||||
|
padding: 0 0 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
li ol li {
|
||||||
|
list-style-type: decimal;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
li li ol li {
|
||||||
|
list-style-type: decimal;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
setting class="outline" on ol or ul makes it behave as an
|
||||||
|
ouline list where blocklevel content in li elements is
|
||||||
|
hidden by default and can be expanded or collapsed with
|
||||||
|
mouse click. Set class="expand" on li to override default
|
||||||
|
*/
|
||||||
|
|
||||||
|
ol.outline li:hover { cursor: pointer }
|
||||||
|
ol.outline li.nofold:hover { cursor: default }
|
||||||
|
|
||||||
|
ul.outline li:hover { cursor: pointer }
|
||||||
|
ul.outline li.nofold:hover { cursor: default }
|
||||||
|
|
||||||
|
ol.outline { list-style:decimal; }
|
||||||
|
ol.outline ol { list-style-type:lower-alpha }
|
||||||
|
|
||||||
|
ol.outline li.nofold {
|
||||||
|
padding: 0 0 0 20px;
|
||||||
|
background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.5em;
|
||||||
|
}
|
||||||
|
ol.outline li.unfolded {
|
||||||
|
padding: 0 0 0 20px;
|
||||||
|
background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.5em;
|
||||||
|
}
|
||||||
|
ol.outline li.folded {
|
||||||
|
padding: 0 0 0 20px;
|
||||||
|
background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.5em;
|
||||||
|
}
|
||||||
|
ol.outline li.unfolded:hover {
|
||||||
|
padding: 0 0 0 20px;
|
||||||
|
background: transparent url(../graphics/fold.gif) no-repeat 0px 0.5em;
|
||||||
|
}
|
||||||
|
ol.outline li.folded:hover {
|
||||||
|
padding: 0 0 0 20px;
|
||||||
|
background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.outline li.nofold {
|
||||||
|
padding: 0 0 0 20px;
|
||||||
|
background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.5em;
|
||||||
|
}
|
||||||
|
ul.outline li.unfolded {
|
||||||
|
padding: 0 0 0 20px;
|
||||||
|
background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.5em;
|
||||||
|
}
|
||||||
|
ul.outline li.folded {
|
||||||
|
padding: 0 0 0 20px;
|
||||||
|
background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.5em;
|
||||||
|
}
|
||||||
|
ul.outline li.unfolded:hover {
|
||||||
|
padding: 0 0 0 20px;
|
||||||
|
background: transparent url(../graphics/fold.gif) no-repeat 0px 0.5em;
|
||||||
|
}
|
||||||
|
ul.outline li.folded:hover {
|
||||||
|
padding: 0 0 0 20px;
|
||||||
|
background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* for slides with class "title" in table of contents */
|
||||||
|
a.titleslide { font-weight: bold; font-style: italic }
|
||||||
|
|
||||||
|
/*
|
||||||
|
hide images for work around for save as bug
|
||||||
|
where browsers fail to save images used by CSS
|
||||||
|
*/
|
||||||
|
img.hidden { display: none; visibility: hidden }
|
||||||
|
div.initial_prompt { display: none; visibility: hidden }
|
||||||
|
|
||||||
|
div.slide {
|
||||||
|
visibility: visible;
|
||||||
|
position: inherit;
|
||||||
|
}
|
||||||
|
div.handout {
|
||||||
|
border-top-style: solid;
|
||||||
|
border-top-width: thin;
|
||||||
|
border-top-color: black;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen {
|
||||||
|
.hidden { display: none; visibility: visible }
|
||||||
|
|
||||||
|
div.slide.hidden { display: block; visibility: visible }
|
||||||
|
div.handout.hidden { display: block; visibility: visible }
|
||||||
|
div.background { display: none; visibility: hidden }
|
||||||
|
body.single_slide div.initial_prompt { display: block; visibility: visible }
|
||||||
|
body.single_slide div.background { display: block; visibility: visible }
|
||||||
|
body.single_slide div.background.hidden { display: none; visibility: hidden }
|
||||||
|
body.single_slide .invisible { visibility: hidden }
|
||||||
|
body.single_slide .hidden { display: none; visibility: hidden }
|
||||||
|
body.single_slide div.slide { position: absolute }
|
||||||
|
body.single_slide div.handout { display: none; visibility: hidden }
|
||||||
|
}
|
||||||
|
|
||||||
|
@media print {
|
||||||
|
.hidden { display: block; visibility: visible }
|
||||||
|
|
||||||
|
/*
|
||||||
|
div.slide pre { font-size: 60%; padding-left: 0.5em; }
|
||||||
|
*/
|
||||||
|
div.toolbar { display: none; visibility: hidden; }
|
||||||
|
div.slidy_toc { display: none; visibility: hidden; }
|
||||||
|
div.background { display: none; visibility: hidden; }
|
||||||
|
div.slide { page-break-before: always }
|
||||||
|
/* :first-child isn't reliable for print media */
|
||||||
|
div.slide.first-slide { page-break-before: avoid }
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* SJR: AsciiDoc slidy backend tweaks */
|
||||||
|
|
||||||
|
ol, ul {
|
||||||
|
margin: 0.8em 1.5em 0.8em 1.8em;
|
||||||
|
}
|
||||||
|
li > ul, li > ol {
|
||||||
|
margin-top: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.outline > li.folded,
|
||||||
|
.outline > li.unfolded {
|
||||||
|
color: #527bbd;
|
||||||
|
}
|
||||||
|
ul > li{ color: #aaa; }
|
||||||
|
ul > li > *, ol > li > * { color: black; }
|
||||||
|
|
||||||
|
li {
|
||||||
|
margin-top: 0.5em;
|
||||||
|
margin-bottom: 0.5em;
|
||||||
|
}
|
|
@ -0,0 +1,34 @@
|
||||||
|
@media screen {
|
||||||
|
body {
|
||||||
|
max-width: 50em; /* approximately 80 characters wide */
|
||||||
|
margin-left: 16em;
|
||||||
|
}
|
||||||
|
|
||||||
|
#toc {
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
bottom: 0;
|
||||||
|
width: 13em;
|
||||||
|
padding: 0.5em;
|
||||||
|
padding-bottom: 1.5em;
|
||||||
|
margin: 0;
|
||||||
|
overflow: auto;
|
||||||
|
border-right: 3px solid #f8f8f8;
|
||||||
|
}
|
||||||
|
|
||||||
|
#toc .toclevel1 {
|
||||||
|
margin-top: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
#toc .toclevel2 {
|
||||||
|
margin-top: 0.25em;
|
||||||
|
display: list-item;
|
||||||
|
/* OLD color: #aaaaaa; */
|
||||||
|
color: #990000;
|
||||||
|
}
|
||||||
|
|
||||||
|
#toctitle {
|
||||||
|
margin-top: 0.5em;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1 @@
|
||||||
|
/* Empty placeholder file */
|
|
@ -0,0 +1,435 @@
|
||||||
|
/*
|
||||||
|
* AsciiDoc 'volnitsky' theme for xhtml11 and html5 backends.
|
||||||
|
* Based on css from http://volnitsky.com, which was in turn based on default
|
||||||
|
* theme from AsciiDoc
|
||||||
|
*
|
||||||
|
* FIXME: The stlying is still a bit rough in places.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Default font. */
|
||||||
|
body {
|
||||||
|
font-family: Georgia,"Times New Roman",Times,serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Title font. */
|
||||||
|
h1, h2, h3, h4, h5, h6,
|
||||||
|
div.title, caption.title,
|
||||||
|
thead, p.table.header,
|
||||||
|
#toctitle,
|
||||||
|
#author, #revnumber, #revdate, #revremark,
|
||||||
|
#footer {
|
||||||
|
font-family: Candara,Arial,sans-serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#toc a {
|
||||||
|
border-bottom: 1px dotted #999999;
|
||||||
|
color: #3A3A4D !important;
|
||||||
|
text-decoration: none !important;
|
||||||
|
}
|
||||||
|
#toc a:hover {
|
||||||
|
border-bottom: 1px solid #6D4100;
|
||||||
|
color: #6D4100 !important;
|
||||||
|
text-decoration: none !important;
|
||||||
|
}
|
||||||
|
a { color: #666688; text-decoration: none; border-bottom: 1px dotted #666688; }
|
||||||
|
a:visited { color: #615FA0; border-bottom: 1px dotted #615FA0; }
|
||||||
|
a:hover { color: #6D4100; border-bottom: 1px solid #6D4100; }
|
||||||
|
|
||||||
|
em {
|
||||||
|
font-style: italic;
|
||||||
|
color: #444466;
|
||||||
|
}
|
||||||
|
|
||||||
|
strong {
|
||||||
|
font-weight: bold;
|
||||||
|
color: #444466;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1, h2, h3, h4, h5, h6 {
|
||||||
|
color: #666688;
|
||||||
|
margin-bottom: 0.5em;
|
||||||
|
line-height: 1.3;
|
||||||
|
letter-spacing:+0.15em;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1, h2, h3 { border-bottom: 2px solid #ccd; }
|
||||||
|
h2 { padding-top: 0.5em; }
|
||||||
|
h3 { float: left; }
|
||||||
|
h3 + * { clear: left; }
|
||||||
|
|
||||||
|
div.sectionbody {
|
||||||
|
margin-left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
hr {
|
||||||
|
border: 1px solid #444466;
|
||||||
|
}
|
||||||
|
|
||||||
|
p {
|
||||||
|
margin-top: 0.5em;
|
||||||
|
margin-bottom: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul, ol, li > p {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre {
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#author {
|
||||||
|
color: #444466;
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 1.1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
#footer {
|
||||||
|
font-size: small;
|
||||||
|
border-top: 2px solid silver;
|
||||||
|
padding-top: 0.5em;
|
||||||
|
margin-top: 4.0em;
|
||||||
|
}
|
||||||
|
|
||||||
|
#footer-text {
|
||||||
|
float: left;
|
||||||
|
padding-bottom: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
#footer-badges {
|
||||||
|
float: right;
|
||||||
|
padding-bottom: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
#preamble {
|
||||||
|
margin-top: 1.5em;
|
||||||
|
margin-bottom: 1.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
|
||||||
|
div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
|
||||||
|
div.admonitionblock {
|
||||||
|
margin-top: 1.5em;
|
||||||
|
margin-bottom: 1.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.admonitionblock {
|
||||||
|
margin-top: 2.5em;
|
||||||
|
margin-bottom: 2.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.content { /* Block element content. */
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Block element titles. */
|
||||||
|
div.title, caption.title {
|
||||||
|
color: #444466;
|
||||||
|
font-weight: bold;
|
||||||
|
text-align: left;
|
||||||
|
margin-top: 1.0em;
|
||||||
|
margin-bottom: 0.5em;
|
||||||
|
}
|
||||||
|
div.title + * {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
td div.title:first-child {
|
||||||
|
margin-top: 0.0em;
|
||||||
|
}
|
||||||
|
div.content div.title:first-child {
|
||||||
|
margin-top: 0.0em;
|
||||||
|
}
|
||||||
|
div.content + div.title {
|
||||||
|
margin-top: 0.0em;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.sidebarblock > div.content {
|
||||||
|
background: #ffffee;
|
||||||
|
border: 1px solid silver;
|
||||||
|
padding: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.listingblock > div.content {
|
||||||
|
border: 1px solid silver;
|
||||||
|
background: #f4f4f4;
|
||||||
|
padding: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.quoteblock {
|
||||||
|
padding-left: 2.0em;
|
||||||
|
margin-right: 10%;
|
||||||
|
}
|
||||||
|
div.quoteblock > div.attribution {
|
||||||
|
padding-top: 0.5em;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.verseblock {
|
||||||
|
padding-left: 2.0em;
|
||||||
|
margin-right: 10%;
|
||||||
|
}
|
||||||
|
div.verseblock > pre.content {
|
||||||
|
font-family: inherit;
|
||||||
|
}
|
||||||
|
div.verseblock > div.attribution {
|
||||||
|
padding-top: 0.75em;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
|
||||||
|
div.verseblock + div.attribution {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.admonitionblock .icon {
|
||||||
|
vertical-align: top;
|
||||||
|
font-size: 1.1em;
|
||||||
|
font-weight: bold;
|
||||||
|
text-decoration: underline;
|
||||||
|
color: #444466;
|
||||||
|
padding-right: 0.5em;
|
||||||
|
}
|
||||||
|
div.admonitionblock td.content {
|
||||||
|
padding-left: 0.5em;
|
||||||
|
border-left: 2px solid silver;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.exampleblock > div.content {
|
||||||
|
border-left: 2px solid silver;
|
||||||
|
padding: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.imageblock div.content { padding-left: 0; }
|
||||||
|
span.image img { border-style: none; }
|
||||||
|
a.image:visited { color: white; }
|
||||||
|
|
||||||
|
dl {
|
||||||
|
margin-top: 0.8em;
|
||||||
|
margin-bottom: 0.8em;
|
||||||
|
}
|
||||||
|
dt {
|
||||||
|
margin-top: 0.5em;
|
||||||
|
margin-bottom: 0;
|
||||||
|
font-style: normal;
|
||||||
|
color: #444466;
|
||||||
|
}
|
||||||
|
dd > *:first-child {
|
||||||
|
margin-top: 0.1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul, ol {
|
||||||
|
list-style-position: outside;
|
||||||
|
}
|
||||||
|
ol.arabic {
|
||||||
|
list-style-type: decimal;
|
||||||
|
}
|
||||||
|
ol.loweralpha {
|
||||||
|
list-style-type: lower-alpha;
|
||||||
|
}
|
||||||
|
ol.upperalpha {
|
||||||
|
list-style-type: upper-alpha;
|
||||||
|
}
|
||||||
|
ol.lowerroman {
|
||||||
|
list-style-type: lower-roman;
|
||||||
|
}
|
||||||
|
ol.upperroman {
|
||||||
|
list-style-type: upper-roman;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.compact ul, div.compact ol,
|
||||||
|
div.compact p, div.compact p,
|
||||||
|
div.compact div, div.compact div {
|
||||||
|
margin-top: 0.1em;
|
||||||
|
margin-bottom: 0.1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.tableblock > table {
|
||||||
|
border: 3px solid #444466;
|
||||||
|
}
|
||||||
|
thead {
|
||||||
|
font-weight: bold;
|
||||||
|
color: #444466;
|
||||||
|
}
|
||||||
|
tfoot {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
td > div.verse {
|
||||||
|
white-space: pre;
|
||||||
|
}
|
||||||
|
p.table {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
/* Because the table frame attribute is overriden by CSS in most browsers. */
|
||||||
|
div.tableblock > table[frame="void"] {
|
||||||
|
border-style: none;
|
||||||
|
}
|
||||||
|
div.tableblock > table[frame="hsides"] {
|
||||||
|
border-left-style: none;
|
||||||
|
border-right-style: none;
|
||||||
|
}
|
||||||
|
div.tableblock > table[frame="vsides"] {
|
||||||
|
border-top-style: none;
|
||||||
|
border-bottom-style: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
div.hdlist {
|
||||||
|
margin-top: 0.8em;
|
||||||
|
margin-bottom: 0.8em;
|
||||||
|
}
|
||||||
|
div.hdlist tr {
|
||||||
|
padding-bottom: 15px;
|
||||||
|
}
|
||||||
|
dt.hdlist1.strong, td.hdlist1.strong {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
td.hdlist1 {
|
||||||
|
vertical-align: top;
|
||||||
|
font-style: normal;
|
||||||
|
padding-right: 0.8em;
|
||||||
|
color: #444466;
|
||||||
|
}
|
||||||
|
td.hdlist2 {
|
||||||
|
vertical-align: top;
|
||||||
|
}
|
||||||
|
div.hdlist.compact tr {
|
||||||
|
margin: 0;
|
||||||
|
padding-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.comment {
|
||||||
|
background: yellow;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media print {
|
||||||
|
#footer-badges { display: none; }
|
||||||
|
}
|
||||||
|
|
||||||
|
#toctitle {
|
||||||
|
color: #666688;
|
||||||
|
font-size: 1.2em;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-top: 1.0em;
|
||||||
|
margin-bottom: 0.1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 { margin-top: 0; margin-bottom: 0; }
|
||||||
|
div.toclevel1 { margin-top: 0.3em; margin-left: 0; font-size: 1.0em; }
|
||||||
|
div.toclevel2 { margin-top: 0.25em; margin-left: 2em; font-size: 0.9em; }
|
||||||
|
div.toclevel3 { margin-left: 4em; font-size: 0.8em; }
|
||||||
|
div.toclevel4 { margin-left: 6em; font-size: 0.8em; }
|
||||||
|
|
||||||
|
body {
|
||||||
|
margin: 1em 5%;
|
||||||
|
max-width: 55em;
|
||||||
|
padding-left: 0;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.monospaced, tt, div.listingblock > div.content {
|
||||||
|
font-family: Consolas, "Andale Mono", "Courier New", monospace;
|
||||||
|
color: #004400;
|
||||||
|
background: #f4f4f4;
|
||||||
|
max-width: 80em;
|
||||||
|
line-height: 1.2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.paragraph p {
|
||||||
|
line-height: 1.5em;
|
||||||
|
margin-top: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.paragraph p, li, dd, .content { max-width: 45em; }
|
||||||
|
.admonitionblock { max-width: 35em; }
|
||||||
|
|
||||||
|
div.sectionbody div.ulist > ul > li {
|
||||||
|
list-style-type: square;
|
||||||
|
color: #aaa;
|
||||||
|
}
|
||||||
|
div.sectionbody div.ulist > ul > li > * {
|
||||||
|
color: black;
|
||||||
|
/*font-size: 50%;*/
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
div.sectionbody div.ulist > ul > li div.ulist > ul > li {
|
||||||
|
color: #ccd ;
|
||||||
|
}
|
||||||
|
div.sectionbody div.ulist > ul > li div.ulist > ul > li > * {
|
||||||
|
color: black ;
|
||||||
|
}
|
||||||
|
|
||||||
|
em {
|
||||||
|
font-style: normal ! important;
|
||||||
|
font-weight: bold ! important;
|
||||||
|
color: #662222 ! important;
|
||||||
|
letter-spacing:+0.08em ! important;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* html5 specific
|
||||||
|
*
|
||||||
|
* */
|
||||||
|
|
||||||
|
table.tableblock {
|
||||||
|
margin-top: 1.0em;
|
||||||
|
margin-bottom: 1.5em;
|
||||||
|
}
|
||||||
|
thead, p.tableblock.header {
|
||||||
|
font-weight: bold;
|
||||||
|
color: #666688;
|
||||||
|
}
|
||||||
|
p.tableblock {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
table.tableblock {
|
||||||
|
border-width: 3px;
|
||||||
|
border-spacing: 0px;
|
||||||
|
border-style: solid;
|
||||||
|
border-color: #444466;
|
||||||
|
border-collapse: collapse;
|
||||||
|
}
|
||||||
|
th.tableblock, td.tableblock {
|
||||||
|
border-width: 1px;
|
||||||
|
padding: 4px;
|
||||||
|
border-style: solid;
|
||||||
|
border-color: #444466;
|
||||||
|
}
|
||||||
|
|
||||||
|
table.tableblock.frame-topbot {
|
||||||
|
border-left-style: hidden;
|
||||||
|
border-right-style: hidden;
|
||||||
|
}
|
||||||
|
table.tableblock.frame-sides {
|
||||||
|
border-top-style: hidden;
|
||||||
|
border-bottom-style: hidden;
|
||||||
|
}
|
||||||
|
table.tableblock.frame-none {
|
||||||
|
border-style: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
th.tableblock.halign-left, td.tableblock.halign-left {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
th.tableblock.halign-center, td.tableblock.halign-center {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
th.tableblock.halign-right, td.tableblock.halign-right {
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
th.tableblock.valign-top, td.tableblock.valign-top {
|
||||||
|
vertical-align: top;
|
||||||
|
}
|
||||||
|
th.tableblock.valign-middle, td.tableblock.valign-middle {
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
th.tableblock.valign-bottom, td.tableblock.valign-bottom {
|
||||||
|
vertical-align: bottom;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,43 @@
|
||||||
|
/* Workarounds for IE6's broken and incomplete CSS2. */
|
||||||
|
|
||||||
|
div.sidebar-content {
|
||||||
|
background: #ffffee;
|
||||||
|
border: 1px solid silver;
|
||||||
|
padding: 0.5em;
|
||||||
|
}
|
||||||
|
div.sidebar-title, div.image-title {
|
||||||
|
color: #527bbd;
|
||||||
|
font-family: sans-serif;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-top: 0.0em;
|
||||||
|
margin-bottom: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.listingblock div.content {
|
||||||
|
border: 1px solid silver;
|
||||||
|
background: #f4f4f4;
|
||||||
|
padding: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.quoteblock-attribution {
|
||||||
|
padding-top: 0.5em;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre.verseblock-content {
|
||||||
|
font-family: inherit;
|
||||||
|
}
|
||||||
|
div.verseblock-attribution {
|
||||||
|
padding-top: 0.75em;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.exampleblock-content {
|
||||||
|
border-left: 3px solid #dddddd;
|
||||||
|
padding-left: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.imageblock.latex div.image-title { margin-top: 0.5em; }
|
||||||
|
|
||||||
|
/* IE6 sets dynamically generated links as visited. */
|
||||||
|
div#toc a:visited { color: blue; }
|
|
@ -0,0 +1,333 @@
|
||||||
|
/* Debug borders */
|
||||||
|
p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
|
||||||
|
/*
|
||||||
|
border: 1px solid red;
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
margin: 1em 5% 1em 5%;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: blue;
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
a:visited {
|
||||||
|
color: fuchsia;
|
||||||
|
}
|
||||||
|
|
||||||
|
em {
|
||||||
|
font-style: italic;
|
||||||
|
color: navy;
|
||||||
|
}
|
||||||
|
|
||||||
|
strong {
|
||||||
|
font-weight: bold;
|
||||||
|
color: #083194;
|
||||||
|
}
|
||||||
|
|
||||||
|
tt {
|
||||||
|
color: navy;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1, h2, h3, h4, h5, h6 {
|
||||||
|
color: #527bbd;
|
||||||
|
font-family: sans-serif;
|
||||||
|
margin-top: 1.2em;
|
||||||
|
margin-bottom: 0.5em;
|
||||||
|
line-height: 1.3;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1, h2, h3 {
|
||||||
|
border-bottom: 2px solid silver;
|
||||||
|
}
|
||||||
|
h2 {
|
||||||
|
padding-top: 0.5em;
|
||||||
|
}
|
||||||
|
h3 {
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
h3 + * {
|
||||||
|
clear: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.sectionbody {
|
||||||
|
font-family: serif;
|
||||||
|
margin-left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
hr {
|
||||||
|
border: 1px solid silver;
|
||||||
|
}
|
||||||
|
|
||||||
|
p {
|
||||||
|
margin-top: 0.5em;
|
||||||
|
margin-bottom: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul, ol, li > p {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre {
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
span#author {
|
||||||
|
color: #527bbd;
|
||||||
|
font-family: sans-serif;
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 1.1em;
|
||||||
|
}
|
||||||
|
span#email {
|
||||||
|
}
|
||||||
|
span#revnumber, span#revdate, span#revremark {
|
||||||
|
font-family: sans-serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
div#footer {
|
||||||
|
font-family: sans-serif;
|
||||||
|
font-size: small;
|
||||||
|
border-top: 2px solid silver;
|
||||||
|
padding-top: 0.5em;
|
||||||
|
margin-top: 4.0em;
|
||||||
|
}
|
||||||
|
div#footer-text {
|
||||||
|
float: left;
|
||||||
|
padding-bottom: 0.5em;
|
||||||
|
}
|
||||||
|
div#footer-badges {
|
||||||
|
float: right;
|
||||||
|
padding-bottom: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
div#preamble {
|
||||||
|
margin-top: 1.5em;
|
||||||
|
margin-bottom: 1.5em;
|
||||||
|
}
|
||||||
|
div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
|
||||||
|
div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
|
||||||
|
div.admonitionblock {
|
||||||
|
margin-top: 1.5em;
|
||||||
|
margin-bottom: 1.5em;
|
||||||
|
}
|
||||||
|
div.admonitionblock {
|
||||||
|
margin-top: 2.5em;
|
||||||
|
margin-bottom: 2.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.content { /* Block element content. */
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Block element titles. */
|
||||||
|
div.title, caption.title {
|
||||||
|
color: #527bbd;
|
||||||
|
font-family: sans-serif;
|
||||||
|
font-weight: bold;
|
||||||
|
text-align: left;
|
||||||
|
margin-top: 1.0em;
|
||||||
|
margin-bottom: 0.5em;
|
||||||
|
}
|
||||||
|
div.title + * {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
td div.title:first-child {
|
||||||
|
margin-top: 0.0em;
|
||||||
|
}
|
||||||
|
div.content div.title:first-child {
|
||||||
|
margin-top: 0.0em;
|
||||||
|
}
|
||||||
|
div.content + div.title {
|
||||||
|
margin-top: 0.0em;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.sidebarblock > div.content {
|
||||||
|
background: #ffffee;
|
||||||
|
border: 1px solid silver;
|
||||||
|
padding: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.listingblock > div.content {
|
||||||
|
border: 1px solid silver;
|
||||||
|
background: #f4f4f4;
|
||||||
|
padding: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.quoteblock {
|
||||||
|
padding-left: 2.0em;
|
||||||
|
margin-right: 10%;
|
||||||
|
}
|
||||||
|
div.quoteblock > div.attribution {
|
||||||
|
padding-top: 0.5em;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.verseblock {
|
||||||
|
padding-left: 2.0em;
|
||||||
|
margin-right: 10%;
|
||||||
|
}
|
||||||
|
div.verseblock > div.content {
|
||||||
|
white-space: pre;
|
||||||
|
}
|
||||||
|
div.verseblock > div.attribution {
|
||||||
|
padding-top: 0.75em;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
|
||||||
|
div.verseblock + div.attribution {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.admonitionblock .icon {
|
||||||
|
vertical-align: top;
|
||||||
|
font-size: 1.1em;
|
||||||
|
font-weight: bold;
|
||||||
|
text-decoration: underline;
|
||||||
|
color: #527bbd;
|
||||||
|
padding-right: 0.5em;
|
||||||
|
}
|
||||||
|
div.admonitionblock td.content {
|
||||||
|
padding-left: 0.5em;
|
||||||
|
border-left: 2px solid silver;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.exampleblock > div.content {
|
||||||
|
border-left: 2px solid silver;
|
||||||
|
padding: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.imageblock div.content { padding-left: 0; }
|
||||||
|
span.image img { border-style: none; }
|
||||||
|
a.image:visited { color: white; }
|
||||||
|
|
||||||
|
dl {
|
||||||
|
margin-top: 0.8em;
|
||||||
|
margin-bottom: 0.8em;
|
||||||
|
}
|
||||||
|
dt {
|
||||||
|
margin-top: 0.5em;
|
||||||
|
margin-bottom: 0;
|
||||||
|
font-style: normal;
|
||||||
|
color: navy;
|
||||||
|
}
|
||||||
|
dd > *:first-child {
|
||||||
|
margin-top: 0.1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul, ol {
|
||||||
|
list-style-position: outside;
|
||||||
|
}
|
||||||
|
ol.arabic {
|
||||||
|
list-style-type: decimal;
|
||||||
|
}
|
||||||
|
ol.loweralpha {
|
||||||
|
list-style-type: lower-alpha;
|
||||||
|
}
|
||||||
|
ol.upperalpha {
|
||||||
|
list-style-type: upper-alpha;
|
||||||
|
}
|
||||||
|
ol.lowerroman {
|
||||||
|
list-style-type: lower-roman;
|
||||||
|
}
|
||||||
|
ol.upperroman {
|
||||||
|
list-style-type: upper-roman;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.compact ul, div.compact ol,
|
||||||
|
div.compact p, div.compact p,
|
||||||
|
div.compact div, div.compact div {
|
||||||
|
margin-top: 0.1em;
|
||||||
|
margin-bottom: 0.1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.tableblock > table {
|
||||||
|
border: 3px solid #527bbd;
|
||||||
|
}
|
||||||
|
thead {
|
||||||
|
font-family: sans-serif;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
tfoot {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
td > div.verse {
|
||||||
|
white-space: pre;
|
||||||
|
}
|
||||||
|
p.table {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
/* Because the table frame attribute is overriden by CSS in most browsers. */
|
||||||
|
div.tableblock > table[frame="void"] {
|
||||||
|
border-style: none;
|
||||||
|
}
|
||||||
|
div.tableblock > table[frame="hsides"] {
|
||||||
|
border-left-style: none;
|
||||||
|
border-right-style: none;
|
||||||
|
}
|
||||||
|
div.tableblock > table[frame="vsides"] {
|
||||||
|
border-top-style: none;
|
||||||
|
border-bottom-style: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
div.hdlist {
|
||||||
|
margin-top: 0.8em;
|
||||||
|
margin-bottom: 0.8em;
|
||||||
|
}
|
||||||
|
div.hdlist tr {
|
||||||
|
padding-bottom: 15px;
|
||||||
|
}
|
||||||
|
dt.hdlist1.strong, td.hdlist1.strong {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
td.hdlist1 {
|
||||||
|
vertical-align: top;
|
||||||
|
font-style: normal;
|
||||||
|
padding-right: 0.8em;
|
||||||
|
color: navy;
|
||||||
|
}
|
||||||
|
td.hdlist2 {
|
||||||
|
vertical-align: top;
|
||||||
|
}
|
||||||
|
div.hdlist.compact tr {
|
||||||
|
margin: 0;
|
||||||
|
padding-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.comment {
|
||||||
|
background: yellow;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media print {
|
||||||
|
div#footer-badges { display: none; }
|
||||||
|
}
|
||||||
|
|
||||||
|
div#toctitle {
|
||||||
|
color: #527bbd;
|
||||||
|
font-family: sans-serif;
|
||||||
|
font-size: 1.1em;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-top: 1.0em;
|
||||||
|
margin-bottom: 0.1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
|
||||||
|
margin-top: 0;
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
div.toclevel2 {
|
||||||
|
margin-left: 2em;
|
||||||
|
font-size: 0.9em;
|
||||||
|
}
|
||||||
|
div.toclevel3 {
|
||||||
|
margin-left: 4em;
|
||||||
|
font-size: 0.9em;
|
||||||
|
}
|
||||||
|
div.toclevel4 {
|
||||||
|
margin-left: 6em;
|
||||||
|
font-size: 0.9em;
|
||||||
|
}
|