// Copyright (C) 2012-2014  Internet Systems Consortium, Inc. ("ISC")
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
// REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
// AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
// INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
// LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
// OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
// PERFORMANCE OF THIS SOFTWARE.

/**
 * @mainpage Kea Developer's Guide
 *
 * Welcome to Kea Developer's Guide. This documentation is addressed
 * at existing and prospecting developers and programmers and provides
 * information needed to both extend and maintain Kea.
 *
 * If you wish to write "hook" code - code that is loaded by Kea at
 * run-time and modifies its behavior you should read the section
 * @ref hooksdgDevelopersGuide.
 *
 * Kea maintenance information is divided into a number of sections
 * depending on focus. Information on DHCP-specific topics can be found
 * in the @ref dhcpMaintenanceGuide.  General topics, are discussed in
 * @ref miscellaneousTopics.
 *
 * If you are a user or system administrator, rather than software engineer,
 * you should read the
 * <a href="http://kea.isc.org/docs/bind10-guide.html">Kea
 * Administrator Reference Manual</a> instead.
 *
 * Regardless of your field of expertise, you are encouraged to visit the
 * <a href="http://kea.isc.org/">Kea webpage (http://kea.isc.org)</a>
 *
 * @section contrib Contributor's Guide
 * - @subpage contributorGuide
 *
 * @section hooksFramework Hooks Framework
 * - @subpage hooksdgDevelopersGuide
 * - @subpage dhcpv4Hooks
 * - @subpage dhcpv6Hooks
 * - @subpage hooksComponentDeveloperGuide
 * - @subpage hooksmgMaintenanceGuide
 * - @subpage libdhcp_user_chk
 *
 * @section dhcpMaintenanceGuide DHCP Maintenance Guide
 * - @subpage dhcp4
 *   - @subpage dhcpv4Session
 *   - @subpage dhcpv4ConfigParser
 *   - @subpage dhcpv4ConfigInherit
 *   - @subpage dhcpv4OptionsParse
 *   - @subpage dhcpv4DDNSIntegration
 *   - @subpage dhcpv4Classifier
 *   - @subpage dhcpv4ConfigBackend
 *   - @subpage dhcpv4SignalBasedReconfiguration
 *   - @subpage dhcpv4Other
 * - @subpage dhcp6
 *   - @subpage dhcpv6Session
 *   - @subpage dhcpv6ConfigParser
 *   - @subpage dhcpv6ConfigInherit
 *   - @subpage dhcpv6DDNSIntegration
 *   - @subpage dhcpv6OptionsParse
 *   - @subpage dhcpv6Classifier
 *   - @subpage dhcpv6ConfigBackend
 *   - @subpage dhcpv6SignalBasedReconfiguration
 *   - @subpage dhcpv6Other
 * - @subpage d2
 *   - @subpage d2CPL
 *   - @subpage d2ProcesDerivation
 *   - @subpage d2ConfigMgt
 *   - @subpage d2NCRReceipt
 *   - @subpage d2DDNSUpdateExecution
 *   - @subpage d2EventLoop
 *   - @subpage d2TransDetail
 *   - @subpage d2StateModel
 *   - @subpage d2TransExecExample
 * - @subpage libdhcp
 *   - @subpage libdhcpIntro
 *   - @subpage libdhcpRelay
 *   - @subpage libdhcpIfaceMgr
 *   - @subpage libdhcpPktFilter
 *   - @subpage libdhcpPktFilter6
 *   - @subpage libdhcpErrorLogging
 * - @subpage libdhcpsrv
 *   - @subpage leasemgr
 *   - @subpage cfgmgr
 *   - @subpage allocengine
 * - @subpage libdhcp_ddns
 * - @subpage dhcpDatabaseBackends
 * - @subpage configBackend
 *   - @subpage configBackendMotivation
 *   - @subpage configBackendJSONDesign
 *   - @subpage configBackendAdding
 * - @subpage perfdhcpInternals
 *
 * @section miscellaneousTopics Miscellaneous Topics
 * - @subpage logKeaLogging
 *   - @subpage logBasicIdeas
 *   - @subpage logDeveloperUse
 *   - @subpage logNotes
 * - @subpage LoggingApi
 * - @subpage SocketSessionUtility
 * - <a href="./doxygen-error.log">Documentation warnings and errors</a>
 *
 * @image html isc-logo.png
 */
/*
 * @todo: Move the logo to the right (and possibly up). Not sure what
 * is the best way to do it in Doxygen, without using CSS hacks.
 */