src: Reorganizing source code in preparation to merge NRD code

Note that as of this commit, there are several changes in location of
compiled binaries in `build/` folder:

* `nfd` has been moved to `build/bin/nfd`
* `unit-tests` has been split into `unit-tests-core` and `unit-tests-daemon`

Change-Id: I2c830c117879edbaa5457d6423c13f0273285919
Refs: #1486
diff --git a/daemon/common.hpp b/common.hpp
similarity index 100%
rename from daemon/common.hpp
rename to common.hpp
diff --git a/daemon/core/city-hash.cpp b/core/city-hash.cpp
similarity index 100%
rename from daemon/core/city-hash.cpp
rename to core/city-hash.cpp
diff --git a/daemon/core/city-hash.hpp b/core/city-hash.hpp
similarity index 100%
rename from daemon/core/city-hash.hpp
rename to core/city-hash.hpp
diff --git a/daemon/mgmt/config-file.cpp b/core/config-file.cpp
similarity index 98%
rename from daemon/mgmt/config-file.cpp
rename to core/config-file.cpp
index 3be86c9..436c480 100644
--- a/daemon/mgmt/config-file.cpp
+++ b/core/config-file.cpp
@@ -23,7 +23,7 @@
  **/
 
 #include "config-file.hpp"
-#include "core/logger.hpp"
+#include "logger.hpp"
 
 #include <boost/property_tree/info_parser.hpp>
 #include <fstream>
diff --git a/daemon/mgmt/config-file.hpp b/core/config-file.hpp
similarity index 96%
rename from daemon/mgmt/config-file.hpp
rename to core/config-file.hpp
index d20b0ea..f3128c4 100644
--- a/daemon/mgmt/config-file.hpp
+++ b/core/config-file.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_MGMT_CONFIG_FILE_HPP
-#define NFD_MGMT_CONFIG_FILE_HPP
+#ifndef NFD_CORE_CONFIG_FILE_HPP
+#define NFD_CORE_CONFIG_FILE_HPP
 
 #include "common.hpp"
 
@@ -104,4 +104,4 @@
 } // namespace nfd
 
 
-#endif // NFD_MGMT_CONFIG_FILE_HPP
+#endif // NFD_CORE_CONFIG_FILE_HPP
diff --git a/daemon/face/ethernet.cpp b/core/ethernet.cpp
similarity index 100%
rename from daemon/face/ethernet.cpp
rename to core/ethernet.cpp
diff --git a/daemon/face/ethernet.hpp b/core/ethernet.hpp
similarity index 98%
rename from daemon/face/ethernet.hpp
rename to core/ethernet.hpp
index b21f509..56888f6 100644
--- a/daemon/face/ethernet.hpp
+++ b/core/ethernet.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_FACE_ETHERNET_HPP
-#define NFD_FACE_ETHERNET_HPP
+#ifndef NFD_CORE_ETHERNET_HPP
+#define NFD_CORE_ETHERNET_HPP
 
 #include "common.hpp"
 
diff --git a/daemon/core/event-emitter.hpp b/core/event-emitter.hpp
similarity index 100%
rename from daemon/core/event-emitter.hpp
rename to core/event-emitter.hpp
diff --git a/daemon/core/face-uri.cpp b/core/face-uri.cpp
similarity index 98%
rename from daemon/core/face-uri.cpp
rename to core/face-uri.cpp
index c9ec548..7eaaddd 100644
--- a/daemon/core/face-uri.cpp
+++ b/core/face-uri.cpp
@@ -26,7 +26,7 @@
 #include "core/logger.hpp"
 
 #ifdef HAVE_LIBPCAP
-#include "face/ethernet.hpp"
+#include "ethernet.hpp"
 #endif // HAVE_LIBPCAP
 
 #include <boost/regex.hpp>
diff --git a/daemon/core/face-uri.hpp b/core/face-uri.hpp
similarity index 100%
rename from daemon/core/face-uri.hpp
rename to core/face-uri.hpp
diff --git a/daemon/core/global-io.cpp b/core/global-io.cpp
similarity index 100%
rename from daemon/core/global-io.cpp
rename to core/global-io.cpp
diff --git a/daemon/core/global-io.hpp b/core/global-io.hpp
similarity index 100%
rename from daemon/core/global-io.hpp
rename to core/global-io.hpp
diff --git a/daemon/core/logger-factory.cpp b/core/logger-factory.cpp
similarity index 100%
rename from daemon/core/logger-factory.cpp
rename to core/logger-factory.cpp
diff --git a/daemon/core/logger-factory.hpp b/core/logger-factory.hpp
similarity index 98%
rename from daemon/core/logger-factory.hpp
rename to core/logger-factory.hpp
index 6bbbfbe..b5aa31d 100644
--- a/daemon/core/logger-factory.hpp
+++ b/core/logger-factory.hpp
@@ -26,7 +26,7 @@
 #define NFD_CORE_LOGGER_FACTORY_HPP
 
 #include "common.hpp"
-#include "mgmt/config-file.hpp"
+#include "config-file.hpp"
 #include "logger.hpp"
 
 namespace nfd {
diff --git a/daemon/core/logger.hpp b/core/logger.hpp
similarity index 100%
rename from daemon/core/logger.hpp
rename to core/logger.hpp
diff --git a/daemon/core/map-value-iterator.hpp b/core/map-value-iterator.hpp
similarity index 100%
rename from daemon/core/map-value-iterator.hpp
rename to core/map-value-iterator.hpp
diff --git a/daemon/core/network-interface.cpp b/core/network-interface.cpp
similarity index 100%
rename from daemon/core/network-interface.cpp
rename to core/network-interface.cpp
diff --git a/daemon/core/network-interface.hpp b/core/network-interface.hpp
similarity index 98%
rename from daemon/core/network-interface.hpp
rename to core/network-interface.hpp
index 69b8d7f..08824fa 100644
--- a/daemon/core/network-interface.hpp
+++ b/core/network-interface.hpp
@@ -26,7 +26,7 @@
 #define NFD_CORE_NETWORK_INTERFACE_HPP
 
 #include "common.hpp"
-#include "face/ethernet.hpp"
+#include "ethernet.hpp"
 
 #include <net/if.h>
 
diff --git a/daemon/core/resolver.hpp b/core/resolver.hpp
similarity index 100%
rename from daemon/core/resolver.hpp
rename to core/resolver.hpp
diff --git a/daemon/core/scheduler.cpp b/core/scheduler.cpp
similarity index 100%
rename from daemon/core/scheduler.cpp
rename to core/scheduler.cpp
diff --git a/daemon/core/scheduler.hpp b/core/scheduler.hpp
similarity index 100%
rename from daemon/core/scheduler.hpp
rename to core/scheduler.hpp
diff --git a/daemon/face/channel.hpp b/daemon/face/channel.hpp
index 6333001..810d726 100644
--- a/daemon/face/channel.hpp
+++ b/daemon/face/channel.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_FACE_CHANNEL_HPP
-#define NFD_FACE_CHANNEL_HPP
+#ifndef NFD_DAEMON_FACE_CHANNEL_HPP
+#define NFD_DAEMON_FACE_CHANNEL_HPP
 
 #include "face.hpp"
 
@@ -65,4 +65,4 @@
 
 } // namespace nfd
 
-#endif // NFD_FACE_CHANNEL_HPP
+#endif // NFD_DAEMON_FACE_CHANNEL_HPP
diff --git a/daemon/face/datagram-face.hpp b/daemon/face/datagram-face.hpp
index 7815eae..e6a6929 100644
--- a/daemon/face/datagram-face.hpp
+++ b/daemon/face/datagram-face.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_FACE_DATAGRAM_FACE_HPP
-#define NFD_FACE_DATAGRAM_FACE_HPP
+#ifndef NFD_DAEMON_FACE_DATAGRAM_FACE_HPP
+#define NFD_DAEMON_FACE_DATAGRAM_FACE_HPP
 
 #include "face.hpp"
 #include "core/logger.hpp"
@@ -334,4 +334,4 @@
 
 } // namespace nfd
 
-#endif // NFD_FACE_DATAGRAM_FACE_HPP
+#endif // NFD_DAEMON_FACE_DATAGRAM_FACE_HPP
diff --git a/daemon/face/ethernet-face.hpp b/daemon/face/ethernet-face.hpp
index 4eaf0b4..381493c 100644
--- a/daemon/face/ethernet-face.hpp
+++ b/daemon/face/ethernet-face.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_FACE_ETHERNET_FACE_HPP
-#define NFD_FACE_ETHERNET_FACE_HPP
+#ifndef NFD_DAEMON_FACE_ETHERNET_FACE_HPP
+#define NFD_DAEMON_FACE_ETHERNET_FACE_HPP
 
 #include "ethernet.hpp"
 #include "face.hpp"
@@ -110,4 +110,4 @@
 
 } // namespace nfd
 
-#endif // NFD_FACE_ETHERNET_FACE_HPP
+#endif // NFD_DAEMON_FACE_ETHERNET_FACE_HPP
diff --git a/daemon/face/ethernet-factory.hpp b/daemon/face/ethernet-factory.hpp
index c6e07b4..738164a 100644
--- a/daemon/face/ethernet-factory.hpp
+++ b/daemon/face/ethernet-factory.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_FACE_ETHERNET_FACTORY_HPP
-#define NFD_FACE_ETHERNET_FACTORY_HPP
+#ifndef NFD_DAEMON_FACE_ETHERNET_FACTORY_HPP
+#define NFD_DAEMON_FACE_ETHERNET_FACTORY_HPP
 
 #include "ethernet-face.hpp"
 #include "protocol-factory.hpp"
@@ -93,4 +93,4 @@
 
 } // namespace nfd
 
-#endif // NFD_FACE_ETHERNET_FACTORY_HPP
+#endif // NFD_DAEMON_FACE_ETHERNET_FACTORY_HPP
diff --git a/daemon/face/face-counter.hpp b/daemon/face/face-counter.hpp
index 5e31a48..152c5a1 100644
--- a/daemon/face/face-counter.hpp
+++ b/daemon/face/face-counter.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_FACE_FACE_COUNTER_HPP
-#define NFD_FACE_FACE_COUNTER_HPP
+#ifndef NFD_DAEMON_FACE_FACE_COUNTER_HPP
+#define NFD_DAEMON_FACE_FACE_COUNTER_HPP
 
 #include "common.hpp"
 
@@ -139,4 +139,4 @@
 
 } // namespace nfd
 
-#endif // NFD_FACE_FACE_COUNTER_HPP
+#endif // NFD_DAEMON_FACE_FACE_COUNTER_HPP
diff --git a/daemon/face/face.hpp b/daemon/face/face.hpp
index 6aeaf77..c5e6ee8 100644
--- a/daemon/face/face.hpp
+++ b/daemon/face/face.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_FACE_FACE_HPP
-#define NFD_FACE_FACE_HPP
+#ifndef NFD_DAEMON_FACE_FACE_HPP
+#define NFD_DAEMON_FACE_FACE_HPP
 
 #include "common.hpp"
 #include "core/event-emitter.hpp"
@@ -221,4 +221,4 @@
 
 } // namespace nfd
 
-#endif // NFD_FACE_FACE_HPP
+#endif // NFD_DAEMON_FACE_FACE_HPP
diff --git a/daemon/face/local-face.hpp b/daemon/face/local-face.hpp
index 861b0d9..f992231 100644
--- a/daemon/face/local-face.hpp
+++ b/daemon/face/local-face.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_FACE_LOCAL_FACE_HPP
-#define NFD_FACE_LOCAL_FACE_HPP
+#ifndef NFD_DAEMON_FACE_LOCAL_FACE_HPP
+#define NFD_DAEMON_FACE_LOCAL_FACE_HPP
 
 #include "face.hpp"
 #include <ndn-cpp-dev/management/nfd-control-parameters.hpp>
@@ -200,4 +200,4 @@
 
 } // namespace nfd
 
-#endif // NFD_FACE_LOCAL_FACE_HPP
+#endif // NFD_DAEMON_FACE_LOCAL_FACE_HPP
diff --git a/daemon/face/multicast-udp-face.hpp b/daemon/face/multicast-udp-face.hpp
index dfa25de..3a5c75d 100644
--- a/daemon/face/multicast-udp-face.hpp
+++ b/daemon/face/multicast-udp-face.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_FACE_MULTICAST_UDP_FACE_HPP
-#define NFD_FACE_MULTICAST_UDP_FACE_HPP
+#ifndef NFD_DAEMON_FACE_MULTICAST_UDP_FACE_HPP
+#define NFD_DAEMON_FACE_MULTICAST_UDP_FACE_HPP
 
 #include "datagram-face.hpp"
 
@@ -61,4 +61,4 @@
 
 } // namespace nfd
 
-#endif // NFD_FACE_MULTICAST_UDP_FACE_HPP
+#endif // NFD_DAEMON_FACE_MULTICAST_UDP_FACE_HPP
diff --git a/daemon/face/ndnlp-parse.hpp b/daemon/face/ndnlp-parse.hpp
index 1c32299..f40c910 100644
--- a/daemon/face/ndnlp-parse.hpp
+++ b/daemon/face/ndnlp-parse.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_FACE_NDNLP_PARSE_HPP
-#define NFD_FACE_NDNLP_PARSE_HPP
+#ifndef NFD_DAEMON_FACE_NDNLP_PARSE_HPP
+#define NFD_DAEMON_FACE_NDNLP_PARSE_HPP
 
 #include "common.hpp"
 #include "ndnlp-tlv.hpp"
@@ -67,4 +67,4 @@
 } // namespace ndnlp
 } // namespace nfd
 
