From d9c3185346da244cec58319036523820f5b9f0c0 Mon Sep 17 00:00:00 2001
From: g0dil <g0dil@wiback.org>
Date: Tue, 12 Dec 2006 09:53:14 +0000
Subject: [PATCH] documentation setup

---
 Doxyfile                         | 216 +++++++++++++++++++++
 Mainpage.dox                     |   9 +
 Packets/Doxyfile                 | 275 +--------------------------
 Packets/SConscript               |   5 +-
 Packets/satcom.css               | 310 -------------------------------
 SConstruct                       |   1 +
 Scheduler/Doxyfile               |   4 +
 Scheduler/SConscript             |   6 +-
 Scheduler/Scheduler.hh           |   5 +
 Socket/Doxyfile                  | 275 +--------------------------
 Socket/FileHandle.hh             |   1 +
 Socket/SConscript                |   4 +-
 Socket/SocketHandle.hh           |   1 +
 Utils/Doxyfile                   |   4 +
 Utils/SConscript                 |   6 +-
 doclib/Doxyfile.global           | 230 +++++++++++++++++++++++
 doclib/doxy-footer.html          |   1 +
 doclib/doxy-header-overview.html |  23 +++
 doclib/doxy-header.html          |  23 +++
 doclib/logo-head.png             | Bin 0 -> 2667 bytes
 doclib/logo.xcf                  | Bin 0 -> 357997 bytes
 doclib/senf.css                  | 126 +++++++++++++
 satscons/Doxygen.py              |   2 +-
 satscons/SatSCons.py             |  18 +-
 24 files changed, 681 insertions(+), 864 deletions(-)
 create mode 100644 Doxyfile
 create mode 100644 Mainpage.dox
 delete mode 100644 Packets/satcom.css
 create mode 100644 Scheduler/Doxyfile
 create mode 100644 Utils/Doxyfile
 create mode 100644 doclib/Doxyfile.global
 create mode 100644 doclib/doxy-footer.html
 create mode 100644 doclib/doxy-header-overview.html
 create mode 100644 doclib/doxy-header.html
 create mode 100644 doclib/logo-head.png
 create mode 100644 doclib/logo.xcf
 create mode 100644 doclib/senf.css

diff --git a/Doxyfile b/Doxyfile
new file mode 100644
index 000000000..c627803c3
--- /dev/null
+++ b/Doxyfile
@@ -0,0 +1,216 @@
+PROJECT_NAME           = "SENF Framework Overview"
+PROJECT_NUMBER         = "Version 0.0.1"
+
+OUTPUT_DIRECTORY       = doc
+CREATE_SUBDIRS         = NO
+OUTPUT_LANGUAGE        = English
+USE_WINDOWS_ENCODING   = NO
+BRIEF_MEMBER_DESC      = YES
+REPEAT_BRIEF           = NO
+ABBREVIATE_BRIEF       = 
+ALWAYS_DETAILED_SEC    = NO
+INLINE_INHERITED_MEMB  = NO
+FULL_PATH_NAMES        = NO
+STRIP_FROM_PATH        = 
+STRIP_FROM_INC_PATH    = 
+SHORT_NAMES            = NO
+JAVADOC_AUTOBRIEF      = NO
+MULTILINE_CPP_IS_BRIEF = NO
+DETAILS_AT_TOP         = YES
+INHERIT_DOCS           = YES
+DISTRIBUTE_GROUP_DOC   = NO
+SEPARATE_MEMBER_PAGES  = NO
+TAB_SIZE               = 8
+ALIASES                = 
+OPTIMIZE_OUTPUT_FOR_C  = NO
+OPTIMIZE_OUTPUT_JAVA   = NO
+SUBGROUPING            = YES
+BUILTIN_STL_SUPPORT    = YES
+
+EXTRACT_ALL            = NO
+EXTRACT_PRIVATE        = NO
+EXTRACT_STATIC         = NO
+EXTRACT_LOCAL_CLASSES  = NO
+EXTRACT_LOCAL_METHODS  = NO
+HIDE_UNDOC_MEMBERS     = NO
+HIDE_UNDOC_CLASSES     = NO
+HIDE_FRIEND_COMPOUNDS  = NO
+HIDE_IN_BODY_DOCS      = NO
+INTERNAL_DOCS          = NO
+CASE_SENSE_NAMES       = YES
+HIDE_SCOPE_NAMES       = NO
+SHOW_INCLUDE_FILES     = NO
+INLINE_INFO            = NO
+SORT_MEMBER_DOCS       = YES
+SORT_BRIEF_DOCS        = NO
+SORT_BY_SCOPE_NAME     = YES
+GENERATE_TODOLIST      = YES
+GENERATE_TESTLIST      = YES
+GENERATE_BUGLIST       = YES
+GENERATE_DEPRECATEDLIST= YES
+ENABLED_SECTIONS       = 
+MAX_INITIALIZER_LINES  = 30
+SHOW_USED_FILES        = NO
+SHOW_DIRECTORIES       = NO
+FILE_VERSION_FILTER    = 
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+QUIET                  = NO
+WARNINGS               = YES
+WARN_IF_UNDOCUMENTED   = NO
+WARN_IF_DOC_ERROR      = YES
+WARN_NO_PARAMDOC       = NO
+WARN_FORMAT            = "$file:$line: $text"
+WARN_LOGFILE           = 
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+INPUT                  = .
+FILE_PATTERNS          = *.dox
+RECURSIVE              = NO
+EXCLUDE                = doc
+EXCLUDE_SYMLINKS       = NO
+EXCLUDE_PATTERNS       = 
+EXAMPLE_PATH           = 
+EXAMPLE_PATTERNS       = 
+EXAMPLE_RECURSIVE      = NO
+IMAGE_PATH             = 
+INPUT_FILTER           = 
+FILTER_PATTERNS        = 
+FILTER_SOURCE_FILES    = NO
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+SOURCE_BROWSER         = NO
+INLINE_SOURCES         = NO
+STRIP_CODE_COMMENTS    = YES
+REFERENCED_BY_RELATION = NO
+REFERENCES_RELATION    = NO
+VERBATIM_HEADERS       = NO
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+ALPHABETICAL_INDEX     = NO
+COLS_IN_ALPHA_INDEX    = 5
+IGNORE_PREFIX          = 
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+GENERATE_HTML          = YES
+HTML_OUTPUT            = html
+HTML_FILE_EXTENSION    = .html
+HTML_HEADER            = doclib/doxy-header-overview.html
+HTML_FOOTER            = doclib/doxy-footer.html
+HTML_STYLESHEET        = 
+HTML_ALIGN_MEMBERS     = YES
+GENERATE_HTMLHELP      = NO
+CHM_FILE               = 
+HHC_LOCATION           = 
+GENERATE_CHI           = NO
+BINARY_TOC             = NO
+TOC_EXPAND             = NO
+DISABLE_INDEX          = NO
+ENUM_VALUES_PER_LINE   = 4
+GENERATE_TREEVIEW      = NO
+TREEVIEW_WIDTH         = 250
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+GENERATE_LATEX         = NO
+LATEX_OUTPUT           = latex
+LATEX_CMD_NAME         = latex
+MAKEINDEX_CMD_NAME     = makeindex
+COMPACT_LATEX          = NO
+PAPER_TYPE             = a4wide
+EXTRA_PACKAGES         = 
+LATEX_HEADER           = 
+PDF_HYPERLINKS         = NO
+USE_PDFLATEX           = NO
+LATEX_BATCHMODE        = NO
+LATEX_HIDE_INDICES     = NO
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+GENERATE_RTF           = NO
+RTF_OUTPUT             = rtf
+COMPACT_RTF            = NO
+RTF_HYPERLINKS         = NO
+RTF_STYLESHEET_FILE    = 
+RTF_EXTENSIONS_FILE    = 
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+GENERATE_MAN           = NO
+MAN_OUTPUT             = man
+MAN_EXTENSION          = .3
+MAN_LINKS              = NO
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+GENERATE_XML           = NO
+XML_OUTPUT             = xml
+XML_SCHEMA             = 
+XML_DTD                = 
+XML_PROGRAMLISTING     = YES
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+GENERATE_AUTOGEN_DEF   = NO
+#---------------------------------------------------------------------------
+# configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+GENERATE_PERLMOD       = NO
+PERLMOD_LATEX          = NO
+PERLMOD_PRETTY         = YES
+PERLMOD_MAKEVAR_PREFIX = 
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor   
+#---------------------------------------------------------------------------
+ENABLE_PREPROCESSING   = NO
+MACRO_EXPANSION        = YES
+EXPAND_ONLY_PREDEF     = YES
+SEARCH_INCLUDES        = YES
+INCLUDE_PATH           = libs
+INCLUDE_FILE_PATTERNS  = 
+PREDEFINED             = DOXYGEN
+EXPAND_AS_DEFINED      = DefineCommand
+SKIP_FUNCTION_MACROS   = YES
+#---------------------------------------------------------------------------
+# Configuration::additions related to external references   
+#---------------------------------------------------------------------------
+TAGFILES               = 
+GENERATE_TAGFILE       = 
+ALLEXTERNALS           = NO
+EXTERNAL_GROUPS        = YES
+PERL_PATH              = /usr/bin/perl
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool   
+#---------------------------------------------------------------------------
+CLASS_DIAGRAMS         = NO
+HIDE_UNDOC_RELATIONS   = NO
+HAVE_DOT               = NO
+CLASS_GRAPH            = NO
+COLLABORATION_GRAPH    = NO
+GROUP_GRAPHS           = NO
+UML_LOOK               = NO
+TEMPLATE_RELATIONS     = NO
+INCLUDE_GRAPH          = NO
+INCLUDED_BY_GRAPH      = NO
+CALL_GRAPH             = NO
+GRAPHICAL_HIERARCHY    = NO
+DIRECTORY_GRAPH        = NO
+DOT_IMAGE_FORMAT       = png
+DOT_PATH               = 
+DOTFILE_DIRS           = 
+MAX_DOT_GRAPH_WIDTH    = 800
+MAX_DOT_GRAPH_HEIGHT   = 1200
+MAX_DOT_GRAPH_DEPTH    = 1000
+DOT_TRANSPARENT        = NO
+DOT_MULTI_TARGETS      = YES
+GENERATE_LEGEND        = NO
+DOT_CLEANUP            = NO
+#---------------------------------------------------------------------------
+# Configuration::additions related to the search engine   
+#---------------------------------------------------------------------------
+SEARCHENGINE           = NO
diff --git a/Mainpage.dox b/Mainpage.dox
new file mode 100644
index 000000000..d37ba40d6
--- /dev/null
+++ b/Mainpage.dox
@@ -0,0 +1,9 @@
+/** \mainpage SENF: The Simple and Extensible Network Framework
+    
+    
+*/
+
+
+// Local Variables:
+// mode: c++
+// End:
diff --git a/Packets/Doxyfile b/Packets/Doxyfile
index 5701f22f0..b190777c7 100644
--- a/Packets/Doxyfile
+++ b/Packets/Doxyfile
@@ -1,273 +1,4 @@
-# Doxyfile 1.4.2
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-PROJECT_NAME           = "SatCom PacketFramework: Packet library"
+PROJECT_NAME           = "libPackets: The Packets library"
 PROJECT_NUMBER         = "Version 0.0.1"
