diff --git a/server/include/cfg.h b/server/include/cfg.h
index 016aa49d2..6ff93dbdc 100644
--- a/server/include/cfg.h
+++ b/server/include/cfg.h
@@ -1,4 +1,8 @@
 /** Configuration file parser.
+ *
+ * The server program is configured by a single file.
+ * This config file is parsed with a third-party library:
+ *  libconfig http://www.hyperrealm.com/libconfig/
  *
  * @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
  * @copyright 2014, Institute for Automation of Complex Power Systems, EONERC
@@ -18,25 +22,24 @@ struct netem;
 
 /** Global configuration */
 struct settings {
-	/** Task priority (lower is better) */
+	/** Process priority (lower is better) */
 	int priority;
-	/** Core affinity of this task */
+	/** Process affinity of the server and all created threads */
 	int affinity;
 
 	/** A libconfig object pointing to the root of the config file */
 	config_setting_t *cfg;
 };
 
-/** Parse configuration file and store settings in supplied struct settings.
+/** Parse config file and store settings in supplied struct settings.
  *
  * @param filename The path to the configration file (relative or absolute)
  * @param cfg A initialized libconfig object
  * @param set The global configuration structure
  * @param nodes A linked list of nodes which should be parsed
  * @param paths A linked list of paths which should be parsed
- * @return
- *  - 0 on success
- *  - otherwise an error occured
+ * @retval 0 Success. Everything went well.
+ * @retval <0 Error. Something went wrong.
  */
 int config_parse(const char *filename, config_t *cfg, struct settings *set,
 	struct node **nodes, struct path **paths);