-#endif // NFD_FACE_NDNLP_PARSE_HPP
+#endif // NFD_DAEMON_FACE_NDNLP_PARSE_HPP
diff --git a/daemon/face/ndnlp-partial-message-store.hpp b/daemon/face/ndnlp-partial-message-store.hpp
index 64b2d00..7b2733a 100644
--- a/daemon/face/ndnlp-partial-message-store.hpp
+++ b/daemon/face/ndnlp-partial-message-store.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_FACE_NDNLP_PARTIAL_MESSAGE_STORE_HPP
-#define NFD_FACE_NDNLP_PARTIAL_MESSAGE_STORE_HPP
+#ifndef NFD_DAEMON_FACE_NDNLP_PARTIAL_MESSAGE_STORE_HPP
+#define NFD_DAEMON_FACE_NDNLP_PARTIAL_MESSAGE_STORE_HPP
 
 #include "ndnlp-parse.hpp"
 #include "core/event-emitter.hpp"
@@ -103,4 +103,4 @@
 } // namespace ndnlp
 } // namespace nfd
 
-#endif // NFD_FACE_NDNLP_PARTIAL_MESSAGE_STORE_HPP
+#endif // NFD_DAEMON_FACE_NDNLP_PARTIAL_MESSAGE_STORE_HPP
diff --git a/daemon/face/ndnlp-sequence-generator.hpp b/daemon/face/ndnlp-sequence-generator.hpp
index 752f3fd..a3baa6b 100644
--- a/daemon/face/ndnlp-sequence-generator.hpp
+++ b/daemon/face/ndnlp-sequence-generator.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_FACE_NDNLP_SEQUENCE_GENERATOR_HPP
-#define NFD_FACE_NDNLP_SEQUENCE_GENERATOR_HPP
+#ifndef NFD_DAEMON_FACE_NDNLP_SEQUENCE_GENERATOR_HPP
+#define NFD_DAEMON_FACE_NDNLP_SEQUENCE_GENERATOR_HPP
 
 #include "common.hpp"
 
@@ -87,4 +87,4 @@
 } // namespace ndnlp
 } // namespace nfd
 
-#endif // NFD_FACE_NDNLP_SEQUENCE_GENERATOR_HPP
+#endif // NFD_DAEMON_FACE_NDNLP_SEQUENCE_GENERATOR_HPP
diff --git a/daemon/face/ndnlp-slicer.hpp b/daemon/face/ndnlp-slicer.hpp
index 07f8112..9442a07 100644
--- a/daemon/face/ndnlp-slicer.hpp
+++ b/daemon/face/ndnlp-slicer.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_FACE_NDNLP_SLICER_HPP
-#define NFD_FACE_NDNLP_SLICER_HPP
+#ifndef NFD_DAEMON_FACE_NDNLP_SLICER_HPP
+#define NFD_DAEMON_FACE_NDNLP_SLICER_HPP
 
 #include "ndnlp-tlv.hpp"
 #include "ndnlp-sequence-generator.hpp"
@@ -65,4 +65,4 @@
 } // namespace ndnlp
 } // namespace nfd
 
-#endif // NFD_FACE_NDNLP_SLICER_HPP
+#endif // NFD_DAEMON_FACE_NDNLP_SLICER_HPP
diff --git a/daemon/face/ndnlp-tlv.hpp b/daemon/face/ndnlp-tlv.hpp
index 48de64b..0c41f52 100644
--- a/daemon/face/ndnlp-tlv.hpp
+++ b/daemon/face/ndnlp-tlv.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_FACE_NDNLP_TLV_HPP
-#define NFD_FACE_NDNLP_TLV_HPP
+#ifndef NFD_DAEMON_FACE_NDNLP_TLV_HPP
+#define NFD_DAEMON_FACE_NDNLP_TLV_HPP
 
 namespace nfd {
 namespace tlv {
@@ -40,4 +40,4 @@
 } // namespace tlv
 } // namespace nfd
 
-#endif // NFD_FACE_NDNLP_TLV_HPP
+#endif // NFD_DAEMON_FACE_NDNLP_TLV_HPP
diff --git a/daemon/face/protocol-factory.hpp b/daemon/face/protocol-factory.hpp
index 80b92e6..8d61f9c 100644
--- a/daemon/face/protocol-factory.hpp
+++ b/daemon/face/protocol-factory.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_FACE_PROTOCOL_FACTORY_HPP
-#define NFD_FACE_PROTOCOL_FACTORY_HPP
+#ifndef NFD_DAEMON_FACE_PROTOCOL_FACTORY_HPP
+#define NFD_DAEMON_FACE_PROTOCOL_FACTORY_HPP
 
 #include "common.hpp"
 #include "core/face-uri.hpp"
@@ -72,4 +72,4 @@
 
 } // namespace nfd
 
-#endif // NFD_FACE_PROTOCOL_FACTORY_HPP
+#endif // NFD_DAEMON_FACE_PROTOCOL_FACTORY_HPP
diff --git a/daemon/face/stream-face.hpp b/daemon/face/stream-face.hpp
index 84ae551..daf8ddf 100644
--- a/daemon/face/stream-face.hpp
+++ b/daemon/face/stream-face.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_FACE_STREAM_FACE_HPP
-#define NFD_FACE_STREAM_FACE_HPP
+#ifndef NFD_DAEMON_FACE_STREAM_FACE_HPP
+#define NFD_DAEMON_FACE_STREAM_FACE_HPP
 
 #include "face.hpp"
 #include "local-face.hpp"
@@ -377,4 +377,4 @@
 
 } // namespace nfd
 
-#endif // NFD_FACE_STREAM_FACE_HPP
+#endif // NFD_DAEMON_FACE_STREAM_FACE_HPP
diff --git a/daemon/face/tcp-channel.hpp b/daemon/face/tcp-channel.hpp
index 869bf9b..4398ee7 100644
--- a/daemon/face/tcp-channel.hpp
+++ b/daemon/face/tcp-channel.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_FACE_TCP_CHANNEL_HPP
-#define NFD_FACE_TCP_CHANNEL_HPP
+#ifndef NFD_DAEMON_FACE_TCP_CHANNEL_HPP
+#define NFD_DAEMON_FACE_TCP_CHANNEL_HPP
 
 #include "channel.hpp"
 #include <ndn-cpp-dev/util/monotonic_deadline_timer.hpp>
@@ -161,4 +161,4 @@
 
 } // namespace nfd
 
-#endif // NFD_FACE_TCP_CHANNEL_HPP
+#endif // NFD_DAEMON_FACE_TCP_CHANNEL_HPP
diff --git a/daemon/face/tcp-face.hpp b/daemon/face/tcp-face.hpp
index 49faed2..a522ac4 100644
--- a/daemon/face/tcp-face.hpp
+++ b/daemon/face/tcp-face.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_FACE_TCP_FACE_HPP
-#define NFD_FACE_TCP_FACE_HPP
+#ifndef NFD_DAEMON_FACE_TCP_FACE_HPP
+#define NFD_DAEMON_FACE_TCP_FACE_HPP
 
 #include "stream-face.hpp"
 
@@ -77,4 +77,4 @@
 
 } // namespace nfd
 
-#endif // NFD_FACE_TCP_FACE_HPP
+#endif // NFD_DAEMON_FACE_TCP_FACE_HPP
diff --git a/daemon/face/tcp-factory.hpp b/daemon/face/tcp-factory.hpp
index 6d1c54c..afcc9dd 100644
--- a/daemon/face/tcp-factory.hpp
+++ b/daemon/face/tcp-factory.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_FACE_TCP_FACTORY_HPP
-#define NFD_FACE_TCP_FACTORY_HPP
+#ifndef NFD_DAEMON_FACE_TCP_FACTORY_HPP
+#define NFD_DAEMON_FACE_TCP_FACTORY_HPP
 
 #include "protocol-factory.hpp"
 #include "tcp-channel.hpp"
@@ -122,4 +122,4 @@
 
 } // namespace nfd
 
-#endif // NFD_FACE_TCP_FACTORY_HPP
+#endif // NFD_DAEMON_FACE_TCP_FACTORY_HPP
diff --git a/daemon/face/udp-channel.hpp b/daemon/face/udp-channel.hpp
index 00222bf..f97c3a3 100644
--- a/daemon/face/udp-channel.hpp
+++ b/daemon/face/udp-channel.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_FACE_UDP_CHANNEL_HPP
-#define NFD_FACE_UDP_CHANNEL_HPP
+#ifndef NFD_DAEMON_FACE_UDP_CHANNEL_HPP
+#define NFD_DAEMON_FACE_UDP_CHANNEL_HPP
 
 #include "channel.hpp"
 #include "core/global-io.hpp"
@@ -182,4 +182,4 @@
 
 } // namespace nfd
 
-#endif // NFD_FACE_UDP_CHANNEL_HPP
+#endif // NFD_DAEMON_FACE_UDP_CHANNEL_HPP
diff --git a/daemon/face/udp-face.hpp b/daemon/face/udp-face.hpp
index d253247..ec11682 100644
--- a/daemon/face/udp-face.hpp
+++ b/daemon/face/udp-face.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_FACE_UDP_FACE_HPP
-#define NFD_FACE_UDP_FACE_HPP
+#ifndef NFD_DAEMON_FACE_UDP_FACE_HPP
+#define NFD_DAEMON_FACE_UDP_FACE_HPP
 
 #include "datagram-face.hpp"
 
@@ -50,4 +50,4 @@
 
 } // namespace nfd
 
-#endif // NFD_FACE_UDP_FACE_HPP
+#endif // NFD_DAEMON_FACE_UDP_FACE_HPP
diff --git a/daemon/face/udp-factory.hpp b/daemon/face/udp-factory.hpp
index adfdbc6..8d0494c 100644
--- a/daemon/face/udp-factory.hpp
+++ b/daemon/face/udp-factory.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_FACE_UDP_FACTORY_HPP
-#define NFD_FACE_UDP_FACTORY_HPP
+#ifndef NFD_DAEMON_FACE_UDP_FACTORY_HPP
+#define NFD_DAEMON_FACE_UDP_FACTORY_HPP
 
 #include "protocol-factory.hpp"
 #include "udp-channel.hpp"
@@ -198,4 +198,4 @@
 
 } // namespace nfd
 
-#endif // NFD_FACE_UDP_FACTORY_HPP
+#endif // NFD_DAEMON_FACE_UDP_FACTORY_HPP
diff --git a/daemon/face/unix-stream-channel.hpp b/daemon/face/unix-stream-channel.hpp
index e706a53..c923c39 100644
--- a/daemon/face/unix-stream-channel.hpp
+++ b/daemon/face/unix-stream-channel.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_FACE_UNIX_STREAM_CHANNEL_HPP
-#define NFD_FACE_UNIX_STREAM_CHANNEL_HPP
+#ifndef NFD_DAEMON_FACE_UNIX_STREAM_CHANNEL_HPP
+#define NFD_DAEMON_FACE_UNIX_STREAM_CHANNEL_HPP
 
 #include "channel.hpp"
 #include "unix-stream-face.hpp"
@@ -92,4 +92,4 @@
 
 } // namespace nfd
 
-#endif // NFD_FACE_UNIX_STREAM_CHANNEL_HPP
+#endif // NFD_DAEMON_FACE_UNIX_STREAM_CHANNEL_HPP
diff --git a/daemon/face/unix-stream-face.hpp b/daemon/face/unix-stream-face.hpp
index 95d508b..51482c4 100644
--- a/daemon/face/unix-stream-face.hpp
+++ b/daemon/face/unix-stream-face.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_FACE_UNIX_STREAM_FACE_HPP
-#define NFD_FACE_UNIX_STREAM_FACE_HPP
+#ifndef NFD_DAEMON_FACE_UNIX_STREAM_FACE_HPP
+#define NFD_DAEMON_FACE_UNIX_STREAM_FACE_HPP
 
 #include "stream-face.hpp"
 
@@ -46,4 +46,4 @@
 
 } // namespace nfd
 
-#endif // NFD_FACE_UNIX_STREAM_FACE_HPP
+#endif // NFD_DAEMON_FACE_UNIX_STREAM_FACE_HPP
diff --git a/daemon/face/unix-stream-factory.hpp b/daemon/face/unix-stream-factory.hpp
index 41089cd..7c9bb85 100644
--- a/daemon/face/unix-stream-factory.hpp
+++ b/daemon/face/unix-stream-factory.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_FACE_UNIX_STREAM_FACTORY_HPP
-#define NFD_FACE_UNIX_STREAM_FACTORY_HPP
+#ifndef NFD_DAEMON_FACE_UNIX_STREAM_FACTORY_HPP
+#define NFD_DAEMON_FACE_UNIX_STREAM_FACTORY_HPP
 
 #include "protocol-factory.hpp"
 #include "unix-stream-channel.hpp"
@@ -82,4 +82,4 @@
 
 } // namespace nfd
 
-#endif // NFD_FACE_UNIX_STREAM_FACTORY_HPP
+#endif // NFD_DAEMON_FACE_UNIX_STREAM_FACTORY_HPP
diff --git a/daemon/fw/available-strategies.hpp b/daemon/fw/available-strategies.hpp
index 67b30c5..616a1b4 100644
--- a/daemon/fw/available-strategies.hpp
+++ b/daemon/fw/available-strategies.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_FW_AVAILABLE_STRATEGIES_HPP
-#define NFD_FW_AVAILABLE_STRATEGIES_HPP
+#ifndef NFD_DAEMON_FW_AVAILABLE_STRATEGIES_HPP
+#define NFD_DAEMON_FW_AVAILABLE_STRATEGIES_HPP
 
 #include "strategy.hpp"
 
@@ -39,4 +39,4 @@
 } // namespace fw
 } // namespace nfd
 