-OUTPUT_DIRECTORY       = doc
-CREATE_SUBDIRS         = NO
-OUTPUT_LANGUAGE        = English
-USE_WINDOWS_ENCODING   = NO
-BRIEF_MEMBER_DESC      = YES
-REPEAT_BRIEF           = NO
-ABBREVIATE_BRIEF       = "The $name class" \
-                         "The $name widget" \
-                         "The $name file" \
-                         is \
-                         provides \
-                         specifies \
-                         contains \
-                         represents \
-                         a \
-                         an \
-                         the
-ALWAYS_DETAILED_SEC    = NO
-INLINE_INHERITED_MEMB  = NO
-FULL_PATH_NAMES        = NO
-STRIP_FROM_PATH        = /share/izo/home/stefan/group/FhG/Seminar/example/
-STRIP_FROM_INC_PATH    = 
-SHORT_NAMES            = NO
-JAVADOC_AUTOBRIEF      = NO
-MULTILINE_CPP_IS_BRIEF = NO
-DETAILS_AT_TOP         = YES
-INHERIT_DOCS           = YES
-DISTRIBUTE_GROUP_DOC   = NO
-SEPARATE_MEMBER_PAGES  = NO
-TAB_SIZE               = 8
-ALIASES                = 
-OPTIMIZE_OUTPUT_FOR_C  = NO
-OPTIMIZE_OUTPUT_JAVA   = NO
-SUBGROUPING            = YES
-#---------------------------------------------------------------------------
-# Build related configuration options
-#---------------------------------------------------------------------------
-EXTRACT_ALL            = YES
-EXTRACT_PRIVATE        = YES
-EXTRACT_STATIC         = YES
-EXTRACT_LOCAL_CLASSES  = YES
-EXTRACT_LOCAL_METHODS  = NO
-HIDE_UNDOC_MEMBERS     = NO
-HIDE_UNDOC_CLASSES     = NO
-HIDE_FRIEND_COMPOUNDS  = NO
-HIDE_IN_BODY_DOCS      = NO
-INTERNAL_DOCS          = YES
-CASE_SENSE_NAMES       = YES
-HIDE_SCOPE_NAMES       = NO
-SHOW_INCLUDE_FILES     = YES
-INLINE_INFO            = YES
-SORT_MEMBER_DOCS       = YES
-SORT_BRIEF_DOCS        = NO
-SORT_BY_SCOPE_NAME     = YES
-GENERATE_TODOLIST      = YES
-GENERATE_TESTLIST      = YES
-GENERATE_BUGLIST       = YES
-GENERATE_DEPRECATEDLIST= YES
-ENABLED_SECTIONS       = 
-MAX_INITIALIZER_LINES  = 30
-SHOW_USED_FILES        = YES
-SHOW_DIRECTORIES       = YES
-FILE_VERSION_FILTER    = 
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-QUIET                  = NO
-WARNINGS               = YES
-WARN_IF_UNDOCUMENTED   = NO
-WARN_IF_DOC_ERROR      = YES
-WARN_NO_PARAMDOC       = NO
-WARN_FORMAT            = "$file:$line: $text"
-WARN_LOGFILE           = 
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-INPUT                  = .
-FILE_PATTERNS          = *.c \
-                         *.cc \
-                         *.cxx \
-                         *.cpp \
-                         *.c++ \
-                         *.d \
-                         *.java \
-                         *.ii \
-                         *.ixx \
-                         *.ipp \
-                         *.i++ \
-                         *.inl \
-                         *.h \
-                         *.hh \
-                         *.hxx \
-                         *.hpp \
-                         *.h++ \
-                         *.idl \
-                         *.odl \
-                         *.cs \
-                         *.php \
-                         *.php3 \
-                         *.inc \
-                         *.m \
-                         *.mm \
-                         *.dox \
-                         *.C \
-                         *.CC \
-                         *.C++ \
-                         *.II \
-                         *.I++ \
-                         *.H \
-                         *.HH \
-                         *.H++ \
-                         *.CS \
-                         *.PHP \
-                         *.PHP3 \
-                         *.M \
-                         *.MM \
-                         *.cci \
-                         *.ct \
-                         *.cti \
-                         *.ih
-RECURSIVE              = NO
-EXCLUDE                = doc
-EXCLUDE_SYMLINKS       = NO
-EXCLUDE_PATTERNS       = *.test.cc
-EXAMPLE_PATH           = 
-EXAMPLE_PATTERNS       = *
-EXAMPLE_RECURSIVE      = NO
-IMAGE_PATH             = 
-INPUT_FILTER           = 
-FILTER_PATTERNS        = 
-FILTER_SOURCE_FILES    = NO
-#---------------------------------------------------------------------------
-# configuration options related to source browsing
-#---------------------------------------------------------------------------
-SOURCE_BROWSER         = YES
-INLINE_SOURCES         = NO
-STRIP_CODE_COMMENTS    = YES
-REFERENCED_BY_RELATION = YES
-REFERENCES_RELATION    = YES
-VERBATIM_HEADERS       = YES
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-ALPHABETICAL_INDEX     = YES
-COLS_IN_ALPHA_INDEX    = 5
-IGNORE_PREFIX          = 
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-GENERATE_HTML          = YES
-HTML_OUTPUT            = html
-HTML_FILE_EXTENSION    = .html
-HTML_HEADER            = 
-HTML_FOOTER            = 
-HTML_STYLESHEET        = satcom.css
-HTML_ALIGN_MEMBERS     = YES
-GENERATE_HTMLHELP      = NO
-CHM_FILE               = 
-HHC_LOCATION           = 
-GENERATE_CHI           = NO
-BINARY_TOC             = NO
-TOC_EXPAND             = NO
-DISABLE_INDEX          = NO
-ENUM_VALUES_PER_LINE   = 4
-GENERATE_TREEVIEW      = NO
-TREEVIEW_WIDTH         = 250
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-GENERATE_LATEX         = NO
-LATEX_OUTPUT           = latex
-LATEX_CMD_NAME         = latex
-MAKEINDEX_CMD_NAME     = makeindex
-COMPACT_LATEX          = NO
-PAPER_TYPE             = a4wide
-EXTRA_PACKAGES         = 
-LATEX_HEADER           = 
-PDF_HYPERLINKS         = NO
-USE_PDFLATEX           = NO
-LATEX_BATCHMODE        = NO
-LATEX_HIDE_INDICES     = NO
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-GENERATE_RTF           = NO
-RTF_OUTPUT             = rtf
-COMPACT_RTF            = NO
-RTF_HYPERLINKS         = NO
-RTF_STYLESHEET_FILE    = 
-RTF_EXTENSIONS_FILE    = 
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-GENERATE_MAN           = NO
-MAN_OUTPUT             = man
-MAN_EXTENSION          = .3
-MAN_LINKS              = NO
-#---------------------------------------------------------------------------
-# configuration options related to the XML output
-#---------------------------------------------------------------------------
-GENERATE_XML           = NO
-XML_OUTPUT             = xml
-XML_SCHEMA             = 
-XML_DTD                = 
-XML_PROGRAMLISTING     = YES
-#---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-GENERATE_AUTOGEN_DEF   = NO
-#---------------------------------------------------------------------------
-# configuration options related to the Perl module output
-#---------------------------------------------------------------------------
-GENERATE_PERLMOD       = NO
-PERLMOD_LATEX          = NO
-PERLMOD_PRETTY         = YES
-PERLMOD_MAKEVAR_PREFIX = 
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor   
-#---------------------------------------------------------------------------
-ENABLE_PREPROCESSING   = YES
-MACRO_EXPANSION        = YES
-EXPAND_ONLY_PREDEF     = YES
-SEARCH_INCLUDES        = YES
-INCLUDE_PATH           = libs
-INCLUDE_FILE_PATTERNS  = 
-PREDEFINED             = DOXYGEN
-EXPAND_AS_DEFINED      = DefineCommand
-SKIP_FUNCTION_MACROS   = YES
-#---------------------------------------------------------------------------
-# Configuration::additions related to external references   
-#---------------------------------------------------------------------------
-TAGFILES               = 
-GENERATE_TAGFILE       = 
-ALLEXTERNALS           = NO
-EXTERNAL_GROUPS        = YES
-PERL_PATH              = /usr/bin/perl
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool   
-#---------------------------------------------------------------------------
-CLASS_DIAGRAMS         = YES
-HIDE_UNDOC_RELATIONS   = NO
-HAVE_DOT               = YES
-CLASS_GRAPH            = YES
-COLLABORATION_GRAPH    = YES
-GROUP_GRAPHS           = YES
-UML_LOOK               = NO
-TEMPLATE_RELATIONS     = NO
-INCLUDE_GRAPH          = YES
-INCLUDED_BY_GRAPH      = YES
-CALL_GRAPH             = NO
-GRAPHICAL_HIERARCHY    = NO
-DIRECTORY_GRAPH        = NO
-DOT_IMAGE_FORMAT       = png
-DOT_PATH               = 
-DOTFILE_DIRS           = 
-MAX_DOT_GRAPH_WIDTH    = 800
-MAX_DOT_GRAPH_HEIGHT   = 1200
-MAX_DOT_GRAPH_DEPTH    = 1000
-DOT_TRANSPARENT        = NO
-DOT_MULTI_TARGETS      = YES
-GENERATE_LEGEND        = YES
-DOT_CLEANUP            = NO
-#---------------------------------------------------------------------------
-# Configuration::additions related to the search engine   
-#---------------------------------------------------------------------------
-SEARCHENGINE           = NO
+
+@INCLUDE = ../doclib/Doxyfile.global
\ No newline at end of file
diff --git a/Packets/SConscript b/Packets/SConscript
index 555482bab..38ee2ba32 100644
--- a/Packets/SConscript
+++ b/Packets/SConscript
@@ -1,3 +1,5 @@
+# -*- python -*-
+
 Import('env')
 import SatSCons
 
