Rescan wifi's bindings and fix some paths in the documentation
authorMitch Watrous <watrous@u.washington.edu>
Mon, 09 May 2011 18:04:52 -0700
changeset 7145 a925e518220b
parent 7144 9c60c34c6527
child 7146 501f3f8db938
Rescan wifi's bindings and fix some paths in the documentation
doc/build.txt
doc/doxygen.conf
doc/main.h
doc/manual/source/attributes.rst
doc/manual/source/organization.rst
doc/manual/source/tcp.rst
doc/manual/source/wifi.rst
doc/manual/source/wimax.rst
doc/testing/source/how-to-write-tests.rst
doc/testing/source/testing-framework.rst
doc/tutorial/source/tracing.rst
src/template/wscript
src/wifi/bindings/modulegen__gcc_ILP32.py
src/wifi/bindings/modulegen__gcc_LP64.py
--- a/doc/build.txt	Tue May 10 00:07:19 2011 +0200
+++ b/doc/build.txt	Mon May 09 18:04:52 2011 -0700
@@ -76,7 +76,7 @@
 === Extending ns-3 ===
 
 To add new modules:
-  1. Create the module directory under src (or src/devices, or whatever);
+  1. Create the module directory under src;
   2. Add the source files to it;
   3. Add a 'wscript' describing it;
   4. Add the module subdirectory name to the all_modules list in src/wscript.
--- a/doc/doxygen.conf	Tue May 10 00:07:19 2011 +0200
+++ b/doc/doxygen.conf	Mon May 09 18:04:52 2011 -0700
@@ -603,13 +603,13 @@
 # excluded from the INPUT source files. This way you can easily exclude a
 # subdirectory from a directory tree whose root is specified with the INPUT tag.
 
-EXCLUDE                = src/routing/olsr/olsr-state.h \
-                         src/routing/olsr/olsr-repositories.h \
-                         src/simulator/high-precision.h \
-                         src/simulator/high-precision-128.h \
-                         src/simulator/high-precision-double.h \
-                         src/tools/visualizer/model/visual-simulator-impl.h \
-                         src/tools/visualizer/model/pyviz.h
+EXCLUDE                = src/olsr/model/olsr-state.h \
+                         src/olsr/model/olsr-repositories.h \
+                         src/core/model/high-precision.h \
+                         src/core/model/high-precision-128.h \
+                         src/core/model/high-precision-double.h \
+                         src/visualizer/model/visual-simulator-impl.h \
+                         src/visualizer/model/pyviz.h
 
 # The EXCLUDE_SYMLINKS tag can be used select whether or not files or
 # directories that are symbolic links (a Unix filesystem feature) are excluded
--- a/doc/main.h	Tue May 10 00:07:19 2011 +0200
+++ b/doc/main.h	Mon May 09 18:04:52 2011 -0700
@@ -34,24 +34,14 @@
  * 
  * \section module-sec Module overview
  *
- * The ns-3 library is split across multiple modules:
+ * The ns-3 library is split across many modules.  :
  *     - core: located in src/core and contains a number of facilities which
  *       do not depend on any other module. Some of these facilities are
  *       OS-dependent.
- *     - simulator: located in src/simulator and contains event scheduling
- *       facilities.
- *     - common: located in src/common and contains facilities specific
- *       to network simulations but shared by pretty much every model
- *       of a network component.
- *     - node: located in src/node. Defines the abstract interfaces which 
- *       must be implemented by every node and more specifically, by 
- *       IPv4 and IPv6 nodes.       
- *     - devices: located in src/devices. Contains a set of MAC-level models
- *     - InternetStack: located in src/internet-stack. Contains TCP/IP models.
- *     - Applications: located in src/applications
- *     - Routing:  located in src/routing; routing protocols.
- *     - Mobility:  located in src/mobility; Mobility models for nodes
- *     - Helper:  located in src/helper; Helper API for the simulator
+ *     - network: located in src/network. Network related files.
+ *     - internet: located in src/internet. Internet related files.
+ *     - applications: located in src/applications
+ *     - mobility:  located in src/mobility; Mobility models for nodes
  *
  * More detail can be found in the <b><a href="modules.html">Modules</a></b>
  * tab.