-#endif // NFD_FW_AVAILABLE_STRATEGIES_HPP
+#endif // NFD_DAEMON_FW_AVAILABLE_STRATEGIES_HPP
diff --git a/daemon/fw/best-route-strategy.hpp b/daemon/fw/best-route-strategy.hpp
index d03b853..d7737b3 100644
--- a/daemon/fw/best-route-strategy.hpp
+++ b/daemon/fw/best-route-strategy.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_FW_BEST_ROUTE_STRATEGY_HPP
-#define NFD_FW_BEST_ROUTE_STRATEGY_HPP
+#ifndef NFD_DAEMON_FW_BEST_ROUTE_STRATEGY_HPP
+#define NFD_DAEMON_FW_BEST_ROUTE_STRATEGY_HPP
 
 #include "strategy.hpp"
 
@@ -55,4 +55,4 @@
 } // namespace fw
 } // namespace nfd
 
-#endif // NFD_FW_BEST_ROUTE_STRATEGY_HPP
+#endif // NFD_DAEMON_FW_BEST_ROUTE_STRATEGY_HPP
diff --git a/daemon/fw/broadcast-strategy.hpp b/daemon/fw/broadcast-strategy.hpp
index a6116f7..b468895 100644
--- a/daemon/fw/broadcast-strategy.hpp
+++ b/daemon/fw/broadcast-strategy.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_FW_BROADCAST_STRATEGY_HPP
-#define NFD_FW_BROADCAST_STRATEGY_HPP
+#ifndef NFD_DAEMON_FW_BROADCAST_STRATEGY_HPP
+#define NFD_DAEMON_FW_BROADCAST_STRATEGY_HPP
 
 #include "strategy.hpp"
 
@@ -55,4 +55,4 @@
 } // namespace fw
 } // namespace nfd
 
-#endif // NFD_FW_BROADCAST_STRATEGY_HPP
+#endif // NFD_DAEMON_FW_BROADCAST_STRATEGY_HPP
diff --git a/daemon/fw/client-control-strategy.hpp b/daemon/fw/client-control-strategy.hpp
index 0d887e6..d4810b5 100644
--- a/daemon/fw/client-control-strategy.hpp
+++ b/daemon/fw/client-control-strategy.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_FW_CLIENT_CONTROL_STRATEGY_HPP
-#define NFD_FW_CLIENT_CONTROL_STRATEGY_HPP
+#ifndef NFD_DAEMON_FW_CLIENT_CONTROL_STRATEGY_HPP
+#define NFD_DAEMON_FW_CLIENT_CONTROL_STRATEGY_HPP
 
 #include "best-route-strategy.hpp"
 
@@ -54,4 +54,4 @@
 } // namespace fw
 } // namespace nfd
 
-#endif // NFD_FW_CLIENT_CONTROL_STRATEGY_HPP
+#endif // NFD_DAEMON_FW_CLIENT_CONTROL_STRATEGY_HPP
diff --git a/daemon/fw/face-table.hpp b/daemon/fw/face-table.hpp
index 175da8f..8f7dcb2 100644
--- a/daemon/fw/face-table.hpp
+++ b/daemon/fw/face-table.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_FW_FACE_TABLE_HPP
-#define NFD_FW_FACE_TABLE_HPP
+#ifndef NFD_DAEMON_FW_FACE_TABLE_HPP
+#define NFD_DAEMON_FW_FACE_TABLE_HPP
 
 #include "face/face.hpp"
 #include "core/map-value-iterator.hpp"
@@ -138,4 +138,4 @@
 
 } // namespace nfd
 
-#endif // NFD_FW_FACE_TABLE_HPP
+#endif // NFD_DAEMON_FW_FACE_TABLE_HPP
diff --git a/daemon/fw/forwarder-counter.hpp b/daemon/fw/forwarder-counter.hpp
index 6e71dd9..be74928 100644
--- a/daemon/fw/forwarder-counter.hpp
+++ b/daemon/fw/forwarder-counter.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_FW_FORWARDER_COUNTER_HPP
-#define NFD_FW_FORWARDER_COUNTER_HPP
+#ifndef NFD_DAEMON_FW_FORWARDER_COUNTER_HPP
+#define NFD_DAEMON_FW_FORWARDER_COUNTER_HPP
 
 #include "face/face-counter.hpp"
 
@@ -46,4 +46,4 @@
 
 } // namespace nfd
 
-#endif // NFD_FW_FORWARDER_COUNTER_HPP
+#endif // NFD_DAEMON_FW_FORWARDER_COUNTER_HPP
diff --git a/daemon/fw/forwarder.hpp b/daemon/fw/forwarder.hpp
index bdf571e..744338a 100644
--- a/daemon/fw/forwarder.hpp
+++ b/daemon/fw/forwarder.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_FW_FORWARDER_HPP
-#define NFD_FW_FORWARDER_HPP
+#ifndef NFD_DAEMON_FW_FORWARDER_HPP
+#define NFD_DAEMON_FW_FORWARDER_HPP
 
 #include "common.hpp"
 #include "core/scheduler.hpp"
@@ -267,4 +267,4 @@
 
 } // namespace nfd
 
-#endif // NFD_FW_FORWARDER_HPP
+#endif // NFD_DAEMON_FW_FORWARDER_HPP
diff --git a/daemon/fw/ncc-strategy.hpp b/daemon/fw/ncc-strategy.hpp
index 3fb599e..f78b840 100644
--- a/daemon/fw/ncc-strategy.hpp
+++ b/daemon/fw/ncc-strategy.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_FW_NCC_STRATEGY_HPP
-#define NFD_FW_NCC_STRATEGY_HPP
+#ifndef NFD_DAEMON_FW_NCC_STRATEGY_HPP
+#define NFD_DAEMON_FW_NCC_STRATEGY_HPP
 
 #include "strategy.hpp"
 
@@ -132,4 +132,4 @@
 } // namespace fw
 } // namespace nfd
 
-#endif // NFD_FW_NCC_STRATEGY_HPP
+#endif // NFD_DAEMON_FW_NCC_STRATEGY_HPP
diff --git a/daemon/fw/strategy-info.hpp b/daemon/fw/strategy-info.hpp
index 3d0a65a..d670f10 100644
--- a/daemon/fw/strategy-info.hpp
+++ b/daemon/fw/strategy-info.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_FW_STRATEGY_INFO_HPP
-#define NFD_FW_STRATEGY_INFO_HPP
+#ifndef NFD_DAEMON_FW_STRATEGY_INFO_HPP
+#define NFD_DAEMON_FW_STRATEGY_INFO_HPP
 
 #include "common.hpp"
 
@@ -49,4 +49,4 @@
 } // namespace fw
 } // namespace nfd
 
-#endif // NFD_FW_STRATEGY_INFO_HPP
+#endif // NFD_DAEMON_FW_STRATEGY_INFO_HPP
diff --git a/daemon/fw/strategy.hpp b/daemon/fw/strategy.hpp
index 3b7d6b7..eaeed26 100644
--- a/daemon/fw/strategy.hpp
+++ b/daemon/fw/strategy.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_FW_STRATEGY_HPP
-#define NFD_FW_STRATEGY_HPP
+#ifndef NFD_DAEMON_FW_STRATEGY_HPP
+#define NFD_DAEMON_FW_STRATEGY_HPP
 
 #include "forwarder.hpp"
 #include "table/measurements-accessor.hpp"
@@ -176,4 +176,4 @@
 } // namespace fw
 } // namespace nfd
 
-#endif // NFD_FW_STRATEGY_HPP
+#endif // NFD_DAEMON_FW_STRATEGY_HPP
diff --git a/daemon/main.cpp b/daemon/main.cpp
index de9511e..4ff0264 100644
--- a/daemon/main.cpp
+++ b/daemon/main.cpp
@@ -33,7 +33,7 @@
 #include "mgmt/face-manager.hpp"
 #include "mgmt/strategy-choice-manager.hpp"
 #include "mgmt/status-server.hpp"
-#include "mgmt/config-file.hpp"
+#include "core/config-file.hpp"
 
 namespace nfd {
 
diff --git a/daemon/mgmt/app-face.hpp b/daemon/mgmt/app-face.hpp
index 79513aa..1539b9e 100644
--- a/daemon/mgmt/app-face.hpp
+++ b/daemon/mgmt/app-face.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_MGMT_APP_FACE_HPP
-#define NFD_MGMT_APP_FACE_HPP
+#ifndef NFD_DAEMON_MGMT_APP_FACE_HPP
+#define NFD_DAEMON_MGMT_APP_FACE_HPP
 
 #include "common.hpp"
 
@@ -55,4 +55,4 @@
 
 } // namespace nfd
 
-#endif //NFD_MGMT_APP_FACE_HPP
+#endif // NFD_DAEMON_MGMT_APP_FACE_HPP
diff --git a/daemon/mgmt/command-validator.hpp b/daemon/mgmt/command-validator.hpp
index ea85e99..8456db3 100644
--- a/daemon/mgmt/command-validator.hpp
+++ b/daemon/mgmt/command-validator.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_MGMT_COMMAND_VALIDATOR_HPP
-#define NFD_MGMT_COMMAND_VALIDATOR_HPP
+#ifndef NFD_DAEMON_MGMT_COMMAND_VALIDATOR_HPP
+#define NFD_DAEMON_MGMT_COMMAND_VALIDATOR_HPP
 
 #include "common.hpp"
 #include "config-file.hpp"
@@ -113,4 +113,4 @@
 
 } // namespace nfd
 
-#endif // NFD_MGMT_COMMAND_VALIDATOR_HPP
+#endif // NFD_DAEMON_MGMT_COMMAND_VALIDATOR_HPP
diff --git a/daemon/mgmt/face-flags.hpp b/daemon/mgmt/face-flags.hpp
index d5541ae..c4809a0 100644
--- a/daemon/mgmt/face-flags.hpp
+++ b/daemon/mgmt/face-flags.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_MGMT_FACE_FLAGS_HPP
-#define NFD_MGMT_FACE_FLAGS_HPP
+#ifndef NFD_DAEMON_MGMT_FACE_FLAGS_HPP
+#define NFD_DAEMON_MGMT_FACE_FLAGS_HPP
 
 #include "face/face.hpp"
 #include <ndn-cpp-dev/management/nfd-face-flags.hpp>
@@ -45,4 +45,4 @@
 
 } // namespace nfd
 
-#endif // NFD_MGMT_FACE_FLAGS_HPP
+#endif // NFD_DAEMON_MGMT_FACE_FLAGS_HPP
diff --git a/daemon/mgmt/face-manager.cpp b/daemon/mgmt/face-manager.cpp
index 7861935..79822f7 100644
--- a/daemon/mgmt/face-manager.cpp
+++ b/daemon/mgmt/face-manager.cpp
@@ -31,7 +31,7 @@
 #include "fw/face-table.hpp"
 #include "face/tcp-factory.hpp"
 #include "face/udp-factory.hpp"
-#include "mgmt/config-file.hpp"
+#include "core/config-file.hpp"
 
 #ifdef HAVE_UNIX_SOCKETS
 #include "face/unix-stream-factory.hpp"
diff --git a/daemon/mgmt/face-manager.hpp b/daemon/mgmt/face-manager.hpp
index d1ba482..ed33975 100644
--- a/daemon/mgmt/face-manager.hpp
+++ b/daemon/mgmt/face-manager.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_MGMT_FACE_MANAGER_HPP
-#define NFD_MGMT_FACE_MANAGER_HPP
+#ifndef NFD_DAEMON_MGMT_FACE_MANAGER_HPP
+#define NFD_DAEMON_MGMT_FACE_MANAGER_HPP
 
 #include "common.hpp"
 #include "face/local-face.hpp"
@@ -224,4 +224,4 @@
 
 } // namespace nfd
 
-#endif // NFD_MGMT_FACE_MANAGER_HPP
+#endif // NFD_DAEMON_MGMT_FACE_MANAGER_HPP
diff --git a/daemon/mgmt/face-status-publisher.hpp b/daemon/mgmt/face-status-publisher.hpp
index 7013ae7..935426d 100644
--- a/daemon/mgmt/face-status-publisher.hpp
+++ b/daemon/mgmt/face-status-publisher.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_MGMT_FACE_STATUS_PUBLISHER_HPP
-#define NFD_MGMT_FACE_STATUS_PUBLISHER_HPP
+#ifndef NFD_DAEMON_MGMT_FACE_STATUS_PUBLISHER_HPP
+#define NFD_DAEMON_MGMT_FACE_STATUS_PUBLISHER_HPP
 
 #include "mgmt/segment-publisher.hpp"
 
@@ -52,4 +52,4 @@
 
 } // namespace nfd
 
-#endif // NFD_MGMT_FACE_STATUS_PUBLISHER_HPP
+#endif // NFD_DAEMON_MGMT_FACE_STATUS_PUBLISHER_HPP
diff --git a/daemon/mgmt/fib-enumeration-publisher.hpp b/daemon/mgmt/fib-enumeration-publisher.hpp
index 0baf3bc..2aa7539 100644
--- a/daemon/mgmt/fib-enumeration-publisher.hpp
+++ b/daemon/mgmt/fib-enumeration-publisher.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_MGMT_FIB_ENUMERATION_PUBLISHER_HPP
-#define NFD_MGMT_FIB_ENUMERATION_PUBLISHER_HPP
+#ifndef NFD_DAEMON_MGMT_FIB_ENUMERATION_PUBLISHER_HPP
+#define NFD_DAEMON_MGMT_FIB_ENUMERATION_PUBLISHER_HPP
 
 #include "mgmt/segment-publisher.hpp"
 
@@ -52,4 +52,4 @@
 
 } // namespace nfd
 