@@ -6,5 +8,6 @@ import SatSCons
 sources = SatSCons.GlobSources()
 SatSCons.StandardTargets(env)
 SatSCons.Lib(env, 'Packets',  sources, )
-SatSCons.Doxygen(env,sources, image = [ "structure.dia" ])
+SatSCons.Doxygen(env,sources,SatSCons.DoxyGlob(),
+		 image = [ "structure.dia" ])
     
diff --git a/Packets/satcom.css b/Packets/satcom.css
deleted file mode 100644
index 5b3d1dbee..000000000
--- a/Packets/satcom.css
+++ /dev/null
@@ -1,310 +0,0 @@
-BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV {
-	font-family: Geneva, Arial, Helvetica, sans-serif;
-}
-BODY,TD {
-       font-size: 90%;
-}
-H1 {
-	text-align: center;
-       font-size: 160%;
-}
-H2 {
-       font-size: 120%;
-}
-H3 {
-       font-size: 100%;
-}
-CAPTION { font-weight: bold }
-DIV.qindex {
-	width: 100%;
-	background-color: #eeeeff;
-	border: 1px solid #b0b0b0;
-	text-align: center;
-	margin: 2px;
-	padding: 2px;
-	line-height: 140%;
-}
-DIV.nav {
-	width: 100%;
-	background-color: #eeeeff;
-	border: 1px solid #b0b0b0;
-	text-align: center;
-	margin: 2px;
-	padding: 2px;
-	line-height: 140%;
-}
-DIV.navtab {
-       background-color: #eeeeff;
-       border: 1px solid #b0b0b0;
-       text-align: center;
-       margin: 2px;
-       margin-right: 15px;
-       padding: 2px;
-}
-TD.navtab {
-       font-size: 70%;
-}
-A.qindex {
-       text-decoration: none;
-       font-weight: bold;
-       color: #1A419D;
-}
-A.qindex:visited {
-       text-decoration: none;
-       font-weight: bold;
-       color: #1A419D
-}
-A.qindex:hover {
-	text-decoration: none;
-	background-color: #ddddff;
-}
-A.qindexHL {
-	text-decoration: none;
-	font-weight: bold;
-	background-color: #6666cc;
-	color: #ffffff;
-	border: 1px double #9295C2;
-}
-A.qindexHL:hover {
-	text-decoration: none;
-	background-color: #6666cc;
-	color: #ffffff;
-}
-A.qindexHL:visited { text-decoration: none; background-color: #6666cc; color: #ffffff }
-A.el { text-decoration: none; font-weight: bold }
-A.elRef { font-weight: bold }
-A.code:link { text-decoration: none; font-weight: normal; color: #0000FF}
-A.code:visited { text-decoration: none; font-weight: normal; color: #0000FF}
-A.codeRef:link { font-weight: normal; color: #0000FF}
-A.codeRef:visited { font-weight: normal; color: #0000FF}
-A:hover { text-decoration: none; background-color: #f2f2ff }
-DL.el { margin-left: -1cm }
-.fragment {
-       font-family: Fixed, monospace;
-       font-size: 95%;
-}
-PRE.fragment {
-	border: 1px solid #CCCCCC;
-	background-color: #f5f5f5;
-	margin-top: 4px;
-	margin-bottom: 4px;
-	margin-left: 2px;
-	margin-right: 8px;
-	padding-left: 6px;
-	padding-right: 6px;
-	padding-top: 4px;
-	padding-bottom: 4px;
-}
-DIV.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px }
-TD.md { background-color: #F4F4FB; font-weight: bold; }
-TD.mdPrefix {
-       background-color: #F4F4FB;
-       color: #606060;
-	font-size: 80%;
-}
-TD.mdname1 { background-color: #F4F4FB; font-weight: bold; color: #602020; }
-TD.mdname { background-color: #F4F4FB; font-weight: bold; color: #602020; width: 600px; }
-DIV.groupHeader {
-       margin-left: 16px;
-       margin-top: 12px;
-       margin-bottom: 6px;
-       font-weight: bold;
-}
-DIV.groupText { margin-left: 16px; font-style: italic; font-size: 90% }
-BODY {
-	background: white;
-	color: black;
-	margin-right: 20px;
-	margin-left: 20px;
-}
-TD.indexkey {
-	background-color: #eeeeff;
-	font-weight: bold;
-	padding-right  : 10px;
-	padding-top    : 2px;
-	padding-left   : 10px;
-	padding-bottom : 2px;
-	margin-left    : 0px;
-	margin-right   : 0px;
-	margin-top     : 2px;
-	margin-bottom  : 2px;
-	border: 1px solid #CCCCCC;
-}
-TD.indexvalue {
-	background-color: #eeeeff;
-	font-style: italic;
-	padding-right  : 10px;
-	padding-top    : 2px;
-	padding-left   : 10px;
-	padding-bottom : 2px;
-	margin-left    : 0px;
-	margin-right   : 0px;
-	margin-top     : 2px;
-	margin-bottom  : 2px;
-	border: 1px solid #CCCCCC;
-}
-TR.memlist {
-   background-color: #f0f0f0; 
-}
-P.formulaDsp { text-align: center; }
-IMG.formulaDsp { }
-IMG.formulaInl { vertical-align: middle; }
-SPAN.keyword       { color: #008000 }
-SPAN.keywordtype   { color: #604020 }
-SPAN.keywordflow   { color: #e08000 }
-SPAN.comment       { color: #800000 }
-SPAN.preprocessor  { color: #806020 }
-SPAN.stringliteral { color: #002080 }
-SPAN.charliteral   { color: #008080 }
-.mdTable {
-	border: 1px solid #868686;
-	background-color: #F4F4FB;
-        width: 100%;
-}
-.mdRow {
-	padding: 8px 10px;
-}
-.mdescLeft {
-       padding: 0px 8px 4px 8px;
-	font-size: 80%;
-	font-style: italic;
-	background-color: #FAFAFA;
-	border-top: 1px none #E0E0E0;
-	border-right: 1px none #E0E0E0;
-	border-bottom: 1px none #E0E0E0;
-	border-left: 1px none #E0E0E0;
-	margin: 0px;
-}
-.mdescRight {
-       padding: 0px 8px 4px 8px;
-	font-size: 80%;
-	font-style: italic;
-	background-color: #FAFAFA;
-	border-top: 1px none #E0E0E0;
-	border-right: 1px none #E0E0E0;
-	border-bottom: 1px none #E0E0E0;
-	border-left: 1px none #E0E0E0;
-	margin: 0px;
-}
-.memItemLeft {
-	padding: 1px 0px 0px 8px;
-	margin: 4px;
-	border-top-width: 1px;
-	border-right-width: 1px;
-	border-bottom-width: 1px;
-	border-left-width: 1px;
-	border-top-color: #E0E0E0;
-	border-right-color: #E0E0E0;
-	border-bottom-color: #E0E0E0;
-	border-left-color: #E0E0E0;
-	border-top-style: solid;
-	border-right-style: none;
-	border-bottom-style: none;
-	border-left-style: none;
-	background-color: #FAFAFA;
-	font-size: 80%;
-}
-.memItemRight {
-	padding: 1px 8px 0px 8px;
-	margin: 4px;
-	border-top-width: 1px;
-	border-right-width: 1px;
-	border-bottom-width: 1px;
-	border-left-width: 1px;
-	border-top-color: #E0E0E0;
-	border-right-color: #E0E0E0;
-	border-bottom-color: #E0E0E0;
-	border-left-color: #E0E0E0;
-	border-top-style: solid;
-	border-right-style: none;
-	border-bottom-style: none;
-	border-left-style: none;
-	background-color: #FAFAFA;
-	font-size: 80%;
-}
-.memTemplItemLeft {
-	padding: 1px 0px 0px 8px;
-	margin: 4px;
-	border-top-width: 1px;
-	border-right-width: 1px;
-	border-bottom-width: 1px;
-	border-left-width: 1px;
-	border-top-color: #E0E0E0;
-	border-right-color: #E0E0E0;
-	border-bottom-color: #E0E0E0;
-	border-left-color: #E0E0E0;
-	border-top-style: none;
-	border-right-style: none;
-	border-bottom-style: none;
-	border-left-style: none;
-	background-color: #FAFAFA;
-	font-size: 80%;
-}
-.memTemplItemRight {
-	padding: 1px 8px 0px 8px;
-	margin: 4px;
-	border-top-width: 1px;
-	border-right-width: 1px;
-	border-bottom-width: 1px;
-	border-left-width: 1px;
-	border-top-color: #E0E0E0;
-	border-right-color: #E0E0E0;
-	border-bottom-color: #E0E0E0;
-	border-left-color: #E0E0E0;
-	border-top-style: none;
-	border-right-style: none;
-	border-bottom-style: none;
-	border-left-style: none;
-	background-color: #FAFAFA;
-	font-size: 80%;
-}
-.memTemplParams {
-	padding: 1px 0px 0px 8px;
-	margin: 4px;
-	border-top-width: 1px;
-	border-right-width: 1px;
-	border-bottom-width: 1px;
-	border-left-width: 1px;
-	border-top-color: #E0E0E0;
-	border-right-color: #E0E0E0;
-	border-bottom-color: #E0E0E0;
-	border-left-color: #E0E0E0;
-	border-top-style: solid;
-	border-right-style: none;
-	border-bottom-style: none;
-	border-left-style: none;
-       color: #606060;
-	background-color: #FAFAFA;
-	font-size: 80%;
-}
-.search     { color: #003399;
-              font-weight: bold;
-}
-FORM.search {
-              margin-bottom: 0px;
-              margin-top: 0px;
-}
-INPUT.search { font-size: 75%;
-               color: #000080;
-               font-weight: normal;
-               background-color: #eeeeff;
-}
-TD.tiny      { font-size: 75%;
-}
-a {
-	color: #252E78;
-}
-a:visited {
-	color: #3D2185;
-}
-.dirtab { padding: 4px;
-          border-collapse: collapse;
-          border: 1px solid #b0b0b0;
-}
-TH.dirtab { background: #eeeeff;
-            font-weight: bold;
-}
-HR { height: 1px;
-     border: none;
-     border-top: 1px solid black;
-}
diff --git a/SConstruct b/SConstruct
index 77b5b023d..04ad6ba3b 100644
--- a/SConstruct
+++ b/SConstruct
@@ -20,3 +20,4 @@ SConscript(glob.glob("*/SConscript"))
 
 SatSCons.StandardTargets(env)
 SatSCons.GlobalTargets(env)
+SatSCons.Doxygen(env, SatSCons.DoxyGlob())
\ No newline at end of file
diff --git a/Scheduler/Doxyfile b/Scheduler/Doxyfile
new file mode 100644
index 000000000..6fa55a363
--- /dev/null
+++ b/Scheduler/Doxyfile
@@ -0,0 +1,4 @@
+PROJECT_NAME           = "libScheduler: The Scheduler library"
+PROJECT_NUMBER         = "Version 0.0.1"
+
+@INCLUDE = ../doclib/Doxyfile.global
diff --git a/Scheduler/SConscript b/Scheduler/SConscript
index 2909ad34a..3ea2bc104 100644
--- a/Scheduler/SConscript
+++ b/Scheduler/SConscript
@@ -1,10 +1,14 @@
+# -*- python -*-
+
 Import('env')
 import SatSCons
 
 ###########################################################################
 
+sources = SatSCons.GlobSources()
 SatSCons.StandardTargets(env)
 SatSCons.Lib(env,
              library = 'Scheduler',
-             sources = SatSCons.GlobSources(),
+             sources = sources,
              LIBS = [ 'Socket', 'Utils' ])
+SatSCons.Doxygen(env, sources, SatSCons.DoxyGlob())
diff --git a/Scheduler/Scheduler.hh b/Scheduler/Scheduler.hh
index 6788f61aa..785dce93f 100644
--- a/Scheduler/Scheduler.hh
+++ b/Scheduler/Scheduler.hh
@@ -22,6 +22,11 @@
 
 // TODO: Fix EventId parameter (probably to int) to allow |-ing without casting ...
 
+
+/** \mainpage The SENF Scheduler library
+
+ */
+
 #ifndef HH_Scheduler_
 #define HH_Scheduler_ 1
 
diff --git a/Socket/Doxyfile b/Socket/Doxyfile
index 3a08b6331..76c0c3c73 100644
--- a/Socket/Doxyfile
+++ b/Socket/Doxyfile
@@ -1,273 +1,4 @@
-# Doxyfile 1.4.2
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-PROJECT_NAME           = ""
+PROJECT_NAME           = "libSocket: The Socket library"
 PROJECT_NUMBER         = "Version 0.0.1"
-OUTPUT_DIRECTORY       = doc
-CREATE_SUBDIRS         = NO
-OUTPUT_LANGUAGE        = English
-USE_WINDOWS_ENCODING   = NO
-BRIEF_MEMBER_DESC      = YES
-REPEAT_BRIEF           = NO
-ABBREVIATE_BRIEF       = "The $name class" \
-                         "The $name widget" \
-                         "The $name file" \
-                         is \
-                         provides \
-                         specifies \
-                         contains \
-                         represents \
-                         a \
-                         an \
-                         the
-ALWAYS_DETAILED_SEC    = NO
-INLINE_INHERITED_MEMB  = NO
-FULL_PATH_NAMES        = NO
-STRIP_FROM_PATH        = 
-STRIP_FROM_INC_PATH    = 
-SHORT_NAMES            = NO
-JAVADOC_AUTOBRIEF      = NO
-MULTILINE_CPP_IS_BRIEF = NO
-DETAILS_AT_TOP         = YES
-INHERIT_DOCS           = YES
-DISTRIBUTE_GROUP_DOC   = NO
-SEPARATE_MEMBER_PAGES  = NO
-TAB_SIZE               = 8
-ALIASES                = 
-OPTIMIZE_OUTPUT_FOR_C  = NO
-OPTIMIZE_OUTPUT_JAVA   = NO
-SUBGROUPING            = YES
-#---------------------------------------------------------------------------
-# Build related configuration options
-#---------------------------------------------------------------------------
-EXTRACT_ALL            = YES
-EXTRACT_PRIVATE        = YES
-EXTRACT_STATIC         = YES
-EXTRACT_LOCAL_CLASSES  = YES
-EXTRACT_LOCAL_METHODS  = NO
-HIDE_UNDOC_MEMBERS     = NO
-HIDE_UNDOC_CLASSES     = NO
-HIDE_FRIEND_COMPOUNDS  = NO
-HIDE_IN_BODY_DOCS      = NO
-INTERNAL_DOCS          = YES
-CASE_SENSE_NAMES       = YES
-HIDE_SCOPE_NAMES       = NO
-SHOW_INCLUDE_FILES     = YES
-INLINE_INFO            = YES
-SORT_MEMBER_DOCS       = YES
-SORT_BRIEF_DOCS        = NO
-SORT_BY_SCOPE_NAME     = YES
-GENERATE_TODOLIST      = YES
-GENERATE_TESTLIST      = YES
-GENERATE_BUGLIST       = YES
-GENERATE_DEPRECATEDLIST= YES
-ENABLED_SECTIONS       = 
-MAX_INITIALIZER_LINES  = 30
-SHOW_USED_FILES        = YES
-SHOW_DIRECTORIES       = YES
-FILE_VERSION_FILTER    = 
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-QUIET                  = NO
-WARNINGS               = YES
-WARN_IF_UNDOCUMENTED   = NO
-WARN_IF_DOC_ERROR      = YES
-WARN_NO_PARAMDOC       = NO
-WARN_FORMAT            = "$file:$line: $text"
-WARN_LOGFILE           = 
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-INPUT                  = .
-FILE_PATTERNS          = *.c \
-                         *.cc \
-                         *.cxx \
-                         *.cpp \
-                         *.c++ \
-                         *.d \
-                         *.java \
-                         *.ii \
-                         *.ixx \
-                         *.ipp \
-                         *.i++ \
-                         *.inl \
-                         *.h \
-                         *.hh \
-                         *.hxx \
-                         *.hpp \
-                         *.h++ \
-                         *.idl \
-                         *.odl \
-                         *.cs \
-                         *.php \
-                         *.php3 \
-                         *.inc \
-                         *.m \
-                         *.mm \
-                         *.dox \
-                         *.C \
-                         *.CC \
-                         *.C++ \
-                         *.II \
-                         *.I++ \
-                         *.H \
-                         *.HH \
-                         *.H++ \
-                         *.CS \
-                         *.PHP \
-                         *.PHP3 \
-                         *.M \
-                         *.MM \
-                         *.cci \
-                         *.ct \
-                         *.cti \
-                         *.ih
-RECURSIVE              = NO
-EXCLUDE                = doc
-EXCLUDE_SYMLINKS       = NO
-EXCLUDE_PATTERNS       = *.test.cc
-EXAMPLE_PATH           = 
-EXAMPLE_PATTERNS       = *
-EXAMPLE_RECURSIVE      = NO
-IMAGE_PATH             = 
-INPUT_FILTER           = 
-FILTER_PATTERNS        = 
-FILTER_SOURCE_FILES    = NO
-#---------------------------------------------------------------------------
-# configuration options related to source browsing
-#---------------------------------------------------------------------------
-SOURCE_BROWSER         = YES
-INLINE_SOURCES         = NO
-STRIP_CODE_COMMENTS    = YES
-REFERENCED_BY_RELATION = YES
-REFERENCES_RELATION    = YES
-VERBATIM_HEADERS       = YES
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-ALPHABETICAL_INDEX     = YES
-COLS_IN_ALPHA_INDEX    = 5
-IGNORE_PREFIX          = 
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-GENERATE_HTML          = YES
-HTML_OUTPUT            = html
-HTML_FILE_EXTENSION    = .html
-HTML_HEADER            = 
-HTML_FOOTER            = 
-HTML_STYLESHEET        = satcom.css
-HTML_ALIGN_MEMBERS     = YES
-GENERATE_HTMLHELP      = NO
-CHM_FILE               = 
-HHC_LOCATION           = 
-GENERATE_CHI           = NO
-BINARY_TOC             = NO
-TOC_EXPAND             = NO
-DISABLE_INDEX          = NO
-ENUM_VALUES_PER_LINE   = 4
-GENERATE_TREEVIEW      = NO
-TREEVIEW_WIDTH         = 250
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-GENERATE_LATEX         = NO
-LATEX_OUTPUT           = latex
-LATEX_CMD_NAME         = latex
-MAKEINDEX_CMD_NAME     = makeindex
-COMPACT_LATEX          = NO
-PAPER_TYPE             = a4wide
-EXTRA_PACKAGES         = 
-LATEX_HEADER           = 
-PDF_HYPERLINKS         = NO
-USE_PDFLATEX           = NO
-LATEX_BATCHMODE        = NO
-LATEX_HIDE_INDICES     = NO
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-GENERATE_RTF           = NO
-RTF_OUTPUT             = rtf
-COMPACT_RTF            = NO
-RTF_HYPERLINKS         = NO
-RTF_STYLESHEET_FILE    = 
-RTF_EXTENSIONS_FILE    = 
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-GENERATE_MAN           = NO
-MAN_OUTPUT             = man
-MAN_EXTENSION          = .3
-MAN_LINKS              = NO
-#---------------------------------------------------------------------------
-# configuration options related to the XML output
-#---------------------------------------------------------------------------
-GENERATE_XML           = NO
-XML_OUTPUT             = xml
-XML_SCHEMA             = 
-XML_DTD                = 
-XML_PROGRAMLISTING     = YES
-#---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-GENERATE_AUTOGEN_DEF   = NO
-#---------------------------------------------------------------------------
-# configuration options related to the Perl module output
-#---------------------------------------------------------------------------
-GENERATE_PERLMOD       = NO
-PERLMOD_LATEX          = NO
-PERLMOD_PRETTY         = YES
-PERLMOD_MAKEVAR_PREFIX = 
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor   
-#---------------------------------------------------------------------------
-ENABLE_PREPROCESSING   = YES
-MACRO_EXPANSION        = YES
-EXPAND_ONLY_PREDEF     = YES
-SEARCH_INCLUDES        = YES
-INCLUDE_PATH           = libs
-INCLUDE_FILE_PATTERNS  = 
-PREDEFINED             = DOXYGEN
-EXPAND_AS_DEFINED      = DefineCommand
-SKIP_FUNCTION_MACROS   = YES
-#---------------------------------------------------------------------------
-# Configuration::additions related to external references   
-#---------------------------------------------------------------------------
-TAGFILES               = 
-GENERATE_TAGFILE       = 
-ALLEXTERNALS           = NO
-EXTERNAL_GROUPS        = YES
-PERL_PATH              = /usr/bin/perl
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool   
-#---------------------------------------------------------------------------
-CLASS_DIAGRAMS         = YES
-HIDE_UNDOC_RELATIONS   = NO
-HAVE_DOT               = YES
-CLASS_GRAPH            = YES
-COLLABORATION_GRAPH    = YES
-GROUP_GRAPHS           = YES
-UML_LOOK               = NO
-TEMPLATE_RELATIONS     = NO
-INCLUDE_GRAPH          = YES
-INCLUDED_BY_GRAPH      = YES
-CALL_GRAPH             = NO
-GRAPHICAL_HIERARCHY    = NO
-DIRECTORY_GRAPH        = NO
-DOT_IMAGE_FORMAT       = png
-DOT_PATH               = 
-DOTFILE_DIRS           = 
-MAX_DOT_GRAPH_WIDTH    = 800
-MAX_DOT_GRAPH_HEIGHT   = 1200
-MAX_DOT_GRAPH_DEPTH    = 1000
-DOT_TRANSPARENT        = NO
-DOT_MULTI_TARGETS      = YES
-GENERATE_LEGEND        = YES
-DOT_CLEANUP            = NO
-#---------------------------------------------------------------------------
-# Configuration::additions related to the search engine   
-#---------------------------------------------------------------------------
-SEARCHENGINE           = NO
+
+@INCLUDE = ../doclib/Doxyfile.global
\ No newline at end of file
diff --git a/Socket/FileHandle.hh b/Socket/FileHandle.hh
index febfa011c..3bbbb9b60 100644
--- a/Socket/FileHandle.hh
+++ b/Socket/FileHandle.hh
@@ -20,6 +20,7 @@
 // Free Software Foundation, Inc.,
 // 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 
+
 /** \mainpage The SENF Socket Library
 
 \section arch Overall Architecture
diff --git a/Socket/SConscript b/Socket/SConscript
index d0ba53c57..72af96427 100644
--- a/Socket/SConscript
+++ b/Socket/SConscript
@@ -1,3 +1,5 @@
+# -*- python -*-
+
 Import('env')
 import SatSCons
 
@@ -12,5 +14,5 @@ SatSCons.Lib(env,
              sources = sources,
              LIBS = [ 'Utils' ])
 
-SatSCons.Doxygen(env,sources,
+SatSCons.Doxygen(env,sources,SatSCons.DoxyGlob(),
                  image=[ 'SocketLibrary-classes.dia' ])
diff --git a/Socket/SocketHandle.hh b/Socket/SocketHandle.hh
index f56e7d486..e3ad05aee 100644
--- a/Socket/SocketHandle.hh
+++ b/Socket/SocketHandle.hh
@@ -23,6 +23,7 @@
 // TODO: Create a SocketHandleBase class and move some non-Policy
 // dependent code there
 
+
 #ifndef HH_SocketHandle_
 #define HH_SocketHandle_ 1
 
diff --git a/Utils/Doxyfile b/Utils/Doxyfile
new file mode 100644
index 000000000..df1a435cd
--- /dev/null
+++ b/Utils/Doxyfile
@@ -0,0 +1,4 @@
+PROJECT_NAME           = "libUtils: The Utils library"
+PROJECT_NUMBER         = "Version 0.0.1"
+
+@INCLUDE = ../doclib/Doxyfile.global
diff --git a/Utils/SConscript b/Utils/SConscript
index 81cb37c6b..373bffc47 100644
--- a/Utils/SConscript
+++ b/Utils/SConscript
@@ -1,7 +1,11 @@
+# -*- python -*-
+
 Import('env')
 import SatSCons
 
 ###########################################################################
 
+sources = SatSCons.GlobSources()
 SatSCons.StandardTargets(env)
-SatSCons.Lib(env, 'Utils',  SatSCons.GlobSources())
+SatSCons.Lib(env, 'Utils', sources)
+SatSCons.Doxygen(env, sources, SatSCons.DoxyGlob())
diff --git a/doclib/Doxyfile.global b/doclib/Doxyfile.global
new file mode 100644
index 000000000..345c0aea1
--- /dev/null
+++ b/doclib/Doxyfile.global
@@ -0,0 +1,230 @@
+# Doxyfile 1.4.2
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+OUTPUT_DIRECTORY       = doc
+CREATE_SUBDIRS         = NO
+OUTPUT_LANGUAGE        = English
+USE_WINDOWS_ENCODING   = NO
+BRIEF_MEMBER_DESC      = YES
+REPEAT_BRIEF           = NO
+ABBREVIATE_BRIEF       = "The $name class" \
+                         "The $name widget" \
+                         "The $name file" \
+                         is \
+                         provides \
+                         specifies \
+                         contains \
+                         represents \
+                         a \
+                         an \
+                         the
+ALWAYS_DETAILED_SEC    = NO
+INLINE_INHERITED_MEMB  = NO
+FULL_PATH_NAMES        = NO
+STRIP_FROM_PATH        = 
+STRIP_FROM_INC_PATH    = 
+SHORT_NAMES            = NO
+JAVADOC_AUTOBRIEF      = NO
+MULTILINE_CPP_IS_BRIEF = NO
+DETAILS_AT_TOP         = YES
+INHERIT_DOCS           = YES
+DISTRIBUTE_GROUP_DOC   = NO
+SEPARATE_MEMBER_PAGES  = NO
+TAB_SIZE               = 8
+ALIASES                = 
+OPTIMIZE_OUTPUT_FOR_C  = NO
+OPTIMIZE_OUTPUT_JAVA   = NO
+SUBGROUPING            = YES
+BUILTIN_STL_SUPPORT    = YES
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+EXTRACT_ALL            = YES
+EXTRACT_PRIVATE        = YES
+EXTRACT_STATIC         = YES
+EXTRACT_LOCAL_CLASSES  = YES
+EXTRACT_LOCAL_METHODS  = NO
+HIDE_UNDOC_MEMBERS     = NO
+HIDE_UNDOC_CLASSES     = NO
+HIDE_FRIEND_COMPOUNDS  = NO
+HIDE_IN_BODY_DOCS      = NO
+INTERNAL_DOCS          = YES
+CASE_SENSE_NAMES       = YES
+HIDE_SCOPE_NAMES       = NO
+SHOW_INCLUDE_FILES     = YES
+INLINE_INFO            = YES
+SORT_MEMBER_DOCS       = YES
+SORT_BRIEF_DOCS        = NO
+SORT_BY_SCOPE_NAME     = YES
+GENERATE_TODOLIST      = YES
+GENERATE_TESTLIST      = YES
+GENERATE_BUGLIST       = YES
+GENERATE_DEPRECATEDLIST= YES
+ENABLED_SECTIONS       = 
+MAX_INITIALIZER_LINES  = 30
+SHOW_USED_FILES        = YES
+SHOW_DIRECTORIES       = YES
+FILE_VERSION_FILTER    = 
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+QUIET                  = YES
+WARNINGS               = YES
+WARN_IF_UNDOCUMENTED   = NO
+WARN_IF_DOC_ERROR      = YES
+WARN_NO_PARAMDOC       = NO
+WARN_FORMAT            = "$file:$line: $text"
+WARN_LOGFILE           = 
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+INPUT                  = .
+FILE_PATTERNS          = *.c *.cc *.cci *.ct *.cti *.h *.hh *.ih *.mmc *.dox
+RECURSIVE              = NO
+EXCLUDE                = doc
+EXCLUDE_SYMLINKS       = NO
+EXCLUDE_PATTERNS       = *.test.cc
+EXAMPLE_PATH           = 
+EXAMPLE_PATTERNS       = *
+EXAMPLE_RECURSIVE      = NO
+IMAGE_PATH             = 
+INPUT_FILTER           = 
+FILTER_PATTERNS        = 
+FILTER_SOURCE_FILES    = NO
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+SOURCE_BROWSER         = YES
+INLINE_SOURCES         = NO
+STRIP_CODE_COMMENTS    = YES
+REFERENCED_BY_RELATION = YES
+REFERENCES_RELATION    = YES
+VERBATIM_HEADERS       = YES
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+ALPHABETICAL_INDEX     = YES
+COLS_IN_ALPHA_INDEX    = 5
+IGNORE_PREFIX          = 
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+GENERATE_HTML          = YES
+HTML_OUTPUT            = html
+HTML_FILE_EXTENSION    = .html
+HTML_HEADER            = ../doclib/doxy-header.html
+HTML_FOOTER            = ../doclib/doxy-footer.html
+HTML_STYLESHEET        = 
+HTML_ALIGN_MEMBERS     = YES
+GENERATE_HTMLHELP      = NO
+CHM_FILE               = 
+HHC_LOCATION           = 
+GENERATE_CHI           = NO
+BINARY_TOC             = NO
+TOC_EXPAND             = NO
+DISABLE_INDEX          = NO
+ENUM_VALUES_PER_LINE   = 4
+GENERATE_TREEVIEW      = NO
+TREEVIEW_WIDTH         = 250
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+GENERATE_LATEX         = NO
+LATEX_OUTPUT           = latex
+LATEX_CMD_NAME         = latex
+MAKEINDEX_CMD_NAME     = makeindex
+COMPACT_LATEX          = NO
+PAPER_TYPE             = a4wide
+EXTRA_PACKAGES         = 
+LATEX_HEADER           = 
+PDF_HYPERLINKS         = NO
+USE_PDFLATEX           = NO
+LATEX_BATCHMODE        = NO
+LATEX_HIDE_INDICES     = NO
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+GENERATE_RTF           = NO
+RTF_OUTPUT             = rtf
+COMPACT_RTF            = NO
+RTF_HYPERLINKS         = NO
+RTF_STYLESHEET_FILE    = 
+RTF_EXTENSIONS_FILE    = 
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+GENERATE_MAN           = NO
+MAN_OUTPUT             = man
+MAN_EXTENSION          = .3
+MAN_LINKS              = NO
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+GENERATE_XML           = NO
+XML_OUTPUT             = xml
+XML_SCHEMA             = 
+XML_DTD                = 
+XML_PROGRAMLISTING     = YES
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+GENERATE_AUTOGEN_DEF   = NO
+#---------------------------------------------------------------------------
+# configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+GENERATE_PERLMOD       = NO
+PERLMOD_LATEX          = NO
+PERLMOD_PRETTY         = YES
+PERLMOD_MAKEVAR_PREFIX = 
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor   
+#---------------------------------------------------------------------------
+ENABLE_PREPROCESSING   = YES
+MACRO_EXPANSION        = YES
+EXPAND_ONLY_PREDEF     = YES
+SEARCH_INCLUDES        = YES
+INCLUDE_PATH           = libs
+INCLUDE_FILE_PATTERNS  = 
+PREDEFINED             = DOXYGEN
+EXPAND_AS_DEFINED      = DefineCommand
+SKIP_FUNCTION_MACROS   = YES
+#---------------------------------------------------------------------------
+# Configuration::additions related to external references   
+#---------------------------------------------------------------------------
+TAGFILES               = 
+GENERATE_TAGFILE       = 
+ALLEXTERNALS           = NO
+EXTERNAL_GROUPS        = YES
+PERL_PATH              = /usr/bin/perl
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool   
+#---------------------------------------------------------------------------
+CLASS_DIAGRAMS         = YES
+HIDE_UNDOC_RELATIONS   = NO
+HAVE_DOT               = YES
+CLASS_GRAPH            = YES
+COLLABORATION_GRAPH    = YES
+GROUP_GRAPHS           = YES
+UML_LOOK               = NO
+TEMPLATE_RELATIONS     = NO
+INCLUDE_GRAPH          = YES
+INCLUDED_BY_GRAPH      = YES
+CALL_GRAPH             = NO
+GRAPHICAL_HIERARCHY    = NO
+DIRECTORY_GRAPH        = NO
+DOT_IMAGE_FORMAT       = png
+DOT_PATH               = 
+DOTFILE_DIRS           = 
+MAX_DOT_GRAPH_WIDTH    = 800
+MAX_DOT_GRAPH_HEIGHT   = 1200
+MAX_DOT_GRAPH_DEPTH    = 1000
+DOT_TRANSPARENT        = NO
+DOT_MULTI_TARGETS      = YES
+GENERATE_LEGEND        = YES
+DOT_CLEANUP            = NO
+#---------------------------------------------------------------------------
+# Configuration::additions related to the search engine   
+#---------------------------------------------------------------------------
+SEARCHENGINE           = NO
diff --git a/doclib/doxy-footer.html b/doclib/doxy-footer.html
new file mode 100644
index 000000000..a1f0ee43f
--- /dev/null
+++ b/doclib/doxy-footer.html
@@ -0,0 +1 @@
+</div></body></html>
diff --git a/doclib/doxy-header-overview.html b/doclib/doxy-header-overview.html
new file mode 100644
index 000000000..a6ef13802
--- /dev/null
+++ b/doclib/doxy-header-overview.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<title>$title</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="../../doclib/senf.css" rel="stylesheet" type="text/css">
+</head>
+<body>
+
+<div id="head">
+  <h1>SENF Extensible Network Framework</h1>
+  <h2>$projectname</h2>
+  <ul>
+    <li><b>Libraries</b></li>
+    <li><a href="../../doc/html/index.html"><i>Overview</i></a></li>
+    <li><a href="../../Packets/doc/html/index.html">Packets</a></li>
+    <li><a href="../../Scheduler/doc/html/index.html">Scheduler</a></li>
+    <li><a href="../../Socket/doc/html/index.html">Socket</a></li>
+    <li><a href="../../Utils/doc/html/index.html">Utils</a></li>
+  </ul>
+</div>
+
+<div id="content">
diff --git a/doclib/doxy-header.html b/doclib/doxy-header.html
new file mode 100644
index 000000000..36c32ede4
--- /dev/null
+++ b/doclib/doxy-header.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<title>$title</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="../../../doclib/senf.css" rel="stylesheet" type="text/css">
+</head>
+<body>
+
+<div id="head">
+  <h1>SENF Extensible Network Framework</h1>
+  <h2>$projectname</h2>
+  <ul>
+    <li><b>Libraries</b></li>
+    <li><a href="../../../doc/html/index.html"><i>Overview</i></a></li>
+    <li><a href="../../../Packets/doc/html/index.html">Packets</a></li>
+    <li><a href="../../../Scheduler/doc/html/index.html">Scheduler</a></li>
+    <li><a href="../../../Socket/doc/html/index.html">Socket</a></li>
+    <li><a href="../../../Utils/doc/html/index.html">Utils</a></li>
+  </ul>
+</div>
+
+<div id="content">
diff --git a/doclib/logo-head.png b/doclib/logo-head.png
new file mode 100644
index 0000000000000000000000000000000000000000..74f8ef5acf07b484b4f8d63caf211a1de071d43f
GIT binary patch
literal 2667
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
Z{SWhw*XxR~6aD}I002ovPDHLkV1k)19+?0D

literal 0
HcmV?d00001

diff --git a/doclib/logo.xcf b/doclib/logo.xcf
new file mode 100644
index 0000000000000000000000000000000000000000..faf3e5be7c28f432bef29b86fb90f0dcefccff64
GIT binary patch
literal 357997
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%0A%6XWdkB{fTdvboo0XDu5A5R$vn`6KS
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
Gar+5$NLL8}

literal 0
HcmV?d00001

diff --git a/doclib/senf.css b/doclib/senf.css
new file mode 100644
index 000000000..d3010425f
--- /dev/null
+++ b/doclib/senf.css
@@ -0,0 +1,126 @@
+body {
+	padding: 0;
+	margin: 0;
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+}
+
+#head {
+	height: 63px;
+	border-top: 4px solid #DECD40;
+	border-bottom: 1px solid #AF9D00;
+	background: url(logo-head.png) top left no-repeat;
+	background-color: #EDE497;
+}
+
+#head h1 {
+	margin: 0 0 0 100px;
+        padding: 6px 0 0 0;
+	height: 34px;
+        background-color: #DECD40;
+	border-bottom: 1px solid #AF9D00;
+        font-size: 22px;
+	font-weight: bold;
+        color: white;
+	white-space: nowrap;
+	text-align: left;
+}
+
+#head h2 {
+	margin: 0 0 0 100px;
+	padding: 4px 0 0 0;
+	height: 18px;
+	background-color: #EDE497;
+        font-size: 13px;
+	font-weight: normal;
+	color: #726921;
+	white-space: nowrap;
+}
+
+#head ul { 
+	position: absolute;
+	top: 5px;
+	right: 25px;
+	width: 100px;
+	background-color: #FDF7C3;
+	border: 1px solid #AF9D00;
+	list-style-type: none;
+	padding: 0;
+	margin: 0;
+}
+
+#head li { 
+	display: inline;
+}
+
+#head ul li a, #head ul li b { 
+	padding: 2px 5px;
+	text-align: center;
+	display: block;
+}
+
+#head ul li b { 
+	border-bottom: 1px solid #AF9D00;
+	background-color: #EDE497;
+	color: #726921;
+}
+
+#head ul li a, #head ul li a:active, #head ul li a:visited { 
+	color: #726921;
+	text-decoration: none;
+}
+
+#head ul li a:hover { 
+	background-color: #EDE497;
+	text-decoration: none;
+}
+
+div.tabs { 
+	margin: 0 -10px;
+}
+
+div.tabs ul { 
+	margin: 0;
+	padding: 0;
+	height: 22px;
+	background-color: #FDF7C3;
+	border-bottom: 1px solid #AF9D00;
+	list-style-type: none;
+}
+
+div.tabs ul li { 
+	display: inline;
+}
+
+div.tabs ul li a { 
+	float: left;
+	height: 18px;
+	padding: 4px 10px 0 10px;
+	border-right: 1px solid #AF9D00;
+        font-size: 13px;
+	font-weight: normal;
+	color: #726921;
+	text-decoration: none;
+}
+
+div.tabs a:visited, div.tabs a:active { 
+	color: #726921;
+}
+
+div.tabs ul li a:hover, div.tabs ul li#current a { 
+	color: #726921;
+	text-decoration: none;
+	background-color: #EDE497;
+}
+
+div.nav { 
+	width: auto;
+	background-color: white;
+	border: none;
+	border-bottom: 1px solid #AF9D00;
+	padding: 5px 0;
+	margin: 0;	
+}
+
+#content { 
+	padding: 0 10px 10px 10px;
+}
\ No newline at end of file
diff --git a/satscons/Doxygen.py b/satscons/Doxygen.py
index 27131e389..9c7858639 100644
--- a/satscons/Doxygen.py
+++ b/satscons/Doxygen.py
@@ -17,7 +17,7 @@ def Doxygen(env, target, source, image=[]):
                 [ env.Command(os.path.splitext(img)[0]+".png", img,
                               [ 'TERM=dumb make -f %s $TARGET' % mak ])
                   for img in image ] +
-                [ env.Command(stamp, source,
+                [ env.Command(stamp, source + [ os.path.join(path,"Doxyfile") ],
                               [ 'cd $TARGET.dir && $DOXYGENCOM',
                                 "touch $TARGET" ],
                               source_scanner = SCons.Defaults.ObjSourceScan) ])
diff --git a/satscons/SatSCons.py b/satscons/SatSCons.py
index 83c468e23..169b0f393 100644
--- a/satscons/SatSCons.py
+++ b/satscons/SatSCons.py
@@ -147,11 +147,19 @@ def Objects(env, sources, testSources = None, LIBS = []):
 
     return objects
 
-def Doxygen(env, sources, testSources = None, target='doc', image = []):
-    if type(sources) == type(()):
-        testSources = sources[1]
-        sources = sources[0]
-
+def DoxyGlob(exclude=[]):
+    sources = [ f
+                for ext in ("cci", "ct", "cti", "h", "hh", "ih", "mmc", "dox")
+                for f in glob.glob("*."+ext)
+                if f not in exclude ]
+    return sources
+
+def Doxygen(env, cc_sources = [], doc_sources = None, target='doc', image = []):
+    if type(cc_sources) == type(()):
+        cc_sources = cc_sources[0]
+    sources = cc_sources
+    if doc_sources is not None:
+        sources += doc_sources
     doc = env.Doxygen(
         target = target,
         source = sources,
-- 
GitLab