--- a/doc/manual/source/attributes.rst	Tue May 10 00:07:19 2011 +0200
+++ b/doc/manual/source/attributes.rst	Mon May 09 18:04:52 2011 -0700
@@ -641,14 +641,14 @@
 ***********
 
 **Feedback requested:**  This is an experimental feature of |ns3|.  It is found
-in ``src/contrib`` and not in the main tree.  If you like this feature and
+in ``src/config-store``.  If you like this feature and
 would like to provide feedback on it, please email us.
 
-Values for |ns3| attributes can be stored in an ASCII or XML text file and
-loaded into a future simulation.  This feature is known as the |ns3|
-ConfigStore.  The ConfigStore code is in ``src/contrib/``.  It is not yet
-main-tree code, because we are seeking some user feedback and experience with
-this. 
+Values for |ns3| attributes can be stored in an ASCII or XML text file
+and loaded into a future simulation.  This feature is known as the
+|ns3| ConfigStore.  The ConfigStore code is in ``src/config-store/``.  
+It is still considered as unstable code, because we are seeking some
+user feedback and experience with this.
 
 We can explore this system by using an example. Copy the ``csma-bridge.cc``
 file to the scratch directory:::
--- a/doc/manual/source/organization.rst	Tue May 10 00:07:19 2011 +0200
+++ b/doc/manual/source/organization.rst	Mon May 09 18:04:52 2011 -0700
@@ -27,10 +27,9 @@
 
 We first describe the core of the simulator; those components that are 
 common across all protocol, hardware, and environmental models. 
-The simulation core is implemented
-in ``src/core``, and the core is used to build the simulation engine
-``src/simulator``. Packets are fundamental objects in a network simulator
-and are implemented in ``src/common``. These three simulation modules by
+The simulation core is implemented in ``src/core``. Packets are 
+fundamental objects in a network simulator
+and are implemented in ``src/network``. These two simulation modules by
 themselves are intended to comprise a generic simulation core that can be
 used by different kinds of networks, not just Internet-based networks.  The
 above modules of |ns3| are independent of specific network and device
--- a/doc/manual/source/tcp.rst	Tue May 10 00:07:19 2011 +0200
+++ b/doc/manual/source/tcp.rst	Mon May 09 18:04:52 2011 -0700
@@ -195,7 +195,7 @@
 These examples will deposit some ``.pcap`` files in your directory,
 which can be examined by tcpdump or wireshark.
 
-Let's look at the ``examples/tcp-nsc-zoo.cc`` file for some typical
+Let's look at the ``examples/tcp/tcp-nsc-zoo.cc`` file for some typical
 usage. How does it differ from using native |ns3| TCP? There is one main
 configuration line, when using NSC and the |ns3| helper API, that needs to be
 set:::
@@ -233,7 +233,7 @@
 <http://www.nsnam.org/doxygen/classns3_1_1_tcp_socket.html>`_
 
 Additionally, NSC TCP exports a lot of configuration variables into the 
-|ns3| :ref:`Attributes` system, via a `sysctl <http://en.wikipedia.org/wiki/Sysctl>`_-like interface. In the ``examples/tcp-nsc-zoo`` example, you
+|ns3| :ref:`Attributes` system, via a `sysctl <http://en.wikipedia.org/wiki/Sysctl>`_-like interface. In the ``examples/tcp/tcp-nsc-zoo`` example, you
 can see the following configuration:::
 
 
--- a/doc/manual/source/wifi.rst	Tue May 10 00:07:19 2011 +0200
+++ b/doc/manual/source/wifi.rst	Mon May 09 18:04:52 2011 -0700
@@ -105,7 +105,7 @@
 cross-channel interference or coupling.
 
 The source code for the Wifi NetDevice lives in the directory