-#endif // NFD_MGMT_FIB_ENUMERATION_PUBLISHER_HPP
+#endif // NFD_DAEMON_MGMT_FIB_ENUMERATION_PUBLISHER_HPP
diff --git a/daemon/mgmt/fib-manager.hpp b/daemon/mgmt/fib-manager.hpp
index 4c3bf8d..4591088 100644
--- a/daemon/mgmt/fib-manager.hpp
+++ b/daemon/mgmt/fib-manager.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_MGMT_FIB_MANAGER_HPP
-#define NFD_MGMT_FIB_MANAGER_HPP
+#ifndef NFD_DAEMON_MGMT_FIB_MANAGER_HPP
+#define NFD_DAEMON_MGMT_FIB_MANAGER_HPP
 
 #include "common.hpp"
 #include "mgmt/manager-base.hpp"
@@ -109,4 +109,4 @@
 
 } // namespace nfd
 
-#endif // NFD_MGMT_FIB_MANAGER_HPP
+#endif // NFD_DAEMON_MGMT_FIB_MANAGER_HPP
diff --git a/daemon/mgmt/internal-face.hpp b/daemon/mgmt/internal-face.hpp
index 479f256..ff89ac8 100644
--- a/daemon/mgmt/internal-face.hpp
+++ b/daemon/mgmt/internal-face.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_MGMT_INTERNAL_FACE_HPP
-#define NFD_MGMT_INTERNAL_FACE_HPP
+#ifndef NFD_DAEMON_MGMT_INTERNAL_FACE_HPP
+#define NFD_DAEMON_MGMT_INTERNAL_FACE_HPP
 
 #include "face/face.hpp"
 #include "app-face.hpp"
@@ -94,4 +94,4 @@
 
 } // namespace nfd
 
-#endif //NFD_MGMT_INTERNAL_FACE_HPP
+#endif // NFD_DAEMON_MGMT_INTERNAL_FACE_HPP
diff --git a/daemon/mgmt/manager-base.hpp b/daemon/mgmt/manager-base.hpp
index 5002dec..5d19b2a 100644
--- a/daemon/mgmt/manager-base.hpp
+++ b/daemon/mgmt/manager-base.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_MGMT_MANAGER_BASE_HPP
-#define NFD_MGMT_MANAGER_BASE_HPP
+#ifndef NFD_DAEMON_MGMT_MANAGER_BASE_HPP
+#define NFD_DAEMON_MGMT_MANAGER_BASE_HPP
 
 #include "common.hpp"
 
@@ -159,4 +159,4 @@
 
 } // namespace nfd
 
-#endif // NFD_MGMT_MANAGER_BASE_HPP
+#endif // NFD_DAEMON_MGMT_MANAGER_BASE_HPP
diff --git a/daemon/mgmt/notification-stream.hpp b/daemon/mgmt/notification-stream.hpp
index 6c45835..8d727d7 100644
--- a/daemon/mgmt/notification-stream.hpp
+++ b/daemon/mgmt/notification-stream.hpp
@@ -21,8 +21,8 @@
  * You should have received a copy of the GNU General Public License along with
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
-#ifndef NFD_MGMT_NOTIFICATION_STREAM_HPP
-#define NFD_MGMT_NOTIFICATION_STREAM_HPP
+#ifndef NFD_DAEMON_MGMT_NOTIFICATION_STREAM_HPP
+#define NFD_DAEMON_MGMT_NOTIFICATION_STREAM_HPP
 
 #include "mgmt/app-face.hpp"
 
@@ -76,4 +76,4 @@
 } // namespace nfd
 
 
-#endif // NFD_MGMT_NOTIFICATION_STREAM_HPP
+#endif // NFD_DAEMON_MGMT_NOTIFICATION_STREAM_HPP
diff --git a/daemon/mgmt/segment-publisher.hpp b/daemon/mgmt/segment-publisher.hpp
index ebab6e9..a01ff76 100644
--- a/daemon/mgmt/segment-publisher.hpp
+++ b/daemon/mgmt/segment-publisher.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_MGMT_SEGMENT_PUBLISHER_HPP
-#define NFD_MGMT_SEGMENT_PUBLISHER_HPP
+#ifndef NFD_DAEMON_MGMT_SEGMENT_PUBLISHER_HPP
+#define NFD_DAEMON_MGMT_SEGMENT_PUBLISHER_HPP
 
 #include "common.hpp"
 #include "mgmt/app-face.hpp"
@@ -62,4 +62,4 @@
 
 } // namespace nfd
 
-#endif // NFD_MGMT_SEGMENT_PUBLISHER_HPP
+#endif // NFD_DAEMON_MGMT_SEGMENT_PUBLISHER_HPP
diff --git a/daemon/mgmt/status-server.cpp b/daemon/mgmt/status-server.cpp
index bb42a0e..148061c 100644
--- a/daemon/mgmt/status-server.cpp
+++ b/daemon/mgmt/status-server.cpp
@@ -24,7 +24,7 @@
 
 #include "status-server.hpp"
 #include "fw/forwarder.hpp"
-#include "core/version.hpp"
+#include "version.hpp"
 
 namespace nfd {
 
diff --git a/daemon/mgmt/status-server.hpp b/daemon/mgmt/status-server.hpp
index 6848f5b..60cbf39 100644
--- a/daemon/mgmt/status-server.hpp
+++ b/daemon/mgmt/status-server.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_MGMT_STATUS_SERVER_HPP
-#define NFD_MGMT_STATUS_SERVER_HPP
+#ifndef NFD_DAEMON_MGMT_STATUS_SERVER_HPP
+#define NFD_DAEMON_MGMT_STATUS_SERVER_HPP
 
 #include "mgmt/app-face.hpp"
 #include <ndn-cpp-dev/management/nfd-forwarder-status.hpp>
@@ -55,4 +55,4 @@
 
 } // namespace nfd
 
-#endif // NFD_MGMT_STATUS_SERVER_HPP
+#endif // NFD_DAEMON_MGMT_STATUS_SERVER_HPP
diff --git a/daemon/mgmt/strategy-choice-manager.hpp b/daemon/mgmt/strategy-choice-manager.hpp
index c79a2ac..94cdb11 100644
--- a/daemon/mgmt/strategy-choice-manager.hpp
+++ b/daemon/mgmt/strategy-choice-manager.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_MGMT_STRATEGY_CHOICE_MANAGER_HPP
-#define NFD_MGMT_STRATEGY_CHOICE_MANAGER_HPP
+#ifndef NFD_DAEMON_MGMT_STRATEGY_CHOICE_MANAGER_HPP
+#define NFD_DAEMON_MGMT_STRATEGY_CHOICE_MANAGER_HPP
 
 #include "mgmt/manager-base.hpp"
 
@@ -77,4 +77,4 @@
 
 } // namespace nfd
 
-#endif // NFD_MGMT_STRATEGY_CHOICE_MANAGER_HPP
+#endif // NFD_DAEMON_MGMT_STRATEGY_CHOICE_MANAGER_HPP
diff --git a/daemon/table/cs-entry.hpp b/daemon/table/cs-entry.hpp
index ce3d538..33f7d64 100644
--- a/daemon/table/cs-entry.hpp
+++ b/daemon/table/cs-entry.hpp
@@ -24,8 +24,8 @@
  * \author Ilya Moiseenko <iliamo@ucla.edu>
  */
 
-#ifndef NFD_TABLE_CS_ENTRY_HPP
-#define NFD_TABLE_CS_ENTRY_HPP
+#ifndef NFD_DAEMON_TABLE_CS_ENTRY_HPP
+#define NFD_DAEMON_TABLE_CS_ENTRY_HPP
 
 #include "common.hpp"
 #include <ndn-cpp-dev/util/crypto.hpp>
@@ -166,4 +166,4 @@
 } // namespace cs
 } // namespace nfd
 
-#endif // NFD_TABLE_CS_ENTRY_HPP
+#endif // NFD_DAEMON_TABLE_CS_ENTRY_HPP
diff --git a/daemon/table/cs.hpp b/daemon/table/cs.hpp
index f52585b..5e3b79d 100644
--- a/daemon/table/cs.hpp
+++ b/daemon/table/cs.hpp
@@ -24,8 +24,8 @@
  * \author Ilya Moiseenko <iliamo@ucla.edu>
  */
 
-#ifndef NFD_TABLE_CS_HPP
-#define NFD_TABLE_CS_HPP
+#ifndef NFD_DAEMON_TABLE_CS_HPP
+#define NFD_DAEMON_TABLE_CS_HPP
 
 #include "common.hpp"
 #include "cs-entry.hpp"
@@ -224,4 +224,4 @@
 
 } // namespace nfd
 
-#endif // NFD_TABLE_CS_HPP
+#endif // NFD_DAEMON_TABLE_CS_HPP
diff --git a/daemon/table/fib-entry.hpp b/daemon/table/fib-entry.hpp
index e30f9d7..1d03426 100644
--- a/daemon/table/fib-entry.hpp
+++ b/daemon/table/fib-entry.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_TABLE_FIB_ENTRY_HPP
-#define NFD_TABLE_FIB_ENTRY_HPP
+#ifndef NFD_DAEMON_TABLE_FIB_ENTRY_HPP
+#define NFD_DAEMON_TABLE_FIB_ENTRY_HPP
 
 #include "fib-nexthop.hpp"
 
@@ -111,4 +111,4 @@
 } // namespace fib
 } // namespace nfd
 
-#endif // NFD_TABLE_FIB_ENTRY_HPP
+#endif // NFD_DAEMON_TABLE_FIB_ENTRY_HPP
diff --git a/daemon/table/fib-nexthop.hpp b/daemon/table/fib-nexthop.hpp
index abf5082..691cf6b 100644
--- a/daemon/table/fib-nexthop.hpp
+++ b/daemon/table/fib-nexthop.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_TABLE_FIB_NEXTHOP_HPP
-#define NFD_TABLE_FIB_NEXTHOP_HPP
+#ifndef NFD_DAEMON_TABLE_FIB_NEXTHOP_HPP
+#define NFD_DAEMON_TABLE_FIB_NEXTHOP_HPP
 
 #include "common.hpp"
 #include "face/face.hpp"
@@ -59,4 +59,4 @@
 } // namespace fib
 } // namespace nfd
 
-#endif // NFD_TABLE_FIB_NEXTHOP_HPP
+#endif // NFD_DAEMON_TABLE_FIB_NEXTHOP_HPP
diff --git a/daemon/table/fib.hpp b/daemon/table/fib.hpp
index f7ae4d5..e5aaf15 100644
--- a/daemon/table/fib.hpp
+++ b/daemon/table/fib.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_TABLE_FIB_HPP
-#define NFD_TABLE_FIB_HPP
+#ifndef NFD_DAEMON_TABLE_FIB_HPP
+#define NFD_DAEMON_TABLE_FIB_HPP
 
 #include "fib-entry.hpp"
 #include "name-tree.hpp"
@@ -206,4 +206,4 @@
 
 } // namespace nfd
 
-#endif // NFD_TABLE_FIB_HPP
+#endif // NFD_DAEMON_TABLE_FIB_HPP
diff --git a/daemon/table/measurements-accessor.hpp b/daemon/table/measurements-accessor.hpp
index c7bfb33..2db0ccb 100644
--- a/daemon/table/measurements-accessor.hpp
+++ b/daemon/table/measurements-accessor.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_TABLE_MEASUREMENTS_ACCESSOR_HPP
-#define NFD_TABLE_MEASUREMENTS_ACCESSOR_HPP
+#ifndef NFD_DAEMON_TABLE_MEASUREMENTS_ACCESSOR_HPP
+#define NFD_DAEMON_TABLE_MEASUREMENTS_ACCESSOR_HPP
 
 #include "measurements.hpp"
 #include "strategy-choice.hpp"
@@ -116,4 +116,4 @@
 
 } // namespace nfd
 
-#endif // NFD_TABLE_MEASUREMENTS_ACCESSOR_HPP
+#endif // NFD_DAEMON_TABLE_MEASUREMENTS_ACCESSOR_HPP
diff --git a/daemon/table/measurements-entry.hpp b/daemon/table/measurements-entry.hpp
index 9720cb2..6593ee9 100644
--- a/daemon/table/measurements-entry.hpp
+++ b/daemon/table/measurements-entry.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_TABLE_MEASUREMENTS_ENTRY_HPP
-#define NFD_TABLE_MEASUREMENTS_ENTRY_HPP
+#ifndef NFD_DAEMON_TABLE_MEASUREMENTS_ENTRY_HPP
+#define NFD_DAEMON_TABLE_MEASUREMENTS_ENTRY_HPP
 
 #include "common.hpp"
 #include "strategy-info-host.hpp"
@@ -75,4 +75,4 @@
 } // namespace measurements
 } // namespace nfd
 
-#endif // NFD_TABLE_MEASUREMENTS_ENTRY_HPP
+#endif // NFD_DAEMON_TABLE_MEASUREMENTS_ENTRY_HPP
diff --git a/daemon/table/measurements.hpp b/daemon/table/measurements.hpp
index 1b9f382..4936d28 100644
--- a/daemon/table/measurements.hpp
+++ b/daemon/table/measurements.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_TABLE_MEASUREMENTS_HPP
-#define NFD_TABLE_MEASUREMENTS_HPP
+#ifndef NFD_DAEMON_TABLE_MEASUREMENTS_HPP
+#define NFD_DAEMON_TABLE_MEASUREMENTS_HPP
 
 #include "measurements-entry.hpp"
 #include "name-tree.hpp"
@@ -108,4 +108,4 @@
 
 } // namespace nfd
 