@@ -45,9 +48,8 @@ int config_parse(const char *filename, config_t *cfg, struct settings *set,
  *
  * @param cfg A libconfig object pointing to the root of the file
  * @param set The global configuration file
- * @return
- *  - 0 on success
- *  - otherwise an error occured
+ * @retval 0 Success. Everything went well.
+ * @retval <0 Error. Something went wrong.
  */
 int config_parse_global(config_setting_t *cfg, struct settings *set);
 
@@ -56,9 +58,8 @@ int config_parse_global(config_setting_t *cfg, struct settings *set);
  * @param cfg A libconfig object pointing to the path
  * @param paths Add new paths to this linked list
  * @param nodes A linked list of all existing nodes
- * @return
- *  - 0 on success
- *  - otherwise an error occured
+ * @retval 0 Success. Everything went well.
+ * @retval <0 Error. Something went wrong.
  */
 int config_parse_path(config_setting_t *cfg,
 	struct path **paths, struct node **nodes);
@@ -74,7 +75,7 @@ int config_parse_path(config_setting_t *cfg,
 int config_parse_node(config_setting_t *cfg,
 	struct node **nodes);
 
-/** Parse network emulator (netem) settings
+/** Parse network emulator (netem) settings.
  *
  * @param cfg A libconfig object containing the settings
  * @param em A pointer to the settings
diff --git a/server/include/config.h b/server/include/config.h
index 536b2c62d..166e146f5 100644
--- a/server/include/config.h
+++ b/server/include/config.h
@@ -1,6 +1,7 @@
 /** Static server configuration
  *
- * This file contains some defines which are not part of the configuration file.
+ * This file contains some compiled-in settings.
+ * This settings are not part of the configuration file.
  *
  * @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
  * @copyright 2014, Institute for Automation of Complex Power Systems, EONERC
diff --git a/server/include/if.h b/server/include/if.h
index d2c4cc1ce..0d103a0f7 100644
--- a/server/include/if.h
+++ b/server/include/if.h
@@ -1,4 +1,7 @@
 /** Interface related functions
+ *
+ * These functions are used to manage a network interface.
+ * Most of them make use of Linux-specific APIs.
  *
  * @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
  * @copyright 2014, Institute for Automation of Complex Power Systems, EONERC
@@ -29,7 +32,7 @@ struct interface {
 	struct interface *next;
 };
 
-/** Get outgoing interface
+/** Get outgoing interface.
  *
  * Does a lookup in the kernel routing table to determine
  * the interface which sends the data to a certain socket
@@ -40,7 +43,7 @@ struct interface {
  */
 int if_getegress(struct sockaddr_in *sa);
 
-/** Get all IRQs for this interface
+/** Get all IRQs for this interface.
  *
  * Only MSI IRQs are determined by looking at:
  *  /sys/class/net/{ifname}/device/msi_irqs/
@@ -62,7 +65,7 @@ int if_getirqs(struct interface *i);
  */
 int if_setaffinity(struct interface *i, int affinity);
 
-/** Search list of interface for a index
+/** Search list of interface for a index.
  *
  * @param index The interface index to search for
  * @param interfaces A linked list of all interfaces
diff --git a/server/include/msg_format.h b/server/include/msg_format.h
index f5fd509be..37769b5fe 100644
--- a/server/include/msg_format.h
+++ b/server/include/msg_format.h
@@ -20,7 +20,7 @@
 #define MSG_TYPE_START	1
 #define MSG_TYPE_STOP	2
 
-/** This message format is used by all clients
+/** This message format is used by all clients.
  *
  * @diafile msg_format.dia
  **/
diff --git a/server/include/path.h b/server/include/path.h
index 75a843c35..546383fe8 100644
--- a/server/include/path.h
+++ b/server/include/path.h
@@ -15,7 +15,7 @@
 #include "node.h"
 #include "msg.h"
 
-/** The datastructure for a path
+/** The datastructure for a path.
  *
  * @todo Add support for multiple outgoing nodes
  */
@@ -86,7 +86,7 @@ int path_start(struct path *p);
  */
 int path_stop(struct path *p);
 
-/** Show some basic statistics for a path
+/** Show some basic statistics for a path.
  *
  * @param p A pointer to the path struct
  */
diff --git a/server/include/tc.h b/server/include/tc.h
index b5eefb824..b8134b066 100644
--- a/server/include/tc.h
+++ b/server/include/tc.h
@@ -41,7 +41,7 @@ typedef uint32_t tc_hdl_t;
 
 struct interface;
 
-/** Netem configuration settings
+/** Netem configuration settings.
  *
  * This struct is used to pass the netem configuration
  * from config_parse_netem() to tc_netem()
@@ -64,7 +64,7 @@ struct netem {
 	int duplicate;
 };
 
-/** Remove all queuing disciplines and filters 
+/** Remove all queuing disciplines and filters.
  *
  * @param i The interface
  * @return
@@ -73,7 +73,7 @@ struct netem {
  */
 int tc_reset(struct interface *i);
 
-/** Create a prio queueing discipline
+/** Create a priority (prio) queueing discipline.
  *
  * @param i The interface
  * @param handle The handle for the new qdisc
@@ -84,7 +84,7 @@ int tc_reset(struct interface *i);
  */
 int tc_prio(struct interface *i, tc_hdl_t handle, int bands);
 
-/** Add a new network emulator discipline
+/** Add a new network emulator (netem) discipline.
  *
  * @param i The interface
  * @param parent Make this qdisc a child of
@@ -95,7 +95,7 @@ int tc_prio(struct interface *i, tc_hdl_t handle, int bands);
  */
 int tc_netem(struct interface *i, tc_hdl_t parent, struct netem *em);
 
-/** Add a new filter based on the netfilter mark
+/** Add a new filter based on the netfilter mark.
  *
  * @param i The interface
  * @param flowid The destination class for matched traffic
diff --git a/server/include/utils.h b/server/include/utils.h
index 9b30d055f..7ecef73a1 100644
--- a/server/include/utils.h
+++ b/server/include/utils.h
@@ -1,4 +1,4 @@
-/** Various helper functions
+/** Various helper functions.
  *
  * @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
  * @copyright 2014, Institute for Automation of Complex Power Systems, EONERC
@@ -44,13 +44,12 @@ void print(enum log_level lvl, const char *fmt, ...);
  * @param addr A string containing the hostname/ip and port seperated by a colon
  * @param sa A pointer to the resolved address
  * @param flags Flags for gai
- * @return
- * - 0 on success
- * - otherwise an error occured
+ * @retval 0 Success. Everything went well.
+ * @retval <0 Error. Something went wrong.
  */
 int resolve_addr(const char *addr, struct sockaddr_in *sa, int flags);
 
-/** Convert integer to cpu_set_t
+/** Convert integer to cpu_set_t.
  *
  * @param set A cpu bitmask
  * @return The opaque cpu_set_t datatype
diff --git a/server/src/cfg.c b/server/src/cfg.c
index fb2fa5c2f..6a5058dbd 100644
--- a/server/src/cfg.c
+++ b/server/src/cfg.c
@@ -1,4 +1,4 @@
-/** Configuration parser
+/** Configuration parser.
  *
  * @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
  * @copyright 2014, Institute for Automation of Complex Power Systems, EONERC
diff --git a/server/src/if.c b/server/src/if.c
index 68a3c3b4e..98c67808d 100644
--- a/server/src/if.c
+++ b/server/src/if.c
@@ -1,4 +1,4 @@
-/** Interface related functions
+/** Interface related functions.
  *
  * @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
  * @copyright 2014, Institute for Automation of Complex Power Systems, EONERC
diff --git a/server/src/msg.c b/server/src/msg.c
index c1588db27..944240b66 100644
--- a/server/src/msg.c
+++ b/server/src/msg.c
@@ -1,4 +1,4 @@
-/** Message related functions
+/** Message related functions.
  *
  * @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
  * @copyright 2014, Institute for Automation of Complex Power Systems, EONERC
diff --git a/server/src/node.c b/server/src/node.c
index b3dfde8c3..c56a246d7 100644
--- a/server/src/node.c
+++ b/server/src/node.c
@@ -1,4 +1,4 @@
-/** Nodes
+/** Nodes.
  *
  * @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
  * @copyright 2014, Institute for Automation of Complex Power Systems, EONERC
diff --git a/server/src/path.c b/server/src/path.c
index 0ce30c25d..02ce22663 100644
--- a/server/src/path.c
+++ b/server/src/path.c
@@ -1,4 +1,4 @@
-/** Message paths
+/** Message paths.
  *
  * @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
  * @copyright 2014, Institute for Automation of Complex Power Systems, EONERC
diff --git a/server/src/random.c b/server/src/random.c
index bfa8ef013..4b2d4799e 100644
--- a/server/src/random.c
+++ b/server/src/random.c
@@ -1,4 +1,4 @@
-/** Generate random packages on stdout
+/** Generate random packages on stdout.
  *
  * @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
  * @copyright 2014, Institute for Automation of Complex Power Systems, EONERC
diff --git a/server/src/receive.c b/server/src/receive.c
index 2e0e20ddb..4ad9ee548 100644
--- a/server/src/receive.c
+++ b/server/src/receive.c
@@ -1,4 +1,4 @@
-/** Receive messages from server snd print them on stdout
+/** Receive messages from server snd print them on stdout.
  *
  * @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
  * @copyright 2014, Institute for Automation of Complex Power Systems, EONERC
diff --git a/server/src/send.c b/server/src/send.c
index 72918e803..f33351460 100644
--- a/server/src/send.c
+++ b/server/src/send.c
@@ -1,4 +1,4 @@
-/** Send messages from stdin to server
+/** Send messages from stdin to server.
  *
  * @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
  * @copyright 2014, Institute for Automation of Complex Power Systems, EONERC
diff --git a/server/src/server.c b/server/src/server.c
index eca3af8f3..1dbc02473 100644
--- a/server/src/server.c
+++ b/server/src/server.c
@@ -1,4 +1,4 @@
-/** Main routine
+/** Main routine.
  *
  * @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
  * @copyright 2014, Institute for Automation of Complex Power Systems, EONERC
diff --git a/server/src/tc.c b/server/src/tc.c
index 5c8b6ff3e..31d67fb95 100644
--- a/server/src/tc.c
+++ b/server/src/tc.c
@@ -1,4 +1,4 @@
-/** Traffic control: setup interface queuing desciplines
+/** Traffic control (tc): setup interface queuing desciplines.
  *
  * S2SS uses these functions to setup the network emulation feature.
  *
diff --git a/server/src/test.c b/server/src/test.c
index 87efb8aa2..9036367b5 100644
--- a/server/src/test.c
+++ b/server/src/test.c
@@ -1,4 +1,4 @@
-/** Some basic tests
+/** Some basic tests.
  *
  * @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
  * @copyright 2014, Institute for Automation of Complex Power Systems, EONERC
diff --git a/server/src/utils.c b/server/src/utils.c
index ad48c10d3..3ec6c7520 100644
--- a/server/src/utils.c
+++ b/server/src/utils.c
@@ -1,4 +1,4 @@
-/** Some helper functions
+/** Some helper functions.
  *
  * @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
  * @copyright 2014, Institute for Automation of Complex Power Systems, EONERC