-``src/devices/wifi``.
+``src/wifi``.
 
 .. _wifi-architecture:
 
--- a/doc/manual/source/wimax.rst	Tue May 10 00:07:19 2011 +0200
+++ b/doc/manual/source/wimax.rst	Mon May 09 18:04:52 2011 -0700
@@ -16,7 +16,7 @@
 * packet tracing functionality
 
 The source code for the WiMAX models lives in the directory
-``src/devices/wimax``.
+``src/wimax``.
 
 There have been two academic papers published on this model:
 
--- a/doc/testing/source/how-to-write-tests.rst	Tue May 10 00:07:19 2011 +0200
+++ b/doc/testing/source/how-to-write-tests.rst	Mon May 09 18:04:52 2011 -0700
@@ -31,7 +31,7 @@
   separately in src/test/ directory).  You will have to edit the wscript
   file in that directory to compile your new code, if it is a new file.
 
-See the file ``src/test/sample-test-suite.cc`` and corresponding
+See the file ``src/template/test/sample-test-suite.cc`` and corresponding
 wscript file in that directory for a simple example, and see the directories
 under ``src/test`` for more complicated examples.
 
--- a/doc/testing/source/testing-framework.rst	Tue May 10 00:07:19 2011 +0200
+++ b/doc/testing/source/testing-framework.rst	Mon May 09 18:04:52 2011 -0700
@@ -421,10 +421,10 @@
 check a single bit of functionality that are not built into the ns-3 code,
 but live in the same directory as the code it tests.  It is possible that
 these tests check integration of multiple implementation files in a module
-as well.  The file src/core/names-test-suite.cc is an example of this kind
-of test.  The file src/common/pcap-file-test-suite.cc is another example
+as well.  The file src/core/test/names-test-suite.cc is an example of this kind
+of test.  The file src/network/test/pcap-file-test-suite.cc is another example
 that uses a known good pcap file as a test vector file.  This file is stored
-locally in the src/common directory.
+locally in the src/network directory.
 
 System Tests
 ++++++++++++
@@ -742,7 +742,7 @@
   (gdb) r --basedir=`pwd`
   Starting program: <..>/build/debug/utils/test-runner --basedir=`pwd`
   [Thread debugging using libthread_db enabled]
-  assert failed. file=../src/core/type-id.cc, line=138, cond="uid <= m_information.size () && uid != 0"
+  assert failed. file=../src/core/model/type-id.cc, line=138, cond="uid <= m_information.size () && uid != 0"
   ...
 
 Here is another example of how to use valgrind to debug a memory problem
--- a/doc/tutorial/source/tracing.rst	Tue May 10 00:07:19 2011 +0200
+++ b/doc/tutorial/source/tracing.rst	Mon May 09 18:04:52 2011 -0700
@@ -1766,9 +1766,9 @@
 This trace sink will be connected to the "PhyRxDrop" trace source of the 
 point-to-point NetDevice.  This trace source fires when a packet is dropped
 by the physical layer of a ``NetDevice``.  If you take a small detour to the
-source (``src/devices/point-to-point/point-to-point-net-device.cc``) you will
+source (``src/point-to-point/model/point-to-point-net-device.cc``) you will
 see that this trace source refers to ``PointToPointNetDevice::m_phyRxDropTrace``.
-If you then look in ``src/devices/point-to-point/point-to-point-net-device.h``
+If you then look in ``src/point-to-point/model/point-to-point-net-device.h``
 for this member variable, you will find that it is declared as a
 ``TracedCallback<Ptr<const Packet> >``.  This should tell you that the
 callback target should be a function that returns void and takes a single
--- a/src/template/wscript	Tue May 10 00:07:19 2011 +0200
+++ b/src/template/wscript	Mon May 09 18:04:52 2011 -0700
@@ -7,6 +7,11 @@
 
     # Set the C++ source files for this module.
     module.source = [
+        # Uncomment this line to compile this model source file.
+        #'model/sample-model.cc',
+
+        # Uncomment this line to compile this helper source file.
+        #'helper/sample-helper.cc',
         ]
 
     # Create the module's test library.