-#endif // NFD_TABLE_MEASUREMENTS_HPP
+#endif // NFD_DAEMON_TABLE_MEASUREMENTS_HPP
diff --git a/daemon/table/name-tree-entry.hpp b/daemon/table/name-tree-entry.hpp
index ab2e307..48c9af7 100644
--- a/daemon/table/name-tree-entry.hpp
+++ b/daemon/table/name-tree-entry.hpp
@@ -24,8 +24,8 @@
 
 // Name Tree Entry (i.e., Name Prefix Entry)
 
-#ifndef NFD_TABLE_NAME_TREE_ENTRY_HPP
-#define NFD_TABLE_NAME_TREE_ENTRY_HPP
+#ifndef NFD_DAEMON_TABLE_NAME_TREE_ENTRY_HPP
+#define NFD_DAEMON_TABLE_NAME_TREE_ENTRY_HPP
 
 #include "common.hpp"
 #include "table/fib-entry.hpp"
@@ -287,4 +287,4 @@
 } // namespace name_tree
 } // namespace nfd
 
-#endif // NFD_TABLE_NAME_TREE_ENTRY_HPP
+#endif // NFD_DAEMON_TABLE_NAME_TREE_ENTRY_HPP
diff --git a/daemon/table/name-tree.hpp b/daemon/table/name-tree.hpp
index 4048137..2f404bf 100644
--- a/daemon/table/name-tree.hpp
+++ b/daemon/table/name-tree.hpp
@@ -24,8 +24,8 @@
 
 // Name Tree (Name Prefix Hash Table)
 
-#ifndef NFD_TABLE_NAME_TREE_HPP
-#define NFD_TABLE_NAME_TREE_HPP
+#ifndef NFD_DAEMON_TABLE_NAME_TREE_HPP
+#define NFD_DAEMON_TABLE_NAME_TREE_HPP
 
 #include "common.hpp"
 #include "name-tree-entry.hpp"
@@ -372,4 +372,4 @@
 
 } // namespace nfd
 
-#endif // NFD_TABLE_NAME_TREE_HPP
+#endif // NFD_DAEMON_TABLE_NAME_TREE_HPP
diff --git a/daemon/table/pit-entry.hpp b/daemon/table/pit-entry.hpp
index e281bc7..c419f78 100644
--- a/daemon/table/pit-entry.hpp
+++ b/daemon/table/pit-entry.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_TABLE_PIT_ENTRY_HPP
-#define NFD_TABLE_PIT_ENTRY_HPP
+#ifndef NFD_DAEMON_TABLE_PIT_ENTRY_HPP
+#define NFD_DAEMON_TABLE_PIT_ENTRY_HPP
 
 #include "pit-in-record.hpp"
 #include "pit-out-record.hpp"
@@ -165,4 +165,4 @@
 } // namespace pit
 } // namespace nfd
 
-#endif // NFD_TABLE_PIT_ENTRY_HPP
+#endif // NFD_DAEMON_TABLE_PIT_ENTRY_HPP
diff --git a/daemon/table/pit-face-record.hpp b/daemon/table/pit-face-record.hpp
index 713b801..a4cea26 100644
--- a/daemon/table/pit-face-record.hpp
+++ b/daemon/table/pit-face-record.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_TABLE_PIT_FACE_RECORD_HPP
-#define NFD_TABLE_PIT_FACE_RECORD_HPP
+#ifndef NFD_DAEMON_TABLE_PIT_FACE_RECORD_HPP
+#define NFD_DAEMON_TABLE_PIT_FACE_RECORD_HPP
 
 #include "face/face.hpp"
 #include "strategy-info-host.hpp"
@@ -98,4 +98,4 @@
 } // namespace pit
 } // namespace nfd
 
-#endif // NFD_TABLE_PIT_FACE_RECORD_HPP
+#endif // NFD_DAEMON_TABLE_PIT_FACE_RECORD_HPP
diff --git a/daemon/table/pit-in-record.hpp b/daemon/table/pit-in-record.hpp
index 58738aa..95b90ba 100644
--- a/daemon/table/pit-in-record.hpp
+++ b/daemon/table/pit-in-record.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_TABLE_PIT_IN_RECORD_HPP
-#define NFD_TABLE_PIT_IN_RECORD_HPP
+#ifndef NFD_DAEMON_TABLE_PIT_IN_RECORD_HPP
+#define NFD_DAEMON_TABLE_PIT_IN_RECORD_HPP
 
 #include "pit-face-record.hpp"
 
@@ -61,4 +61,4 @@
 } // namespace pit
 } // namespace nfd
 
-#endif // NFD_TABLE_PIT_IN_RECORD_HPP
+#endif // NFD_DAEMON_TABLE_PIT_IN_RECORD_HPP
diff --git a/daemon/table/pit-out-record.hpp b/daemon/table/pit-out-record.hpp
index 8df3b72..9b954e6 100644
--- a/daemon/table/pit-out-record.hpp
+++ b/daemon/table/pit-out-record.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_TABLE_PIT_OUT_RECORD_HPP
-#define NFD_TABLE_PIT_OUT_RECORD_HPP
+#ifndef NFD_DAEMON_TABLE_PIT_OUT_RECORD_HPP
+#define NFD_DAEMON_TABLE_PIT_OUT_RECORD_HPP
 
 #include "pit-face-record.hpp"
 
@@ -45,4 +45,4 @@
 } // namespace pit
 } // namespace nfd
 
-#endif // NFD_TABLE_PIT_IN_RECORD_HPP
+#endif // NFD_DAEMON_TABLE_PIT_IN_RECORD_HPP
diff --git a/daemon/table/pit.hpp b/daemon/table/pit.hpp
index 808c6a8..48a267b 100644
--- a/daemon/table/pit.hpp
+++ b/daemon/table/pit.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_TABLE_PIT_HPP
-#define NFD_TABLE_PIT_HPP
+#ifndef NFD_DAEMON_TABLE_PIT_HPP
+#define NFD_DAEMON_TABLE_PIT_HPP
 
 #include "name-tree.hpp"
 #include "pit-entry.hpp"
@@ -90,4 +90,4 @@
 
 } // namespace nfd
 
-#endif // NFD_TABLE_PIT_HPP
+#endif // NFD_DAEMON_TABLE_PIT_HPP
diff --git a/daemon/table/strategy-choice-entry.hpp b/daemon/table/strategy-choice-entry.hpp
index b256163..4fe904e 100644
--- a/daemon/table/strategy-choice-entry.hpp
+++ b/daemon/table/strategy-choice-entry.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_TABLE_STRATEGY_CHOICE_ENTRY_HPP
-#define NFD_TABLE_STRATEGY_CHOICE_ENTRY_HPP
+#ifndef NFD_DAEMON_TABLE_STRATEGY_CHOICE_ENTRY_HPP
+#define NFD_DAEMON_TABLE_STRATEGY_CHOICE_ENTRY_HPP
 
 #include "common.hpp"
 
@@ -81,4 +81,4 @@
 } // namespace strategy_choice
 } // namespace nfd
 
-#endif // NFD_TABLE_STRATEGY_CHOICE_ENTRY_HPP
+#endif // NFD_DAEMON_TABLE_STRATEGY_CHOICE_ENTRY_HPP
diff --git a/daemon/table/strategy-choice.hpp b/daemon/table/strategy-choice.hpp
index 3df32aa..8ffe4d6 100644
--- a/daemon/table/strategy-choice.hpp
+++ b/daemon/table/strategy-choice.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_TABLE_STRATEGY_CHOICE_HPP
-#define NFD_TABLE_STRATEGY_CHOICE_HPP
+#ifndef NFD_DAEMON_TABLE_STRATEGY_CHOICE_HPP
+#define NFD_DAEMON_TABLE_STRATEGY_CHOICE_HPP
 
 #include "strategy-choice-entry.hpp"
 #include "name-tree.hpp"
@@ -116,4 +116,4 @@
 
 } // namespace nfd
 
-#endif // NFD_TABLE_STRATEGY_CHOICE_HPP
+#endif // NFD_DAEMON_TABLE_STRATEGY_CHOICE_HPP
diff --git a/daemon/table/strategy-info-host.hpp b/daemon/table/strategy-info-host.hpp
index ec5b133..dfe9341 100644
--- a/daemon/table/strategy-info-host.hpp
+++ b/daemon/table/strategy-info-host.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_TABLE_STRATEGY_INFO_HOST_HPP
-#define NFD_TABLE_STRATEGY_INFO_HOST_HPP
+#ifndef NFD_DAEMON_TABLE_STRATEGY_INFO_HOST_HPP
+#define NFD_DAEMON_TABLE_STRATEGY_INFO_HOST_HPP
 
 #include "fw/strategy-info.hpp"
 
@@ -99,4 +99,4 @@
 
 } // namespace nfd
 
-#endif // NFD_TABLE_STRATEGY_INFO_HOST_HPP
+#endif // NFD_DAEMON_TABLE_STRATEGY_INFO_HOST_HPP
diff --git a/docs/doxygen.conf b/docs/doxygen.conf
index 1a46ada..a6a9a38 100644
--- a/docs/doxygen.conf
+++ b/docs/doxygen.conf
@@ -142,7 +142,7 @@
 # will be relative from the directory where doxygen is started.
 # This tag requires that the tag FULL_PATH_NAMES is set to YES.
 
-STRIP_FROM_PATH        = daemon/
+STRIP_FROM_PATH        =
 
 # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the
 # path mentioned in the documentation of a class, which tells the reader which
@@ -733,7 +733,7 @@
 # spaces.
 # Note: If this tag is empty the current directory is searched.
 
-INPUT                  = daemon/
+INPUT                  = core/ daemon/
 
 # This tag can be used to specify the character encoding of the source files
 # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
diff --git a/tests/mgmt/config-file.cpp b/tests/core/config-file.cpp
similarity index 95%
rename from tests/mgmt/config-file.cpp
rename to tests/core/config-file.cpp
index ff352d4..bb75b77 100644
--- a/tests/mgmt/config-file.cpp
+++ b/tests/core/config-file.cpp
@@ -22,7 +22,7 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#include "mgmt/config-file.hpp"
+#include "core/config-file.hpp"
 
 #include "tests/test-common.hpp"
 
@@ -218,7 +218,7 @@
   DummyAllSubscriber sub(file);
   std::ifstream input;
 
-  input.open("tests/mgmt/config_example.info");
+  input.open("tests/core/config_example.info");
   BOOST_REQUIRE(input.is_open());
 
   file.parse(input, false, "config_example.info");
@@ -280,7 +280,7 @@
   ConfigFile file;
   DummyAllSubscriber sub(file);
 
-  file.parse("tests/mgmt/config_example.info", false);
+  file.parse("tests/core/config_example.info", false);
 
   BOOST_CHECK(sub.allCallbacksFired());
 }
@@ -300,7 +300,7 @@
   ConfigFile file;
   DummyAllSubscriber sub(file);
 
-  BOOST_CHECK_THROW(file.parse("tests/mgmt/config_malformed.info", false), ConfigFile::Error);
+  BOOST_CHECK_THROW(file.parse("tests/core/config_malformed.info", false), ConfigFile::Error);
 
   BOOST_CHECK(sub.noCallbacksFired());
 }
@@ -311,10 +311,10 @@
   DummyAllSubscriber sub(file, true);
   std::ifstream input;
 
-  input.open("tests/mgmt/config_example.info");
+  input.open("tests/core/config_example.info");
   BOOST_REQUIRE(input.is_open());
 
-  file.parse(input, true, "tests/mgmt/config_example.info");
+  file.parse(input, true, "tests/core/config_example.info");
 
   BOOST_CHECK(sub.allCallbacksFired());
 
@@ -326,7 +326,7 @@
   ConfigFile file;
   DummyAllSubscriber sub(file, true);
 
-  file.parse("tests/mgmt/config_example.info", true);
+  file.parse("tests/core/config_example.info", true);
   BOOST_CHECK(sub.allCallbacksFired());
 }
 
diff --git a/tests/mgmt/config_example.info b/tests/core/config_example.info
similarity index 100%
rename from tests/mgmt/config_example.info
rename to tests/core/config_example.info
diff --git a/tests/mgmt/config_malformed.info b/tests/core/config_malformed.info
similarity index 100%
rename from tests/mgmt/config_malformed.info
rename to tests/core/config_malformed.info
diff --git a/tests/face/ethernet-address.cpp b/tests/core/ethernet.cpp
similarity index 98%
rename from tests/face/ethernet-address.cpp
rename to tests/core/ethernet.cpp
index d9e1b42..157f574 100644
--- a/tests/face/ethernet-address.cpp
+++ b/tests/core/ethernet.cpp
@@ -22,7 +22,7 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#include "face/ethernet.hpp"
+#include "core/ethernet.hpp"
 #include "tests/test-common.hpp"
 
 namespace nfd {
diff --git a/tests/core/face-uri.cpp b/tests/core/face-uri.cpp
index 5d31f66..0e54f04 100644
--- a/tests/core/face-uri.cpp
+++ b/tests/core/face-uri.cpp
@@ -24,7 +24,7 @@
 
 #include "core/face-uri.hpp"
 #ifdef HAVE_LIBPCAP
-#include "face/ethernet.hpp"
+#include "core/ethernet.hpp"
 #endif // HAVE_LIBPCAP
 
 #include "tests/test-common.hpp"
diff --git a/tests/core/version.cpp b/tests/core/version.cpp
index ee29615..669a866 100644
--- a/tests/core/version.cpp
+++ b/tests/core/version.cpp
@@ -22,7 +22,7 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#include "core/version.hpp"
+#include "version.hpp"
 #include "core/logger.hpp"
 
 #include "tests/test-common.hpp"
diff --git a/tests/face/dummy-face.hpp b/tests/daemon/face/dummy-face.hpp
similarity index 94%
rename from tests/face/dummy-face.hpp
rename to tests/daemon/face/dummy-face.hpp
index e4d75c2..7039286 100644
--- a/tests/face/dummy-face.hpp
+++ b/tests/daemon/face/dummy-face.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_TEST_FACE_DUMMY_FACE_HPP
-#define NFD_TEST_FACE_DUMMY_FACE_HPP
+#ifndef NFD_TESTS_NFD_FACE_DUMMY_FACE_HPP
+#define NFD_TESTS_NFD_FACE_DUMMY_FACE_HPP
 
 #include "face/face.hpp"
 #include "face/local-face.hpp"
@@ -90,4 +90,4 @@
 } // namespace tests
 } // namespace nfd
 
