doc/main.h
author Tom Henderson <tomh@tomh.org>
Thu, 10 Jan 2008 07:31:40 -0800
changeset 2217 0b4567d545de
child 4534 2680abc768f2
permissions -rw-r--r--
Doxygen organization
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2217
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
     1
/**
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
     2
 * \mainpage ns-3 Documentation
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
     3
 *
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
     4
 * \section intro-sec Introduction
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
     5
 * <a href="http://www.nsnam.org/">ns-3</a> documentation is maintained using 
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
     6
 * <a href="http://www.doxygen.org">Doxygen</a>.
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
     7
 * Doxygen is typically used for 
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
     8
 * API documentation, and organizes such documentation across different
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
     9
 * modules.   This project uses Doxygen both for building the manual around 
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    10
 * the API documentation,  and a separate GNU texinfo document is used for 
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    11
 * the manual.
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    12
 *
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    13
 * The ns-3 project documentation is organized as follows:
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    14
 *     - <b><a href="modules.html">modules</a></b>:  The "Modules" tab (above) 
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    15
 *       organizes  all of the public API and supporting manual text 
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    16
 *       along the  source code directory structure.   This forms the 
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    17
 *       "ns-3 manual", and it is available in HTML and PDF forms.
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    18
 *     - \ref howtos-anchor "HOWTOs": A set of HOWTOs and FAQs is
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    19
 *       maintained on another Doxygen "Related Page" 
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    20
 *     - <a href="http://www.nsnam.org/docs/tutorial/tutorial.html">tutorial</a>:  The ns-3 tutorial is a separate document maintained in <a href="http://www.gnu.org/software/texinfo/"> GNU Texinfo</a>. 
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    21
 *     - The <b><a href="http://www.nsnam.org/wiki/index.php/Main_Page">ns-3 wiki</a></b> 
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    22
 *       contains additional user-contributed material.  Some wiki-contributed
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    23
 *       material may migrate to and overlap with the Doxygen information.
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    24
 *
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    25
 * \section install-sec Building the Documentation
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    26
 * 
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    27
 * ns-3 requires Doxygen version 1.5.4 or greater to fully build all items,
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    28
 * although earlier versions of Doxygen will mostly work.
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    29
 * 
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    30
 * Type "./waf check" followed by "./waf --doxygen" to build the documentation.
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    31
 * There is a program that runs during "./waf check" that builds pieces of
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    32
 * the documentation through introspection.  The doc/ directory contains
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    33
 * configuration for Doxygen (doxygen.conf and main.txt).  The Doxygen 
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    34
 * build process puts html files into the doc/html/ directory, and latex 
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    35
 * filex into the doc/latex/ directory.
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    36
 * 
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    37
 * \section module-sec Module overview
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    38
 *
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    39
 * The ns-3 library is split across multiple modules:
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    40
 *     - core: located in src/core and contains a number of facilities which
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    41
 *       do not depend on any other module. Some of these facilities are
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    42
 *       OS-dependent.
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    43
 *     - simulator: located in src/simulator and contains event scheduling
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    44
 *       facilities.
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    45
 *     - common: located in src/common and contains facilities specific
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    46
 *       to network simulations but shared by pretty much every model
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    47
 *       of a network component.
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    48
 *     - node: located in src/node. Defines the abstract interfaces which 
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    49
 *       must be implemented by every node and more specifically, by ipv4 nodes.       
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    50
 *     - devices: located in src/devices. Contains a set of MAC-level models
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    51
 *
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    52
 * More detail can be found in the <b><a href="modules.html">Modules</a></b>
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    53
 * tab.
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    54
 *
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    55
 */
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    56
/**
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    57
 * \namespace ns3
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    58
 * \brief Every class exported by the ns3 library is enclosed in the
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    59
 * ns3 namespace.
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    60
 */
0b4567d545de Doxygen organization
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    61