@@ -23,6 +28,11 @@
 
     # Set the C++ header files for this module.
     headers.source = [
+        # Uncomment this line to install this model header file.
+        #'model/sample-model.h',
+
+        # Uncomment this line to install this helper header file.
+        #'helper/sample-helper.h',
         ]
 
     # Uncomment these lines if this module needs a library such as the
--- a/src/wifi/bindings/modulegen__gcc_ILP32.py	Tue May 10 00:07:19 2011 +0200
+++ b/src/wifi/bindings/modulegen__gcc_ILP32.py	Mon May 09 18:04:52 2011 -0700
@@ -1869,11 +1869,6 @@
     cls.add_method('CalculateSnrPer', 
                    'ns3::InterferenceHelper::SnrPer', 
                    [param('ns3::Ptr< ns3::InterferenceHelper::Event >', 'event')])
-    ## interference-helper.h (module 'wifi'): static ns3::Time ns3::InterferenceHelper::CalculateTxDuration(uint32_t size, ns3::WifiMode payloadMode, ns3::WifiPreamble preamble) [member function]
-    cls.add_method('CalculateTxDuration', 
-                   'ns3::Time', 
-                   [param('uint32_t', 'size'), param('ns3::WifiMode', 'payloadMode'), param('ns3::WifiPreamble', 'preamble')], 
-                   is_static=True)
     ## interference-helper.h (module 'wifi'): void ns3::InterferenceHelper::EraseEvents() [member function]
     cls.add_method('EraseEvents', 
                    'void', 
@@ -1892,26 +1887,6 @@
                    'double', 
                    [], 
                    is_const=True)
-    ## interference-helper.h (module 'wifi'): static uint32_t ns3::InterferenceHelper::GetPayloadDurationMicroSeconds(uint32_t size, ns3::WifiMode payloadMode) [member function]
-    cls.add_method('GetPayloadDurationMicroSeconds', 
-                   'uint32_t', 
-                   [param('uint32_t', 'size'), param('ns3::WifiMode', 'payloadMode')], 
-                   is_static=True)
-    ## interference-helper.h (module 'wifi'): static uint32_t ns3::InterferenceHelper::GetPlcpHeaderDurationMicroSeconds(ns3::WifiMode payloadMode, ns3::WifiPreamble preamble) [member function]
-    cls.add_method('GetPlcpHeaderDurationMicroSeconds', 
-                   'uint32_t', 
-                   [param('ns3::WifiMode', 'payloadMode'), param('ns3::WifiPreamble', 'preamble')], 
-                   is_static=True)
-    ## interference-helper.h (module 'wifi'): static ns3::WifiMode ns3::InterferenceHelper::GetPlcpHeaderMode(ns3::WifiMode payloadMode, ns3::WifiPreamble preamble) [member function]
-    cls.add_method('GetPlcpHeaderMode', 
-                   'ns3::WifiMode', 
-                   [param('ns3::WifiMode', 'payloadMode'), param('ns3::WifiPreamble', 'preamble')], 
-                   is_static=True)
-    ## interference-helper.h (module 'wifi'): static uint32_t ns3::InterferenceHelper::GetPlcpPreambleDurationMicroSeconds(ns3::WifiMode mode, ns3::WifiPreamble preamble) [member function]
-    cls.add_method('GetPlcpPreambleDurationMicroSeconds', 
-                   'uint32_t', 
-                   [param('ns3::WifiMode', 'mode'), param('ns3::WifiPreamble', 'preamble')], 
-                   is_static=True)
     ## interference-helper.h (module 'wifi'): void ns3::InterferenceHelper::NotifyRxEnd() [member function]
     cls.add_method('NotifyRxEnd', 
                    'void', 
@@ -6266,11 +6241,11 @@
                    'double', 
                    [param('ns3::WifiMode', 'txMode'), param('double', 'ber')], 
                    is_pure_virtual=True, is_const=True, is_virtual=True)