-#endif // TEST_FACE_DUMMY_FACE_HPP
+#endif // NFD_TESTS_NFD_FACE_DUMMY_FACE_HPP
diff --git a/tests/face/ethernet.cpp b/tests/daemon/face/ethernet.cpp
similarity index 100%
rename from tests/face/ethernet.cpp
rename to tests/daemon/face/ethernet.cpp
diff --git a/tests/face/face.cpp b/tests/daemon/face/face.cpp
similarity index 100%
rename from tests/face/face.cpp
rename to tests/daemon/face/face.cpp
diff --git a/tests/face/ndnlp.cpp b/tests/daemon/face/ndnlp.cpp
similarity index 100%
rename from tests/face/ndnlp.cpp
rename to tests/daemon/face/ndnlp.cpp
diff --git a/tests/face/tcp.cpp b/tests/daemon/face/tcp.cpp
similarity index 99%
rename from tests/face/tcp.cpp
rename to tests/daemon/face/tcp.cpp
index 0c2a094..07e6ec5 100644
--- a/tests/face/tcp.cpp
+++ b/tests/daemon/face/tcp.cpp
@@ -26,7 +26,7 @@
 #include <ndn-cpp-dev/security/key-chain.hpp>
 
 #include "tests/test-common.hpp"
-#include "tests/core/limited-io.hpp"
+#include "tests/limited-io.hpp"
 
 namespace nfd {
 namespace tests {
diff --git a/tests/face/udp.cpp b/tests/daemon/face/udp.cpp
similarity index 99%
rename from tests/face/udp.cpp
rename to tests/daemon/face/udp.cpp
index 776d9a7..2dfca3a 100644
--- a/tests/face/udp.cpp
+++ b/tests/daemon/face/udp.cpp
@@ -25,7 +25,7 @@
 #include "face/udp-factory.hpp"
 
 #include "tests/test-common.hpp"
-#include "tests/core/limited-io.hpp"
+#include "tests/limited-io.hpp"
 
 namespace nfd {
 namespace tests {
diff --git a/tests/face/unix-stream.cpp b/tests/daemon/face/unix-stream.cpp
similarity index 99%
rename from tests/face/unix-stream.cpp
rename to tests/daemon/face/unix-stream.cpp
index 7e08b78..4181aa1 100644
--- a/tests/face/unix-stream.cpp
+++ b/tests/daemon/face/unix-stream.cpp
@@ -25,7 +25,7 @@
 #include "face/unix-stream-factory.hpp"
 
 #include "tests/test-common.hpp"
-#include "tests/core/limited-io.hpp"
+#include "tests/limited-io.hpp"
 
 namespace nfd {
 namespace tests {
diff --git a/tests/fw/broadcast-strategy.cpp b/tests/daemon/fw/broadcast-strategy.cpp
similarity index 98%
rename from tests/fw/broadcast-strategy.cpp
rename to tests/daemon/fw/broadcast-strategy.cpp
index 7a4c6dc..cde9b44 100644
--- a/tests/fw/broadcast-strategy.cpp
+++ b/tests/daemon/fw/broadcast-strategy.cpp
@@ -24,7 +24,7 @@
 
 #include "fw/broadcast-strategy.hpp"
 #include "strategy-tester.hpp"
-#include "tests/face/dummy-face.hpp"
+#include "tests/daemon/face/dummy-face.hpp"
 
 #include "tests/test-common.hpp"
 
diff --git a/tests/fw/client-control-strategy.cpp b/tests/daemon/fw/client-control-strategy.cpp
similarity index 98%
rename from tests/fw/client-control-strategy.cpp
rename to tests/daemon/fw/client-control-strategy.cpp
index 3ee72ca..c76fb52 100644
--- a/tests/fw/client-control-strategy.cpp
+++ b/tests/daemon/fw/client-control-strategy.cpp
@@ -24,7 +24,7 @@
 
 #include "fw/client-control-strategy.hpp"
 #include "strategy-tester.hpp"
-#include "tests/face/dummy-face.hpp"
+#include "tests/daemon/face/dummy-face.hpp"
 
 #include "tests/test-common.hpp"
 
diff --git a/tests/fw/dummy-strategy.hpp b/tests/daemon/fw/dummy-strategy.hpp
similarity index 94%
rename from tests/fw/dummy-strategy.hpp
rename to tests/daemon/fw/dummy-strategy.hpp
index 5f6587b..67784fc 100644
--- a/tests/fw/dummy-strategy.hpp
+++ b/tests/daemon/fw/dummy-strategy.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_TEST_FW_DUMMY_STRATEGY_HPP
-#define NFD_TEST_FW_DUMMY_STRATEGY_HPP
+#ifndef NFD_TESTS_NFD_FW_DUMMY_STRATEGY_HPP
+#define NFD_TESTS_NFD_FW_DUMMY_STRATEGY_HPP
 
 #include "fw/strategy.hpp"
 
@@ -83,4 +83,4 @@
 } // namespace tests
 } // namespace nfd
 
-#endif // TEST_FW_DUMMY_STRATEGY_HPP
+#endif // NFD_TESTS_NFD_FW_DUMMY_STRATEGY_HPP
diff --git a/tests/fw/face-table.cpp b/tests/daemon/fw/face-table.cpp
similarity index 98%
rename from tests/fw/face-table.cpp
rename to tests/daemon/fw/face-table.cpp
index 42d1f53..daf9256 100644
--- a/tests/fw/face-table.cpp
+++ b/tests/daemon/fw/face-table.cpp
@@ -26,7 +26,7 @@
 #include "fw/forwarder.hpp"
 
 #include "tests/test-common.hpp"
-#include "tests/face/dummy-face.hpp"
+#include "tests/daemon/face/dummy-face.hpp"
 
 namespace nfd {
 namespace tests {
diff --git a/tests/fw/forwarder.cpp b/tests/daemon/fw/forwarder.cpp
similarity index 99%
rename from tests/fw/forwarder.cpp
rename to tests/daemon/fw/forwarder.cpp
index a2ee67e..0151460 100644
--- a/tests/fw/forwarder.cpp
+++ b/tests/daemon/fw/forwarder.cpp
@@ -23,11 +23,11 @@
  **/
 
 #include "fw/forwarder.hpp"
-#include "tests/face/dummy-face.hpp"
+#include "tests/daemon/face/dummy-face.hpp"
 #include "dummy-strategy.hpp"
 
 #include "tests/test-common.hpp"
-#include "tests/core/limited-io.hpp"
+#include "tests/limited-io.hpp"
 
 namespace nfd {
 namespace tests {
diff --git a/tests/fw/ncc-strategy.cpp b/tests/daemon/fw/ncc-strategy.cpp
similarity index 97%
rename from tests/fw/ncc-strategy.cpp
rename to tests/daemon/fw/ncc-strategy.cpp
index 493e621..29db3b3 100644
--- a/tests/fw/ncc-strategy.cpp
+++ b/tests/daemon/fw/ncc-strategy.cpp
@@ -24,8 +24,8 @@
 
 #include "fw/ncc-strategy.hpp"
 #include "strategy-tester.hpp"
-#include "tests/face/dummy-face.hpp"
-#include "tests/core/limited-io.hpp"
+#include "tests/daemon/face/dummy-face.hpp"
+#include "tests/limited-io.hpp"
 
 #include "tests/test-common.hpp"
 
diff --git a/tests/fw/strategy-tester.hpp b/tests/daemon/fw/strategy-tester.hpp
similarity index 94%
rename from tests/fw/strategy-tester.hpp
rename to tests/daemon/fw/strategy-tester.hpp
index c268a8e..e3debef 100644
--- a/tests/fw/strategy-tester.hpp
+++ b/tests/daemon/fw/strategy-tester.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_TEST_FW_STRATEGY_TESTER_HPP
-#define NFD_TEST_FW_STRATEGY_TESTER_HPP
+#ifndef NFD_TESTS_NFD_FW_STRATEGY_TESTER_HPP
+#define NFD_TESTS_NFD_FW_STRATEGY_TESTER_HPP
 
 #include <boost/tuple/tuple_comparison.hpp>
 #include "fw/strategy.hpp"
@@ -86,4 +86,4 @@
 } // namespace tests
 } // namespace nfd
 
-#endif // TEST_FW_STRATEGY_TESTER_HPP
+#endif // NFD_TESTS_NFD_FW_STRATEGY_TESTER_HPP
diff --git a/tests/mgmt/command-validator.cpp b/tests/daemon/mgmt/command-validator.cpp
similarity index 90%
rename from tests/mgmt/command-validator.cpp
rename to tests/daemon/mgmt/command-validator.cpp
index 69c44a0..cb8031a 100644
--- a/tests/mgmt/command-validator.cpp
+++ b/tests/daemon/mgmt/command-validator.cpp
@@ -23,7 +23,7 @@
  **/
 
 #include "mgmt/command-validator.hpp"
-#include "mgmt/config-file.hpp"
+#include "core/config-file.hpp"
 
 #include "tests/test-common.hpp"
 
@@ -44,7 +44,7 @@
 // {
 //   authorize
 //   {
-//     certfile "tests/mgmt/cert1.ndncert"
+//     certfile "tests/daemon/mgmt/cert1.ndncert"
 //     privileges
 //     {
 //       fib
@@ -54,7 +54,7 @@
 
 //   authorize
 //   {
-//     certfile "tests/mgmt/cert2.ndncert"
+//     certfile "tests/daemon/mgmt/cert2.ndncert"
 //     privileges
 //     {
 //       faces
@@ -67,7 +67,7 @@
 "{\n"
 "  authorize\n"
 "  {\n"
-"    certfile \"tests/mgmt/cert1.ndncert\"\n"
+"    certfile \"tests/daemon/mgmt/cert1.ndncert\"\n"
 "    privileges\n"
 "    {\n"
 "      fib\n"
@@ -76,7 +76,7 @@
 "  }\n"
 "  authorize\n"
 "  {\n"
-"    certfile \"tests/mgmt/cert2.ndncert\"\n"
+"    certfile \"tests/daemon/mgmt/cert2.ndncert\"\n"
 "    privileges\n"
 "    {\n"
 "      faces\n"
@@ -190,17 +190,17 @@
   TwoValidatorFixture()
   {
     m_tester1.generateIdentity("/test/CommandValidator/TwoKeys/id1");
-    m_tester1.saveIdentityToFile("tests/mgmt/cert1.ndncert");
+    m_tester1.saveIdentityToFile("tests/daemon/mgmt/cert1.ndncert");
 
     m_tester2.generateIdentity("/test/CommandValidator/TwoKeys/id2");
-    m_tester2.saveIdentityToFile("tests/mgmt/cert2.ndncert");
+    m_tester2.saveIdentityToFile("tests/daemon/mgmt/cert2.ndncert");
   }
 
   ~TwoValidatorFixture()
   {
     boost::system::error_code error;
-    boost::filesystem::remove("tests/mgmt/cert1.ndncert", error);
-    boost::filesystem::remove("tests/mgmt/cert2.ndncert", error);
+    boost::filesystem::remove("tests/daemon/mgmt/cert1.ndncert", error);
+    boost::filesystem::remove("tests/daemon/mgmt/cert2.ndncert", error);
   }
 
 protected:
@@ -264,11 +264,11 @@
 {
   CommandValidatorTester tester1;
   tester1.generateIdentity("/test/CommandValidator/TwoKeys/id1");
-  tester1.saveIdentityToFile("tests/mgmt/cert1.ndncert");
+  tester1.saveIdentityToFile("tests/daemon/mgmt/cert1.ndncert");
 
   CommandValidatorTester tester2;
   tester2.generateIdentity("/test/CommandValidator/TwoKeys/id2");
-  tester2.saveIdentityToFile("tests/mgmt/cert2.ndncert");
+  tester2.saveIdentityToFile("tests/daemon/mgmt/cert2.ndncert");
 
   shared_ptr<Interest> fibCommand = make_shared<Interest>("/localhost/nfd/fib/insert");
   shared_ptr<Interest> statsCommand = make_shared<Interest>("/localhost/nfd/stats/dosomething");
@@ -341,7 +341,7 @@
     "{\n"
     "  authorize\n"
     "  {\n"
-    "    certfile \"tests/mgmt/cert1.ndncert\"\n"
+    "    certfile \"tests/daemon/mgmt/cert1.ndncert\"\n"
     "  }\n"
     "}\n";
 
@@ -360,7 +360,7 @@
     "{\n"
     "  authorize\n"
     "  {\n"
-    "    certfile \"tests/mgmt/notacertfile.ndncert\"\n"
+    "    certfile \"tests/daemon/mgmt/notacertfile.ndncert\"\n"
     "    privileges\n"
     "    {\n"
     "      fib\n"
@@ -406,7 +406,7 @@
     "{\n"
     "  authorize\n"
     "  {\n"
-    "    certfile \"tests/mgmt/malformed.ndncert\"\n"
+    "    certfile \"tests/daemon/mgmt/malformed.ndncert\"\n"
     "    privileges\n"
     "    {\n"
     "      fib\n"
@@ -459,11 +459,11 @@
     "{\n"
     "  authorize\n"
     "  {\n"
-    "    certfile \"tests/mgmt/cert1.ndncert\"\n"
+    "    certfile \"tests/daemon/mgmt/cert1.ndncert\"\n"
     "  }\n"
     "  authorize\n"
     "  {\n"
-    "    certfile \"tests/mgmt/cert2.ndncert\"\n"
+    "    certfile \"tests/daemon/mgmt/cert2.ndncert\"\n"
     "  }\n"
     "}\n";
 
@@ -473,9 +473,9 @@
   validator.setConfigFile(config);
 
   std::stringstream expectedError;
-  expectedError << "No privileges section found for certificate file tests/mgmt/cert1.ndncert "
+  expectedError << "No privileges section found for certificate file tests/daemon/mgmt/cert1.ndncert "
                 << "(" << m_tester1.getPublicKeyName().toUri() << ")\n"
-                << "No privileges section found for certificate file tests/mgmt/cert2.ndncert "
+                << "No privileges section found for certificate file tests/daemon/mgmt/cert2.ndncert "
                 << "(" << m_tester2.getPublicKeyName().toUri() << ")";
 
   BOOST_CHECK_EXCEPTION(config.parse(NO_PRIVILEGES_CONFIG, true, CONFIG_PATH.native()),
@@ -492,7 +492,7 @@
     "{\n"
     "  authorize\n"
     "  {\n"
-    "    certfile \"tests/mgmt/notacertfile.ndncert\"\n"
+    "    certfile \"tests/daemon/mgmt/notacertfile.ndncert\"\n"
     "    privileges\n"
     "    {\n"
     "      fib\n"
@@ -501,7 +501,7 @@
     "  }\n"
     "  authorize\n"
     "  {\n"
-    "    certfile \"tests/mgmt/stillnotacertfile.ndncert\"\n"
+    "    certfile \"tests/daemon/mgmt/stillnotacertfile.ndncert\"\n"
     "    privileges\n"
     "    {\n"
     "    }\n"
@@ -515,9 +515,9 @@
 
   std::stringstream error;
   error << "Unable to open certificate file "
-        << absolute("tests/mgmt/notacertfile.ndncert").native() << "\n"
+        << absolute("tests/daemon/mgmt/notacertfile.ndncert").native() << "\n"
         << "Unable to open certificate file "
-        << absolute("tests/mgmt/stillnotacertfile.ndncert").native();
+        << absolute("tests/daemon/mgmt/stillnotacertfile.ndncert").native();
 
   BOOST_CHECK_EXCEPTION(config.parse(INVALID_KEY_CONFIG, true, CONFIG_PATH.native()),
                         ConfigFile::Error,
@@ -563,7 +563,7 @@
     "{\n"
     "  authorize\n"
     "  {\n"
-    "    certfile \"tests/mgmt/malformed.ndncert\"\n"
+    "    certfile \"tests/daemon/mgmt/malformed.ndncert\"\n"
     "    privileges\n"
     "    {\n"
     "      fib\n"
@@ -572,7 +572,7 @@
     "  }\n"
     "  authorize\n"
     "  {\n"
-    "    certfile \"tests/mgmt/malformed.ndncert\"\n"
+    "    certfile \"tests/daemon/mgmt/malformed.ndncert\"\n"
     "  }\n"
     "}\n";
 
@@ -584,9 +584,9 @@
 
   std::stringstream error;
   error << "Malformed certificate file "
-        << absolute("tests/mgmt/malformed.ndncert").native() << "\n"
+        << absolute("tests/daemon/mgmt/malformed.ndncert").native() << "\n"
         << "Malformed certificate file "
-        << absolute("tests/mgmt/malformed.ndncert").native();
+        << absolute("tests/daemon/mgmt/malformed.ndncert").native();
 
   BOOST_CHECK_EXCEPTION(config.parse(MALFORMED_CERT_CONFIG, true, CONFIG_PATH.native()),
                         ConfigFile::Error,
diff --git a/tests/mgmt/face-flags.cpp b/tests/daemon/mgmt/face-flags.cpp
similarity index 97%
rename from tests/mgmt/face-flags.cpp
rename to tests/daemon/mgmt/face-flags.cpp
index 102c8a2..0aa6c09 100644
--- a/tests/mgmt/face-flags.cpp
+++ b/tests/daemon/mgmt/face-flags.cpp
@@ -25,7 +25,7 @@
 #include "mgmt/face-flags.hpp"
 
 #include "tests/test-common.hpp"
-#include "tests/face/dummy-face.hpp"
+#include "tests/daemon/face/dummy-face.hpp"
 
 namespace nfd {
 namespace tests {
diff --git a/tests/mgmt/face-manager.cpp b/tests/daemon/mgmt/face-manager.cpp
similarity index 100%
rename from tests/mgmt/face-manager.cpp
rename to tests/daemon/mgmt/face-manager.cpp
diff --git a/tests/mgmt/face-status-publisher-common.hpp b/tests/daemon/mgmt/face-status-publisher-common.hpp
similarity index 95%
rename from tests/mgmt/face-status-publisher-common.hpp
rename to tests/daemon/mgmt/face-status-publisher-common.hpp
index 1c8369d..11ed191 100644
--- a/tests/mgmt/face-status-publisher-common.hpp
+++ b/tests/daemon/mgmt/face-status-publisher-common.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_TESTS_MGMT_FACE_STATUS_PUBLISHER_COMMON_HPP
-#define NFD_TESTS_MGMT_FACE_STATUS_PUBLISHER_COMMON_HPP
+#ifndef NFD_TESTS_NFD_MGMT_FACE_STATUS_PUBLISHER_COMMON_HPP
+#define NFD_TESTS_NFD_MGMT_FACE_STATUS_PUBLISHER_COMMON_HPP
 
 #include "mgmt/face-status-publisher.hpp"
 #include "mgmt/app-face.hpp"
@@ -32,7 +32,7 @@
 #include "fw/forwarder.hpp"
 
 #include "tests/test-common.hpp"
-#include "tests/face/dummy-face.hpp"
+#include "tests/daemon/face/dummy-face.hpp"
 
 #include <ndn-cpp-dev/management/nfd-face-status.hpp>
 
@@ -189,4 +189,4 @@
 } // namespace tests
 } // namespace nfd
 
-#endif // NFD_TESTS_MGMT_FACE_STATUS_PUBLISHER_COMMON_HPP
+#endif // NFD_TESTS_NFD_MGMT_FACE_STATUS_PUBLISHER_COMMON_HPP
diff --git a/tests/mgmt/face-status-publisher.cpp b/tests/daemon/mgmt/face-status-publisher.cpp
similarity index 100%
rename from tests/mgmt/face-status-publisher.cpp
rename to tests/daemon/mgmt/face-status-publisher.cpp
diff --git a/tests/mgmt/fib-enumeration-publisher-common.hpp b/tests/daemon/mgmt/fib-enumeration-publisher-common.hpp
similarity index 96%
rename from tests/mgmt/fib-enumeration-publisher-common.hpp
rename to tests/daemon/mgmt/fib-enumeration-publisher-common.hpp
index 7507c5d..6befe54 100644
--- a/tests/mgmt/fib-enumeration-publisher-common.hpp
+++ b/tests/daemon/mgmt/fib-enumeration-publisher-common.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_TESTS_MGMT_FIB_ENUMERATION_PUBLISHER_COMMON_HPP
-#define NFD_TESTS_MGMT_FIB_ENUMERATION_PUBLISHER_COMMON_HPP
+#ifndef NFD_TESTS_NFD_MGMT_FIB_ENUMERATION_PUBLISHER_COMMON_HPP
+#define NFD_TESTS_NFD_MGMT_FIB_ENUMERATION_PUBLISHER_COMMON_HPP
 
 #include "mgmt/fib-enumeration-publisher.hpp"
 
@@ -216,4 +216,4 @@
 } // namespace tests
 } // namespace nfd
 
-#endif // NFD_TESTS_MGMT_FIB_ENUMERATION_PUBLISHER_COMMON_HPP
+#endif // NFD_TESTS_NFD_MGMT_FIB_ENUMERATION_PUBLISHER_COMMON_HPP
diff --git a/tests/mgmt/fib-enumeration-publisher.cpp b/tests/daemon/mgmt/fib-enumeration-publisher.cpp
similarity index 100%
rename from tests/mgmt/fib-enumeration-publisher.cpp
rename to tests/daemon/mgmt/fib-enumeration-publisher.cpp
diff --git a/tests/mgmt/fib-manager.cpp b/tests/daemon/mgmt/fib-manager.cpp
similarity index 99%
rename from tests/mgmt/fib-manager.cpp
rename to tests/daemon/mgmt/fib-manager.cpp
index 0e2e8c0..b38c3b8 100644
--- a/tests/mgmt/fib-manager.cpp
+++ b/tests/daemon/mgmt/fib-manager.cpp
@@ -27,7 +27,7 @@
 #include "table/fib-nexthop.hpp"
 #include "face/face.hpp"
 #include "mgmt/internal-face.hpp"
-#include "tests/face/dummy-face.hpp"
+#include "tests/daemon/face/dummy-face.hpp"
 
 #include "validation-common.hpp"
 #include "tests/test-common.hpp"
diff --git a/tests/mgmt/internal-face.cpp b/tests/daemon/mgmt/internal-face.cpp
similarity index 98%
rename from tests/mgmt/internal-face.cpp
rename to tests/daemon/mgmt/internal-face.cpp
index 595f05f..04ef4a2 100644
--- a/tests/mgmt/internal-face.cpp
+++ b/tests/daemon/mgmt/internal-face.cpp
@@ -23,7 +23,7 @@
  **/
 
 #include "mgmt/internal-face.hpp"
-#include "tests/face/dummy-face.hpp"
+#include "tests/daemon/face/dummy-face.hpp"
 
 #include "tests/test-common.hpp"
 
diff --git a/tests/mgmt/malformed.ndncert b/tests/daemon/mgmt/malformed.ndncert
similarity index 100%
rename from tests/mgmt/malformed.ndncert
rename to tests/daemon/mgmt/malformed.ndncert
diff --git a/tests/mgmt/manager-base.cpp b/tests/daemon/mgmt/manager-base.cpp
similarity index 100%
rename from tests/mgmt/manager-base.cpp
rename to tests/daemon/mgmt/manager-base.cpp
diff --git a/tests/mgmt/notification-stream.cpp b/tests/daemon/mgmt/notification-stream.cpp
similarity index 100%
rename from tests/mgmt/notification-stream.cpp
rename to tests/daemon/mgmt/notification-stream.cpp
diff --git a/tests/mgmt/segment-publisher.cpp b/tests/daemon/mgmt/segment-publisher.cpp
similarity index 100%
rename from tests/mgmt/segment-publisher.cpp
rename to tests/daemon/mgmt/segment-publisher.cpp
diff --git a/tests/mgmt/status-server.cpp b/tests/daemon/mgmt/status-server.cpp
similarity index 98%
rename from tests/mgmt/status-server.cpp
rename to tests/daemon/mgmt/status-server.cpp
index 14cdf44..75b4114 100644
--- a/tests/mgmt/status-server.cpp
+++ b/tests/daemon/mgmt/status-server.cpp
@@ -24,11 +24,11 @@
 
 #include "mgmt/status-server.hpp"
 #include "fw/forwarder.hpp"
-#include "core/version.hpp"
+#include "version.hpp"
 #include "mgmt/internal-face.hpp"
 
 #include "tests/test-common.hpp"
-#include "tests/face/dummy-face.hpp"
+#include "tests/daemon/face/dummy-face.hpp"
 
 namespace nfd {
 namespace tests {
diff --git a/tests/mgmt/strategy-choice-manager.cpp b/tests/daemon/mgmt/strategy-choice-manager.cpp
similarity index 99%
rename from tests/mgmt/strategy-choice-manager.cpp
rename to tests/daemon/mgmt/strategy-choice-manager.cpp
index 43d163c..99d5636 100644
--- a/tests/mgmt/strategy-choice-manager.cpp
+++ b/tests/daemon/mgmt/strategy-choice-manager.cpp
@@ -29,8 +29,8 @@
 #include "table/strategy-choice.hpp"
 #include "fw/forwarder.hpp"
 #include "fw/strategy.hpp"
-#include "tests/face/dummy-face.hpp"
-#include "tests/fw/dummy-strategy.hpp"
+#include "tests/daemon/face/dummy-face.hpp"
+#include "tests/daemon/fw/dummy-strategy.hpp"
 
 #include "tests/test-common.hpp"
 #include "validation-common.hpp"
diff --git a/tests/mgmt/validation-common.cpp b/tests/daemon/mgmt/validation-common.cpp
similarity index 100%
rename from tests/mgmt/validation-common.cpp
rename to tests/daemon/mgmt/validation-common.cpp
diff --git a/tests/mgmt/validation-common.hpp b/tests/daemon/mgmt/validation-common.hpp
similarity index 94%
rename from tests/mgmt/validation-common.hpp
rename to tests/daemon/mgmt/validation-common.hpp
index dd7b443..9aa2e28 100644
--- a/tests/mgmt/validation-common.hpp
+++ b/tests/daemon/mgmt/validation-common.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_TEST_MGMT_VALIDATION_COMMON_HPP
-#define NFD_TEST_MGMT_VALIDATION_COMMON_HPP
+#ifndef NFD_TESTS_NFD_MGMT_VALIDATION_COMMON_HPP
+#define NFD_TESTS_NFD_MGMT_VALIDATION_COMMON_HPP
 
 #include "common.hpp"
 #include <ndn-cpp-dev/util/command-interest-generator.hpp>
@@ -122,4 +122,4 @@
 } // namespace tests
 } // namespace nfd
 
-#endif // NFD_TEST_MGMT_VALIDATION_COMMON_HPP
+#endif // NFD_TESTS_NFD_MGMT_VALIDATION_COMMON_HPP
diff --git a/tests/table/cs.cpp b/tests/daemon/table/cs.cpp
similarity index 100%
rename from tests/table/cs.cpp
rename to tests/daemon/table/cs.cpp
diff --git a/tests/table/fib.cpp b/tests/daemon/table/fib.cpp
similarity index 99%
rename from tests/table/fib.cpp
rename to tests/daemon/table/fib.cpp
index 629a10f..bdf2fca 100644
--- a/tests/table/fib.cpp
+++ b/tests/daemon/table/fib.cpp
@@ -23,7 +23,7 @@
  **/
 
 #include "table/fib.hpp"
-#include "tests/face/dummy-face.hpp"
+#include "tests/daemon/face/dummy-face.hpp"
 
 #include "tests/test-common.hpp"
 
diff --git a/tests/table/measurements-accessor.cpp b/tests/daemon/table/measurements-accessor.cpp
similarity index 100%
rename from tests/table/measurements-accessor.cpp
rename to tests/daemon/table/measurements-accessor.cpp
diff --git a/tests/table/measurements.cpp b/tests/daemon/table/measurements.cpp
similarity index 100%
rename from tests/table/measurements.cpp
rename to tests/daemon/table/measurements.cpp
diff --git a/tests/table/name-tree.cpp b/tests/daemon/table/name-tree.cpp
similarity index 100%
rename from tests/table/name-tree.cpp
rename to tests/daemon/table/name-tree.cpp
diff --git a/tests/table/pit.cpp b/tests/daemon/table/pit.cpp
similarity index 99%
rename from tests/table/pit.cpp
rename to tests/daemon/table/pit.cpp
index d32cc1a..c77c909 100644
--- a/tests/table/pit.cpp
+++ b/tests/daemon/table/pit.cpp
@@ -23,7 +23,7 @@
  **/
 
 #include "table/pit.hpp"
-#include "tests/face/dummy-face.hpp"
+#include "tests/daemon/face/dummy-face.hpp"
 
 #include "tests/test-common.hpp"
 
diff --git a/tests/table/strategy-choice.cpp b/tests/daemon/table/strategy-choice.cpp
similarity index 98%
rename from tests/table/strategy-choice.cpp
rename to tests/daemon/table/strategy-choice.cpp
index b382ce3..6927375 100644
--- a/tests/table/strategy-choice.cpp
+++ b/tests/daemon/table/strategy-choice.cpp
@@ -23,7 +23,7 @@
  **/
 
 #include "table/strategy-choice.hpp"
-#include "tests/fw/dummy-strategy.hpp"
+#include "tests/daemon/fw/dummy-strategy.hpp"
 
 #include "tests/test-common.hpp"
 
diff --git a/tests/table/strategy-info-host.cpp b/tests/daemon/table/strategy-info-host.cpp
similarity index 100%
rename from tests/table/strategy-info-host.cpp
rename to tests/daemon/table/strategy-info-host.cpp
diff --git a/tests/core/global-configuration.cpp b/tests/global-configuration.cpp
similarity index 96%
rename from tests/core/global-configuration.cpp
rename to tests/global-configuration.cpp
index 77c28c4..2b4ce9d 100644
--- a/tests/core/global-configuration.cpp
+++ b/tests/global-configuration.cpp
@@ -22,9 +22,9 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#include "../test-common.hpp"
+#include "test-common.hpp"
 #include "core/logger.hpp"
-#include "mgmt/config-file.hpp"
+#include "core/config-file.hpp"
 
 #include <boost/filesystem.hpp>
 
diff --git a/tests/core/limited-io.cpp b/tests/limited-io.cpp
similarity index 100%
rename from tests/core/limited-io.cpp
rename to tests/limited-io.cpp
diff --git a/tests/core/limited-io.hpp b/tests/limited-io.hpp
similarity index 95%
rename from tests/core/limited-io.hpp
rename to tests/limited-io.hpp
index 2d5788c..cb81247 100644
--- a/tests/core/limited-io.hpp
+++ b/tests/limited-io.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_TEST_CORE_LIMITED_IO_HPP
-#define NFD_TEST_CORE_LIMITED_IO_HPP
+#ifndef NFD_TESTS_LIMITED_IO_HPP
+#define NFD_TESTS_LIMITED_IO_HPP
 
 #include "core/global-io.hpp"
 #include "core/scheduler.hpp"
@@ -85,4 +85,4 @@
 } // namespace tests
 } // namespace nfd
 
-#endif // NFD_TEST_CORE_LIMITED_IO_HPP
+#endif // NFD_TESTS_LIMITED_IO_HPP
diff --git a/tests-other/cs-smoketest.cpp b/tests/other/cs-smoketest.cpp
similarity index 97%
rename from tests-other/cs-smoketest.cpp
rename to tests/other/cs-smoketest.cpp
index be8973f..7c50d49 100644
--- a/tests-other/cs-smoketest.cpp
+++ b/tests/other/cs-smoketest.cpp
@@ -64,8 +64,8 @@
 
       time::steady_clock::TimePoint startTime = time::steady_clock::now();
 
-      int workloadCounter = 0;
-      for (int i = 0; i < nInsertions; i++)
+      size_t workloadCounter = 0;
+      for (size_t i = 0; i < nInsertions; i++)
         {
           if (workloadCounter > 69999)
             workloadCounter = 0;
diff --git a/tests-other/wscript b/tests/other/wscript
similarity index 90%
rename from tests-other/wscript
rename to tests/other/wscript
index 88dab1c..20cae46 100644
--- a/tests-other/wscript
+++ b/tests/other/wscript
@@ -23,11 +23,10 @@
 NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
 """
 
-top = '..'
+top = '../..'
 
 def build(bld):
-    bld.program(target="cs-smoketest",
+    bld.program(target="../../cs-smoketest",
                 source="cs-smoketest.cpp",
-                use='nfd-objects',
-                includes='.. ../daemon',
+                use='daemon-objects',
                 install_path=None)
diff --git a/tests/test-skeleton.cpp b/tests/test-case.cpp.sample
similarity index 100%
rename from tests/test-skeleton.cpp
rename to tests/test-case.cpp.sample
diff --git a/tests/test-common.hpp b/tests/test-common.hpp
index 2e555b4..f4fc0ed 100644
--- a/tests/test-common.hpp
+++ b/tests/test-common.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_TEST_COMMON_HPP
-#define NFD_TEST_COMMON_HPP
+#ifndef NFD_TESTS_TEST_COMMON_HPP
+#define NFD_TESTS_TEST_COMMON_HPP
 
 #include <boost/test/unit_test.hpp>
 #include "core/global-io.hpp"
@@ -79,4 +79,4 @@
 } // namespace tests
 } // namespace nfd
 
-#endif // NFD_TEST_COMMON_HPP
+#endif // NFD_TESTS_TEST_COMMON_HPP
diff --git a/tests/wscript b/tests/wscript
new file mode 100644
index 0000000..423e5e3
--- /dev/null
+++ b/tests/wscript
@@ -0,0 +1,69 @@
+# -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*-
+
+"""
+Copyright (c) 2014  Regents of the University of California,
+                    Arizona Board of Regents,
+                    Colorado State University,
+                    University Pierre & Marie Curie, Sorbonne University,
+                    Washington University in St. Louis,
+                    Beijing Institute of Technology
+
+This file is part of NFD (Named Data Networking Forwarding Daemon).
+See AUTHORS.md for complete list of NFD authors and contributors.
+
+NFD 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 3 of the License, or (at your option) any later version.
+
+NFD 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
+NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
+"""
+
+top = '..'
+
+def build(bld):
+    # Unit tests
+    if bld.env['WITH_TESTS']:
+        unit_test_main = bld(
+            target='unit-tests-main',
+            name='unit-tests-main',
+            features='cxx',
+            source=bld.path.ant_glob(['*.cpp']),
+            use='core-objects',
+          )
+
+        # core tests
+        unit_tests_core = bld.program(
+            target='../unit-tests-core',
+            features='cxx cxxprogram',
+            source=bld.path.ant_glob(['core/**/*.cpp']),
+            use='core-objects unit-tests-main',
+            includes='.',
+            install_prefix=None,
+          )
+
+        # NFD tests
+        unit_tests_nfd = bld.program(
+            target='../unit-tests-daemon',
+            features='cxx cxxprogram',
+            source=bld.path.ant_glob(['daemon/**/*.cpp'],
+                                     excl=['daemon/face/ethernet.cpp',
+                                           'daemon/face/unix-*.cpp']),
+            use='daemon-objects unit-tests-main',
+            includes='.',
+            install_prefix=None,
+          )
+
+        if bld.env['HAVE_LIBPCAP']:
+            unit_tests_nfd.source += bld.path.ant_glob('daemon/face/ethernet.cpp')
+
+        if bld.env['HAVE_UNIX_SOCKETS']:
+            unit_tests_nfd.source += bld.path.ant_glob('daemon/face/unix-*.cpp')
+
+    # Other tests (e.g., stress tests that can be enabled even if unit tests are disabled)
+    if bld.env['WITH_TESTS'] or bld.env['WITH_OTHER_TESTS']:
+        bld.recurse("other")
diff --git a/tools/nfd-autoreg.cpp b/tools/nfd-autoreg.cpp
index 3273b50..f9e8059 100644
--- a/tools/nfd-autoreg.cpp
+++ b/tools/nfd-autoreg.cpp
@@ -32,7 +32,7 @@
 #include <boost/program_options/variables_map.hpp>
 #include <boost/program_options/parsers.hpp>
 
-#include "daemon/core/face-uri.hpp"
+#include "core/face-uri.hpp"
 #include "network.hpp"
 
 namespace po = boost::program_options;
diff --git a/daemon/core/version.hpp b/version.hpp
similarity index 94%
rename from daemon/core/version.hpp
rename to version.hpp
index 79b0be7..08dccaf 100644
--- a/daemon/core/version.hpp
+++ b/version.hpp
@@ -22,8 +22,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  **/
 
-#ifndef NFD_CORE_VERSION_HPP
-#define NFD_CORE_VERSION_HPP
+#ifndef NFD_VERSION_HPP
+#define NFD_VERSION_HPP
 
 namespace nfd {
 
@@ -52,4 +52,4 @@
 
 } // namespace nfd
 
-#endif // NFD_CORE_VERSION_HPP
+#endif // NFD_VERSION_HPP
diff --git a/wscript b/wscript
index 938eed1..39ea4b1 100644
--- a/wscript
+++ b/wscript
@@ -99,19 +99,30 @@
 
     conf.define('DEFAULT_CONFIG_FILE', '%s/ndn/nfd.conf' % conf.env['SYSCONFDIR'])
 
-    conf.write_config_header('daemon/config.hpp')
+    conf.write_config_header('config.hpp')
 
 def build(bld):
+    core = bld(
+        target='core-objects',
+        name='core-objects',
+        features='cxx',
+        source=bld.path.ant_glob(['core/**/*.cpp']),
+        use='BOOST NDN_CPP LIBRT',
+        includes='. core',
+        export_includes='. core',
+        )
+
     nfd_objects = bld(
-        target='nfd-objects',
-        name='nfd-objects',
+        target='daemon-objects',
+        name='daemon-objects',
         features='cxx',
         source=bld.path.ant_glob(['daemon/**/*.cpp'],
                                  excl=['daemon/face/ethernet-*.cpp',
                                        'daemon/face/unix-*.cpp',
                                        'daemon/main.cpp']),
-        use='BOOST NDN_CPP LIBRT',
-        includes='. daemon',
+        use='core-objects',
+        includes='daemon',
+        export_includes='daemon',
         )
 
     if bld.env['HAVE_LIBPCAP']:
@@ -121,42 +132,20 @@
     if bld.env['HAVE_UNIX_SOCKETS']:
         nfd_objects.source += bld.path.ant_glob('daemon/face/unix-*.cpp')
 
-    bld(target='nfd',
+    bld(target='bin/nfd',
         features='cxx cxxprogram',
         source='daemon/main.cpp',
-        use='nfd-objects',
-        includes='. daemon',
+        use='daemon-objects',
         )
 
     for app in bld.path.ant_glob('tools/*.cpp'):
         bld(features=['cxx', 'cxxprogram'],
             target='bin/%s' % (str(app.change_ext(''))),
             source=['tools/%s' % (str(app))],
-            includes='. daemon',
-            use='nfd-objects LIBRESOLV',
+            use='core-objects LIBRESOLV',
             )
 
-    # Unit tests
-    if bld.env['WITH_TESTS']:
-        unit_tests = bld.program(
-            target='unit-tests',
-            features='cxx cxxprogram',
-            source=bld.path.ant_glob(['tests/**/*.cpp'],
-                                     excl=['tests/face/ethernet.cpp',
-                                           'tests/face/unix-*.cpp']),
-            use='nfd-objects',
-            includes='. daemon',
-            install_prefix=None,
-          )
-
-        if bld.env['HAVE_LIBPCAP']:
-            unit_tests.source += bld.path.ant_glob('tests/face/ethernet.cpp')
-
-        if bld.env['HAVE_UNIX_SOCKETS']:
-            unit_tests.source += bld.path.ant_glob('tests/face/unix-*.cpp')
-
-    if bld.env['WITH_OTHER_TESTS']:
-        bld.recurse("tests-other")
+    bld.recurse("tests")
 
     bld(features="subst",
         source='nfd.conf.sample.in',