-    ## wifi-phy.h (module 'wifi'): ns3::Time ns3::WifiPhy::CalculateTxDuration(uint32_t size, ns3::WifiMode payloadMode, ns3::WifiPreamble preamble) const [member function]
+    ## wifi-phy.h (module 'wifi'): static ns3::Time ns3::WifiPhy::CalculateTxDuration(uint32_t size, ns3::WifiMode payloadMode, ns3::WifiPreamble preamble) [member function]
     cls.add_method('CalculateTxDuration', 
                    'ns3::Time', 
                    [param('uint32_t', 'size'), param('ns3::WifiMode', 'payloadMode'), param('ns3::WifiPreamble', 'preamble')], 
-                   is_pure_virtual=True, is_const=True, is_virtual=True)
+                   is_static=True)
     ## wifi-phy.h (module 'wifi'): void ns3::WifiPhy::ConfigureStandard(ns3::WifiPhyStandard standard) [member function]
     cls.add_method('ConfigureStandard', 
                    'void', 
@@ -6491,6 +6466,26 @@
                    'ns3::WifiMode', 
                    [], 
                    is_static=True)
+    ## wifi-phy.h (module 'wifi'): static uint32_t ns3::WifiPhy::GetPayloadDurationMicroSeconds(uint32_t size, ns3::WifiMode payloadMode) [member function]
+    cls.add_method('GetPayloadDurationMicroSeconds', 
+                   'uint32_t', 
+                   [param('uint32_t', 'size'), param('ns3::WifiMode', 'payloadMode')], 
+                   is_static=True)
+    ## wifi-phy.h (module 'wifi'): static uint32_t ns3::WifiPhy::GetPlcpHeaderDurationMicroSeconds(ns3::WifiMode payloadMode, ns3::WifiPreamble preamble) [member function]
+    cls.add_method('GetPlcpHeaderDurationMicroSeconds', 
+                   'uint32_t', 
+                   [param('ns3::WifiMode', 'payloadMode'), param('ns3::WifiPreamble', 'preamble')], 
+                   is_static=True)
+    ## wifi-phy.h (module 'wifi'): static ns3::WifiMode ns3::WifiPhy::GetPlcpHeaderMode(ns3::WifiMode payloadMode, ns3::WifiPreamble preamble) [member function]
+    cls.add_method('GetPlcpHeaderMode', 
+                   'ns3::WifiMode', 
+                   [param('ns3::WifiMode', 'payloadMode'), param('ns3::WifiPreamble', 'preamble')], 
+                   is_static=True)
+    ## wifi-phy.h (module 'wifi'): static uint32_t ns3::WifiPhy::GetPlcpPreambleDurationMicroSeconds(ns3::WifiMode payloadMode, ns3::WifiPreamble preamble) [member function]
+    cls.add_method('GetPlcpPreambleDurationMicroSeconds', 
+                   'uint32_t', 
+                   [param('ns3::WifiMode', 'payloadMode'), param('ns3::WifiPreamble', 'preamble')], 
+                   is_static=True)
     ## wifi-phy.h (module 'wifi'): ns3::Time ns3::WifiPhy::GetStateDuration() [member function]
     cls.add_method('GetStateDuration', 
                    'ns3::Time', 
@@ -7084,11 +7079,6 @@
                    'ns3::Time', 
                    [], 
                    is_const=True, is_virtual=True)
-    ## yans-wifi-phy.h (module 'wifi'): ns3::Time ns3::YansWifiPhy::CalculateTxDuration(uint32_t size, ns3::WifiMode payloadMode, ns3::WifiPreamble preamble) const [member function]
-    cls.add_method('CalculateTxDuration', 
-                   'ns3::Time', 
-                   [param('uint32_t', 'size'), param('ns3::WifiMode', 'payloadMode'), param('ns3::WifiPreamble', 'preamble')], 
-                   is_const=True, is_virtual=True)
     ## yans-wifi-phy.h (module 'wifi'): uint32_t ns3::YansWifiPhy::GetNModes() const [member function]
     cls.add_method('GetNModes', 
                    'uint32_t', 
--- a/src/wifi/bindings/modulegen__gcc_LP64.py	Tue May 10 00:07:19 2011 +0200
+++ b/src/wifi/bindings/modulegen__gcc_LP64.py	Mon May 09 18:04:52 2011 -0700
@@ -1869,11 +1869,6 @@
     cls.add_method('CalculateSnrPer', 
                    'ns3::InterferenceHelper::SnrPer', 
                    [param('ns3::Ptr< ns3::InterferenceHelper::Event >', 'event')])
-    ## interference-helper.h (module 'wifi'): static ns3::Time ns3::InterferenceHelper::CalculateTxDuration(uint32_t size, ns3::WifiMode payloadMode, ns3::WifiPreamble preamble) [member function]
-    cls.add_method('CalculateTxDuration', 
-                   'ns3::Time', 
-                   [param('uint32_t', 'size'), param('ns3::WifiMode', 'payloadMode'), param('ns3::WifiPreamble', 'preamble')], 
-                   is_static=True)
     ## interference-helper.h (module 'wifi'): void ns3::InterferenceHelper::EraseEvents() [member function]
     cls.add_method('EraseEvents', 
                    'void', 
@@ -1892,26 +1887,6 @@
                    'double', 
                    [], 
                    is_const=True)
-    ## interference-helper.h (module 'wifi'): static uint32_t ns3::InterferenceHelper::GetPayloadDurationMicroSeconds(uint32_t size, ns3::WifiMode payloadMode) [member function]
-    cls.add_method('GetPayloadDurationMicroSeconds', 
-                   'uint32_t', 
-                   [param('uint32_t', 'size'), param('ns3::WifiMode', 'payloadMode')], 
-                   is_static=True)
-    ## interference-helper.h (module 'wifi'): static uint32_t ns3::InterferenceHelper::GetPlcpHeaderDurationMicroSeconds(ns3::WifiMode payloadMode, ns3::WifiPreamble preamble) [member function]
-    cls.add_method('GetPlcpHeaderDurationMicroSeconds', 
-                   'uint32_t', 
-                   [param('ns3::WifiMode', 'payloadMode'), param('ns3::WifiPreamble', 'preamble')], 
-                   is_static=True)
-    ## interference-helper.h (module 'wifi'): static ns3::WifiMode ns3::InterferenceHelper::GetPlcpHeaderMode(ns3::WifiMode payloadMode, ns3::WifiPreamble preamble) [member function]
-    cls.add_method('GetPlcpHeaderMode', 
-                   'ns3::WifiMode', 
-                   [param('ns3::WifiMode', 'payloadMode'), param('ns3::WifiPreamble', 'preamble')], 
-                   is_static=True)
-    ## interference-helper.h (module 'wifi'): static uint32_t ns3::InterferenceHelper::GetPlcpPreambleDurationMicroSeconds(ns3::WifiMode mode, ns3::WifiPreamble preamble) [member function]
-    cls.add_method('GetPlcpPreambleDurationMicroSeconds', 
-                   'uint32_t', 
-                   [param('ns3::WifiMode', 'mode'), param('ns3::WifiPreamble', 'preamble')], 
-                   is_static=True)
     ## interference-helper.h (module 'wifi'): void ns3::InterferenceHelper::NotifyRxEnd() [member function]
     cls.add_method('NotifyRxEnd', 
                    'void', 
@@ -6266,11 +6241,11 @@
                    'double', 
                    [param('ns3::WifiMode', 'txMode'), param('double', 'ber')], 
                    is_pure_virtual=True, is_const=True, is_virtual=True)
-    ## wifi-phy.h (module 'wifi'): ns3::Time ns3::WifiPhy::CalculateTxDuration(uint32_t size, ns3::WifiMode payloadMode, ns3::WifiPreamble preamble) const [member function]
+    ## wifi-phy.h (module 'wifi'): static ns3::Time ns3::WifiPhy::CalculateTxDuration(uint32_t size, ns3::WifiMode payloadMode, ns3::WifiPreamble preamble) [member function]
     cls.add_method('CalculateTxDuration', 
                    'ns3::Time', 
                    [param('uint32_t', 'size'), param('ns3::WifiMode', 'payloadMode'), param('ns3::WifiPreamble', 'preamble')], 
-                   is_pure_virtual=True, is_const=True, is_virtual=True)
+                   is_static=True)
     ## wifi-phy.h (module 'wifi'): void ns3::WifiPhy::ConfigureStandard(ns3::WifiPhyStandard standard) [member function]
     cls.add_method('ConfigureStandard', 
                    'void', 
@@ -6491,6 +6466,26 @@
                    'ns3::WifiMode', 
                    [], 
                    is_static=True)
+    ## wifi-phy.h (module 'wifi'): static uint32_t ns3::WifiPhy::GetPayloadDurationMicroSeconds(uint32_t size, ns3::WifiMode payloadMode) [member function]
+    cls.add_method('GetPayloadDurationMicroSeconds', 
+                   'uint32_t', 
+                   [param('uint32_t', 'size'), param('ns3::WifiMode', 'payloadMode')], 
+                   is_static=True)
+    ## wifi-phy.h (module 'wifi'): static uint32_t ns3::WifiPhy::GetPlcpHeaderDurationMicroSeconds(ns3::WifiMode payloadMode, ns3::WifiPreamble preamble) [member function]
+    cls.add_method('GetPlcpHeaderDurationMicroSeconds', 
+                   'uint32_t', 
+                   [param('ns3::WifiMode', 'payloadMode'), param('ns3::WifiPreamble', 'preamble')], 
+                   is_static=True)
+    ## wifi-phy.h (module 'wifi'): static ns3::WifiMode ns3::WifiPhy::GetPlcpHeaderMode(ns3::WifiMode payloadMode, ns3::WifiPreamble preamble) [member function]
+    cls.add_method('GetPlcpHeaderMode', 
+                   'ns3::WifiMode', 
+                   [param('ns3::WifiMode', 'payloadMode'), param('ns3::WifiPreamble', 'preamble')], 
+                   is_static=True)
+    ## wifi-phy.h (module 'wifi'): static uint32_t ns3::WifiPhy::GetPlcpPreambleDurationMicroSeconds(ns3::WifiMode payloadMode, ns3::WifiPreamble preamble) [member function]
+    cls.add_method('GetPlcpPreambleDurationMicroSeconds', 
+                   'uint32_t', 
+                   [param('ns3::WifiMode', 'payloadMode'), param('ns3::WifiPreamble', 'preamble')], 
+                   is_static=True)
     ## wifi-phy.h (module 'wifi'): ns3::Time ns3::WifiPhy::GetStateDuration() [member function]
     cls.add_method('GetStateDuration', 
                    'ns3::Time', 
@@ -7084,11 +7079,6 @@
                    'ns3::Time', 
                    [], 
                    is_const=True, is_virtual=True)
-    ## yans-wifi-phy.h (module 'wifi'): ns3::Time ns3::YansWifiPhy::CalculateTxDuration(uint32_t size, ns3::WifiMode payloadMode, ns3::WifiPreamble preamble) const [member function]
-    cls.add_method('CalculateTxDuration', 
-                   'ns3::Time', 
-                   [param('uint32_t', 'size'), param('ns3::WifiMode', 'payloadMode'), param('ns3::WifiPreamble', 'preamble')], 
-                   is_const=True, is_virtual=True)
     ## yans-wifi-phy.h (module 'wifi'): uint32_t ns3::YansWifiPhy::GetNModes() const [member function]
     cls.add_method('GetNModes', 
                    'uint32_t',