From b4501f5baabb73dc06d5d7e1d0f51de218889f39 Mon Sep 17 00:00:00 2001
From: Richard Whitehouse
Date: Tue, 4 Jan 2011 16:51:18 +0000
Subject: [PATCH] Adding code from ns3. ns-moose will use ns3 as a starting
point.
---
code/AUTHORS | 67 +
code/CHANGES.html | 1472 +++
code/LICENSE | 339 +
code/README | 110 +
code/RELEASE_NOTES | 1129 ++
code/VERSION | 1 +
.../apidefs/gcc-ILP32/callbacks_list.py | 36 +
.../apidefs/gcc-ILP32/ns3_module_aodv.py | 1121 ++
.../apidefs/gcc-ILP32/ns3_module_bridge.py | 139 +
.../apidefs/gcc-ILP32/ns3_module_bulk_send.py | 178 +
.../apidefs/gcc-ILP32/ns3_module_common.py | 2442 ++++
.../apidefs/gcc-ILP32/ns3_module_contrib.py | 626 +
.../apidefs/gcc-ILP32/ns3_module_core.py | 3395 +++++
.../apidefs/gcc-ILP32/ns3_module_csma.py | 487 +
.../apidefs/gcc-ILP32/ns3_module_dot11s.py | 836 ++
.../apidefs/gcc-ILP32/ns3_module_dsdv.py | 139 +
.../apidefs/gcc-ILP32/ns3_module_emu.py | 311 +
.../apidefs/gcc-ILP32/ns3_module_energy.py | 139 +
.../apidefs/gcc-ILP32/ns3_module_flame.py | 228 +
.../gcc-ILP32/ns3_module_flow_monitor.py | 139 +
.../gcc-ILP32/ns3_module_global_routing.py | 139 +
.../apidefs/gcc-ILP32/ns3_module_helper.py | 2656 ++++
.../gcc-ILP32/ns3_module_internet_stack.py | 4130 ++++++
.../gcc-ILP32/ns3_module_list_routing.py | 139 +
.../apidefs/gcc-ILP32/ns3_module_lte.py | 139 +
.../apidefs/gcc-ILP32/ns3_module_mesh.py | 563 +
.../apidefs/gcc-ILP32/ns3_module_mobility.py | 1129 ++
.../apidefs/gcc-ILP32/ns3_module_mpi.py | 369 +
.../ns3_module_nix_vector_routing.py | 213 +
.../apidefs/gcc-ILP32/ns3_module_node.py | 5479 ++++++++
.../apidefs/gcc-ILP32/ns3_module_olsr.py | 139 +
.../apidefs/gcc-ILP32/ns3_module_onoff.py | 178 +
.../gcc-ILP32/ns3_module_packet_sink.py | 184 +
.../apidefs/gcc-ILP32/ns3_module_ping6.py | 185 +
.../gcc-ILP32/ns3_module_point_to_point.py | 435 +
.../apidefs/gcc-ILP32/ns3_module_radvd.py | 449 +
.../apidefs/gcc-ILP32/ns3_module_simulator.py | 1722 +++
.../apidefs/gcc-ILP32/ns3_module_spectrum.py | 1115 ++
.../gcc-ILP32/ns3_module_static_routing.py | 139 +
.../apidefs/gcc-ILP32/ns3_module_stats.py | 612 +
.../gcc-ILP32/ns3_module_tap_bridge.py | 315 +
.../apidefs/gcc-ILP32/ns3_module_test.py | 139 +
.../gcc-ILP32/ns3_module_topology_read.py | 294 +
.../apidefs/gcc-ILP32/ns3_module_uan.py | 139 +
.../gcc-ILP32/ns3_module_udp_client_server.py | 298 +
.../apidefs/gcc-ILP32/ns3_module_udp_echo.py | 224 +
.../apidefs/gcc-ILP32/ns3_module_v4ping.py | 169 +
.../ns3_module_virtual_net_device.py | 139 +
.../gcc-ILP32/ns3_module_visualizer.py | 139 +
.../apidefs/gcc-ILP32/ns3_module_wifi.py | 6131 +++++++++
.../apidefs/gcc-ILP32/ns3_module_wimax.py | 6644 ++++++++++
.../gcc-ILP32/ns3modulegen_generated.py | 10810 ++++++++++++++++
.../python/apidefs/gcc-LP64/callbacks_list.py | 36 +
.../apidefs/gcc-LP64/ns3_module_aodv.py | 1121 ++
.../apidefs/gcc-LP64/ns3_module_bridge.py | 139 +
.../apidefs/gcc-LP64/ns3_module_bulk_send.py | 178 +
.../apidefs/gcc-LP64/ns3_module_common.py | 2442 ++++
.../apidefs/gcc-LP64/ns3_module_contrib.py | 626 +
.../apidefs/gcc-LP64/ns3_module_core.py | 3395 +++++
.../apidefs/gcc-LP64/ns3_module_csma.py | 487 +
.../apidefs/gcc-LP64/ns3_module_dot11s.py | 836 ++
.../apidefs/gcc-LP64/ns3_module_dsdv.py | 139 +
.../python/apidefs/gcc-LP64/ns3_module_emu.py | 311 +
.../apidefs/gcc-LP64/ns3_module_energy.py | 139 +
.../apidefs/gcc-LP64/ns3_module_flame.py | 228 +
.../gcc-LP64/ns3_module_flow_monitor.py | 139 +
.../gcc-LP64/ns3_module_global_routing.py | 139 +
.../apidefs/gcc-LP64/ns3_module_helper.py | 2656 ++++
.../gcc-LP64/ns3_module_internet_stack.py | 4130 ++++++
.../gcc-LP64/ns3_module_list_routing.py | 139 +
.../python/apidefs/gcc-LP64/ns3_module_lte.py | 139 +
.../apidefs/gcc-LP64/ns3_module_mesh.py | 563 +
.../apidefs/gcc-LP64/ns3_module_mobility.py | 1129 ++
.../python/apidefs/gcc-LP64/ns3_module_mpi.py | 369 +
.../gcc-LP64/ns3_module_nix_vector_routing.py | 213 +
.../apidefs/gcc-LP64/ns3_module_node.py | 5479 ++++++++
.../apidefs/gcc-LP64/ns3_module_olsr.py | 139 +
.../apidefs/gcc-LP64/ns3_module_onoff.py | 178 +
.../gcc-LP64/ns3_module_packet_sink.py | 184 +
.../apidefs/gcc-LP64/ns3_module_ping6.py | 185 +
.../gcc-LP64/ns3_module_point_to_point.py | 435 +
.../apidefs/gcc-LP64/ns3_module_radvd.py | 449 +
.../apidefs/gcc-LP64/ns3_module_simulator.py | 1722 +++
.../apidefs/gcc-LP64/ns3_module_spectrum.py | 1115 ++
.../gcc-LP64/ns3_module_static_routing.py | 139 +
.../apidefs/gcc-LP64/ns3_module_stats.py | 612 +
.../apidefs/gcc-LP64/ns3_module_tap_bridge.py | 315 +
.../apidefs/gcc-LP64/ns3_module_test.py | 139 +
.../gcc-LP64/ns3_module_topology_read.py | 294 +
.../python/apidefs/gcc-LP64/ns3_module_uan.py | 139 +
.../gcc-LP64/ns3_module_udp_client_server.py | 298 +
.../apidefs/gcc-LP64/ns3_module_udp_echo.py | 224 +
.../apidefs/gcc-LP64/ns3_module_v4ping.py | 169 +
.../gcc-LP64/ns3_module_virtual_net_device.py | 139 +
.../apidefs/gcc-LP64/ns3_module_visualizer.py | 139 +
.../apidefs/gcc-LP64/ns3_module_wifi.py | 6131 +++++++++
.../apidefs/gcc-LP64/ns3_module_wimax.py | 6644 ++++++++++
.../gcc-LP64/ns3modulegen_generated.py | 10810 ++++++++++++++++
.../python/my_extra_api_definitions.py | 13 +
code/bindings/python/ns3/__init__.py | 7 +
code/bindings/python/ns3module_helpers.cc | 336 +
code/bindings/python/ns3modulegen.py | 177 +
.../ns3modulegen_core_customizations.py | 440 +
code/bindings/python/ns3modulescan.py | 321 +
code/bindings/python/pch/_placeholder_ | 1 +
code/bindings/python/rad_util.py | 909 ++
code/bindings/python/topsort.py | 392 +
code/bindings/python/waf | 1 +
code/bindings/python/wscript | 612 +
code/doc/MeshArchitecture.png | Bin 0 -> 68663 bytes
code/doc/WifiArchitecture.dia | Bin 0 -> 2716 bytes
code/doc/WifiArchitecture.png | Bin 0 -> 54620 bytes
code/doc/WimaxArchitecture.dia | Bin 0 -> 8784 bytes
code/doc/WimaxArchitecture.png | Bin 0 -> 120428 bytes
code/doc/build.txt | 107 +
code/doc/codingstd.txt | 2 +
code/doc/contributing.txt | 7 +
code/doc/doxygen.conf | 1529 +++
code/doc/main.h | 65 +
code/doc/manual/Makefile | 186 +
code/doc/manual/figures/README | 18 +
code/doc/manual/figures/WifiArchitecture.dia | Bin 0 -> 2716 bytes
code/doc/manual/figures/WimaxArchitecture.dia | Bin 0 -> 8784 bytes
.../doc/manual/figures/animation-dumbbell.pdf | Bin 0 -> 42542 bytes
.../doc/manual/figures/animation-dumbbell.png | Bin 0 -> 54516 bytes
.../manual/figures/auvmobility-classes.dia | Bin 0 -> 1536 bytes
code/doc/manual/figures/buffer.dia | 1623 +++
code/doc/manual/figures/emulated-channel.dia | Bin 0 -> 3112 bytes
.../doc/manual/figures/internet-node-recv.dia | Bin 0 -> 3597 bytes
.../doc/manual/figures/internet-node-send.dia | Bin 0 -> 3504 bytes
code/doc/manual/figures/lte-transmission.png | Bin 0 -> 187238 bytes
code/doc/manual/figures/node.dia | Bin 0 -> 2300 bytes
code/doc/manual/figures/packet.dia | Bin 0 -> 1759 bytes
.../manual/figures/routing-specialization.dia | Bin 0 -> 2723 bytes
code/doc/manual/figures/routing.dia | Bin 0 -> 3091 bytes
code/doc/manual/figures/snir.dia | Bin 0 -> 2529 bytes
code/doc/manual/figures/sockets-overview.dia | Bin 0 -> 2222 bytes
.../manual/figures/software-organization.dia | Bin 0 -> 2990 bytes
code/doc/manual/figures/testbed.dia | Bin 0 -> 2593 bytes
code/doc/manual/rescale-pdf.sh | 12 +
code/doc/manual/source/_static/.hidden | 0
code/doc/manual/source/animation.rst | 181 +
code/doc/manual/source/applications.rst | 6 +
code/doc/manual/source/attributes.rst | 799 ++
code/doc/manual/source/bridge.rst | 9 +
code/doc/manual/source/callbacks.rst | 235 +
code/doc/manual/source/conf.py | 216 +
code/doc/manual/source/core.rst | 17 +
code/doc/manual/source/csma.rst | 305 +
code/doc/manual/source/distributed.rst | 212 +
code/doc/manual/source/emu.rst | 268 +
code/doc/manual/source/emulation-overview.rst | 71 +
code/doc/manual/source/emulation.rst | 8 +
code/doc/manual/source/energy.rst | 142 +
code/doc/manual/source/figures | 1 +
code/doc/manual/source/flow-monitor.rst | 8 +
code/doc/manual/source/helpers.rst | 37 +
code/doc/manual/source/index.rst | 26 +
code/doc/manual/source/internet-models.rst | 11 +
code/doc/manual/source/internet-stack.rst | 231 +
code/doc/manual/source/ipv4.rst | 6 +
code/doc/manual/source/ipv6.rst | 10 +
code/doc/manual/source/logging.rst | 7 +
code/doc/manual/source/lte.rst | 366 +
code/doc/manual/source/mesh.rst | 10 +
code/doc/manual/source/new-models.rst | 569 +
.../source/nodes-and-devices-overview.rst | 50 +
code/doc/manual/source/nodes-and-devices.rst | 16 +
code/doc/manual/source/object-model.rst | 290 +
code/doc/manual/source/object-names.rst | 6 +
code/doc/manual/source/organization.rst | 61 +
code/doc/manual/source/packets.rst | 660 +
code/doc/manual/source/point-to-point.rst | 160 +
code/doc/manual/source/python.rst | 9 +
code/doc/manual/source/random-variables.rst | 289 +
code/doc/manual/source/realtime.rst | 93 +
code/doc/manual/source/replace.txt | 3 +
code/doc/manual/source/routing.rst | 386 +
code/doc/manual/source/simple.rst | 6 +
code/doc/manual/source/sockets-api.rst | 205 +
code/doc/manual/source/statistics.rst | 11 +
code/doc/manual/source/support.rst | 10 +
code/doc/manual/source/tap.rst | 10 +
code/doc/manual/source/tcp.rst | 337 +
code/doc/manual/source/tracing.rst | 1076 ++
code/doc/manual/source/troubleshoot.rst | 82 +
code/doc/manual/source/uan.rst | 421 +
code/doc/manual/source/wifi.rst | 416 +
code/doc/manual/source/wimax.rst | 511 +
code/doc/mercurial.txt | 45 +
code/doc/modules | 69 +
code/doc/namespace-2.dia | 1658 +++
code/doc/namespace-2.png | Bin 0 -> 32010 bytes
code/doc/release_steps.txt | 106 +
code/doc/testing/Makefile | 154 +
code/doc/testing/pickle-to-xml.py | 42 +
code/doc/testing/source/_static/.hidden | 0
code/doc/testing/source/background.rst | 219 +
code/doc/testing/source/conf.py | 216 +
.../doc/testing/source/how-to-write-tests.rst | 60 +
code/doc/testing/source/index.rst | 23 +
code/doc/testing/source/overview.rst | 18 +
code/doc/testing/source/replace.txt | 3 +
code/doc/testing/source/testing-framework.rst | 714 +
code/doc/tutorial/Makefile | 150 +
code/doc/tutorial/figures/README | 18 +
code/doc/tutorial/figures/cwnd.png | Bin 0 -> 5958 bytes
code/doc/tutorial/figures/dumbbell.dia | Bin 0 -> 1995 bytes
code/doc/tutorial/figures/helpers.dia | Bin 0 -> 1479 bytes
code/doc/tutorial/figures/oneobj.png | Bin 0 -> 6183 bytes
code/doc/tutorial/figures/pp.dia | Bin 0 -> 1080 bytes
code/doc/tutorial/figures/star.dia | Bin 0 -> 1632 bytes
code/doc/tutorial/figures/threeobj.png | Bin 0 -> 14310 bytes
code/doc/tutorial/pickle-to-xml.py | 42 +
code/doc/tutorial/source/_static/.hidden | 0
.../tutorial/source/building-topologies.rst | 1429 ++
.../tutorial/source/conceptual-overview.rst | 840 ++
code/doc/tutorial/source/conclusion.rst | 37 +
code/doc/tutorial/source/conf.py | 216 +
code/doc/tutorial/source/figures | 1 +
code/doc/tutorial/source/getting-started.rst | 512 +
code/doc/tutorial/source/index.rst | 27 +
code/doc/tutorial/source/introduction.rst | 125 +
code/doc/tutorial/source/replace.txt | 3 +
code/doc/tutorial/source/resources.rst | 144 +
code/doc/tutorial/source/tracing.rst | 3179 +++++
code/doc/tutorial/source/tweaking.rst | 996 ++
code/examples/animation/dumbbell-animation.cc | 119 +
code/examples/animation/grid-animation.cc | 107 +
code/examples/animation/star-animation.cc | 135 +
code/examples/animation/waf | 1 +
code/examples/animation/wscript | 14 +
code/examples/csma/csma-broadcast.cc | 126 +
code/examples/csma/csma-multicast.cc | 182 +
code/examples/csma/csma-one-subnet.cc | 143 +
code/examples/csma/csma-packet-socket.cc | 134 +
code/examples/csma/csma-ping.cc | 129 +
code/examples/csma/csma-raw-ip-socket.cc | 119 +
code/examples/csma/csma-star.cc | 194 +
code/examples/csma/waf | 1 +
code/examples/csma/wscript | 23 +
code/examples/emulation/emu-ping.cc | 219 +
code/examples/emulation/emu-udp-echo.cc | 162 +
code/examples/emulation/waf | 1 +
code/examples/emulation/wscript | 10 +
code/examples/energy/energy-model-example.cc | 262 +
code/examples/energy/waf | 1 +
code/examples/energy/wscript | 5 +
.../error-model/simple-error-model.cc | 174 +
code/examples/error-model/waf | 1 +
code/examples/error-model/wscript | 5 +
code/examples/ipv6/fragmentation-ipv6.cc | 163 +
code/examples/ipv6/icmpv6-redirect.cc | 187 +
code/examples/ipv6/loose-routing-ipv6.cc | 170 +
code/examples/ipv6/ping6.cc | 110 +
code/examples/ipv6/radvd-two-prefix.cc | 221 +
code/examples/ipv6/radvd.cc | 155 +
code/examples/ipv6/test-ipv6.cc | 69 +
code/examples/ipv6/waf | 1 +
code/examples/ipv6/wscript | 24 +
.../matrix-topology/adjacency_matrix.txt | 27 +
.../matrix-topology/matrix-topology.cc | 444 +
.../matrix-topology/node_coordinates.txt | 27 +
code/examples/matrix-topology/wscript | 6 +
code/examples/mesh/mesh.cc | 260 +
code/examples/mesh/waf | 1 +
code/examples/mesh/wscript | 5 +
code/examples/mobility/default.ns_movements | 683 +
code/examples/mobility/ns2-mobility-trace.cc | 140 +
code/examples/mobility/waf | 1 +
code/examples/mobility/wscript | 6 +
code/examples/mpi/nms-p2p-nix-distributed.cc | 616 +
code/examples/mpi/simple-distributed.cc | 248 +
code/examples/mpi/third-distributed.cc | 243 +
code/examples/mpi/waf | 1 +
code/examples/mpi/wscript | 14 +
code/examples/naming/object-names.cc | 182 +
code/examples/naming/waf | 1 +
code/examples/naming/wscript | 5 +
code/examples/realtime/realtime-udp-echo.cc | 119 +
code/examples/realtime/realtime-udp-echo.py | 111 +
code/examples/realtime/waf | 1 +
code/examples/realtime/wscript | 5 +
code/examples/routing/aodv.cc | 224 +
.../routing/dynamic-global-routing.cc | 226 +
.../routing/global-injection-slash32.cc | 160 +
.../routing/global-routing-slash32.cc | 131 +
code/examples/routing/mixed-global-routing.cc | 136 +
code/examples/routing/nix-simple.cc | 119 +
code/examples/routing/nms-p2p-nix.cc | 468 +
.../routing/simple-alternate-routing.cc | 166 +
.../examples/routing/simple-global-routing.cc | 171 +
code/examples/routing/simple-routing-ping6.cc | 164 +
code/examples/routing/simple-routing-ping6.py | 106 +
.../routing/static-routing-slash32.cc | 136 +
code/examples/routing/waf | 1 +
code/examples/routing/wscript | 46 +
.../socket/socket-bound-static-routing.cc | 221 +
.../socket/socket-bound-tcp-static-routing.cc | 232 +
code/examples/socket/waf | 1 +
code/examples/socket/wscript | 8 +
...hoc-aloha-ideal-phy-with-microwave-oven.cc | 266 +
.../spectrum/adhoc-aloha-ideal-phy.cc | 198 +
code/examples/spectrum/waf | 1 +
code/examples/spectrum/wscript | 12 +
code/examples/stats/README | 36 +
code/examples/stats/wifi-example-apps.cc | 333 +
code/examples/stats/wifi-example-apps.h | 126 +
code/examples/stats/wifi-example-db.sh | 76 +
code/examples/stats/wifi-example-sim.cc | 328 +
code/examples/stats/wifi-example.gnuplot | 13 +
code/examples/stats/wscript | 6 +
code/examples/tap/lxc-left.conf | 7 +
code/examples/tap/lxc-right.conf | 7 +
code/examples/tap/tap-csma-virtual-machine.cc | 130 +
code/examples/tap/tap-csma-virtual-machine.py | 76 +
code/examples/tap/tap-csma.cc | 112 +
code/examples/tap/tap-wifi-dumbbell.cc | 226 +
code/examples/tap/tap-wifi-virtual-machine.cc | 167 +
code/examples/tap/tap-wifi-virtual-machine.py | 106 +
code/examples/tap/virtual-network-setup.sh | 16 +
code/examples/tap/virtual-network-teardown.sh | 13 +
code/examples/tap/waf | 1 +
code/examples/tap/wscript | 13 +
code/examples/tcp/star.cc | 121 +
code/examples/tcp/tcp-bulk-send.cc | 135 +
code/examples/tcp/tcp-large-transfer.cc | 219 +
code/examples/tcp/tcp-loss-response.cc | 292 +
code/examples/tcp/tcp-nsc-lfn.cc | 143 +
code/examples/tcp/tcp-nsc-zoo.cc | 145 +
code/examples/tcp/tcp-star-server.cc | 167 +
code/examples/tcp/tcp-testcases.cc | 283 +
code/examples/tcp/waf | 1 +
code/examples/tcp/wscript | 34 +
.../topology-read/Inet_small_toposample.txt | 20 +
.../topology-read/Inet_toposample.txt | 7826 +++++++++++
.../topology-read/Orbis_toposample.txt | 2769 ++++
.../RocketFuel_toposample_1239_weights.txt | 1944 +++
.../topology-read/topology-example-sim.cc | 214 +
code/examples/topology-read/waf | 1 +
code/examples/topology-read/wscript | 5 +
code/examples/tutorial/fifth.cc | 224 +
code/examples/tutorial/first.cc | 68 +
code/examples/tutorial/first.py | 55 +
code/examples/tutorial/fourth.cc | 58 +
code/examples/tutorial/hello-simulator.cc | 27 +
code/examples/tutorial/second.cc | 113 +
code/examples/tutorial/sixth.cc | 231 +
code/examples/tutorial/third.cc | 171 +
code/examples/tutorial/waf | 1 +
code/examples/tutorial/wscript | 23 +
.../udp-client-server/udp-client-server.cc | 104 +
.../udp-trace-client-server.cc | 100 +
code/examples/udp-client-server/waf | 1 +
code/examples/udp-client-server/wscript | 8 +
code/examples/udp/udp-echo.cc | 132 +
code/examples/udp/waf | 1 +
code/examples/udp/wscript | 5 +
code/examples/waf | 1 +
code/examples/wimax/waf | 1 +
code/examples/wimax/wimax-ipv4.cc | 217 +
code/examples/wimax/wimax-multicast.cc | 315 +
code/examples/wimax/wimax-simple.cc | 202 +
code/examples/wimax/wscript | 11 +
code/examples/wireless/mixed-wireless.cc | 425 +
code/examples/wireless/mixed-wireless.py | 355 +
code/examples/wireless/multirate.cc | 575 +
code/examples/wireless/ofdm-validation.cc | 107 +
.../wireless/simple-wifi-frame-aggregation.cc | 149 +
code/examples/wireless/waf | 1 +
code/examples/wireless/wifi-adhoc.cc | 287 +
code/examples/wireless/wifi-ap.cc | 199 +
code/examples/wireless/wifi-ap.py | 169 +
code/examples/wireless/wifi-blockack.cc | 143 +
.../wireless/wifi-clear-channel-cmu.cc | 229 +
.../examples/wireless/wifi-hidden-terminal.cc | 176 +
.../wireless/wifi-simple-adhoc-grid.cc | 245 +
code/examples/wireless/wifi-simple-adhoc.cc | 200 +
code/examples/wireless/wifi-simple-infra.cc | 213 +
.../wireless/wifi-simple-interference.cc | 262 +
code/examples/wireless/wifi-wired-bridging.cc | 201 +
code/examples/wireless/wscript | 45 +
code/ns3/_placeholder_ | 1 +
code/samples/main-attribute-value.cc | 142 +
code/samples/main-callback.cc | 72 +
code/samples/main-grid-topology.cc | 54 +
code/samples/main-packet-header.cc | 125 +
code/samples/main-packet-tag.cc | 120 +
code/samples/main-propagation-loss.cc | 312 +
code/samples/main-ptr.cc | 76 +
code/samples/main-random-topology.cc | 43 +
code/samples/main-random-variable.cc | 377 +
code/samples/main-random-walk.cc | 52 +
code/samples/main-simple.cc | 74 +
code/samples/main-test-sync.cc | 133 +
code/samples/sample-random-variable.cc | 63 +
code/samples/sample-rng-plot.py | 35 +
code/samples/sample-simulator.cc | 91 +
code/samples/sample-simulator.py | 62 +
code/samples/waf | 1 +
code/samples/wscript | 56 +
code/scratch/multiple-sources/simple-main.cc | 9 +
.../multiple-sources/simple-simulation.cc | 67 +
code/scratch/simple.cc | 76 +
.../bulk-send/bulk-send-application.cc | 224 +
.../bulk-send/bulk-send-application.h | 107 +
code/src/applications/bulk-send/wscript | 13 +
.../applications/onoff/onoff-application.cc | 268 +
.../applications/onoff/onoff-application.h | 162 +
code/src/applications/onoff/waf | 1 +
code/src/applications/onoff/wscript | 13 +
.../applications/packet-sink/packet-sink.cc | 195 +
.../applications/packet-sink/packet-sink.h | 118 +
code/src/applications/packet-sink/waf | 1 +
code/src/applications/packet-sink/wscript | 13 +
code/src/applications/ping6/ping6.cc | 261 +
code/src/applications/ping6/ping6.h | 188 +
code/src/applications/ping6/waf | 1 +
code/src/applications/ping6/wscript | 13 +
.../src/applications/radvd/radvd-interface.cc | 292 +
code/src/applications/radvd/radvd-interface.h | 421 +
code/src/applications/radvd/radvd-prefix.cc | 112 +
code/src/applications/radvd/radvd-prefix.h | 182 +
code/src/applications/radvd/radvd.cc | 284 +
code/src/applications/radvd/radvd.h | 144 +
code/src/applications/radvd/wscript | 17 +
.../udp-client-server/packet-loss-counter.cc | 121 +
.../udp-client-server/packet-loss-counter.h | 56 +
.../udp-client-server/seq-ts-header.cc | 96 +
.../udp-client-server/seq-ts-header.h | 67 +
.../udp-client-server-test.cc | 266 +
.../udp-client-server/udp-client.cc | 155 +
.../udp-client-server/udp-client.h | 85 +
.../udp-client-server/udp-server.cc | 165 +
.../udp-client-server/udp-server.h | 94 +
.../udp-client-server/udp-trace-client.cc | 297 +
.../udp-client-server/udp-trace-client.h | 135 +
code/src/applications/udp-client-server/waf | 1 +
.../applications/udp-client-server/wscript | 21 +
.../applications/udp-echo/udp-echo-client.cc | 309 +
.../applications/udp-echo/udp-echo-client.h | 155 +
.../applications/udp-echo/udp-echo-server.cc | 133 +
.../applications/udp-echo/udp-echo-server.h | 68 +
code/src/applications/udp-echo/waf | 1 +
code/src/applications/udp-echo/wscript | 15 +
code/src/applications/v4ping/v4ping.cc | 271 +
code/src/applications/v4ping/v4ping.h | 87 +
code/src/applications/v4ping/wscript | 13 +
code/src/common/buffer-test.cc | 338 +
code/src/common/buffer.cc | 1191 ++
code/src/common/buffer.h | 889 ++
code/src/common/byte-tag-list.cc | 422 +
code/src/common/byte-tag-list.h | 170 +
code/src/common/chunk.cc | 16 +
code/src/common/chunk.h | 25 +
.../common/cost231-propagation-loss-model.cc | 191 +
.../common/cost231-propagation-loss-model.h | 92 +
code/src/common/data-rate.cc | 272 +
code/src/common/data-rate.h | 133 +
code/src/common/error-model.cc | 370 +
code/src/common/error-model.h | 276 +
.../common/friis-spectrum-propagation-loss.cc | 108 +
.../common/friis-spectrum-propagation-loss.h | 78 +
code/src/common/header.cc | 25 +
code/src/common/header.h | 98 +
.../common/jakes-propagation-loss-model.cc | 259 +
.../src/common/jakes-propagation-loss-model.h | 137 +
code/src/common/known.pcap | Bin 0 -> 2444 bytes
code/src/common/nix-vector.cc | 438 +
code/src/common/nix-vector.h | 188 +
code/src/common/output-stream-wrapper.cc | 60 +
code/src/common/output-stream-wrapper.h | 93 +
code/src/common/packet-burst.cc | 125 +
code/src/common/packet-burst.h | 71 +
code/src/common/packet-metadata-test.cc | 794 ++
code/src/common/packet-metadata.cc | 1399 ++
code/src/common/packet-metadata.h | 413 +
code/src/common/packet-tag-list.cc | 177 +
code/src/common/packet-tag-list.h | 143 +
code/src/common/packet.cc | 1329 ++
code/src/common/packet.h | 626 +
code/src/common/pcap-file-test-suite.cc | 1136 ++
code/src/common/pcap-file-wrapper.cc | 176 +
code/src/common/pcap-file-wrapper.h | 204 +
code/src/common/pcap-file.cc | 537 +
code/src/common/pcap-file.h | 297 +
code/src/common/propagation-delay-model.cc | 104 +
code/src/common/propagation-delay-model.h | 96 +
.../propagation-loss-model-test-suite.cc | 466 +
code/src/common/propagation-loss-model.cc | 832 ++
code/src/common/propagation-loss-model.h | 547 +
code/src/common/sequence-number.cc | 195 +
code/src/common/sequence-number.h | 298 +
code/src/common/sgi-hashmap.h | 38 +
code/src/common/spectrum-converter.cc | 110 +
code/src/common/spectrum-converter.h | 93 +
code/src/common/spectrum-model.cc | 108 +
code/src/common/spectrum-model.h | 114 +
.../common/spectrum-propagation-loss-model.cc | 75 +
.../common/spectrum-propagation-loss-model.h | 106 +
code/src/common/spectrum-type.cc | 95 +
code/src/common/spectrum-type.h | 80 +
code/src/common/spectrum-value-test.cc | 370 +
code/src/common/spectrum-value.cc | 673 +
code/src/common/spectrum-value.h | 537 +
code/src/common/tag-buffer.cc | 193 +
code/src/common/tag-buffer.h | 219 +
code/src/common/tag.cc | 36 +
code/src/common/tag.h | 76 +
code/src/common/trailer.cc | 25 +
code/src/common/trailer.h | 100 +
code/src/common/waf | 1 +
code/src/common/wscript | 73 +
.../src/contrib/attribute-default-iterator.cc | 123 +
code/src/contrib/attribute-default-iterator.h | 60 +
code/src/contrib/attribute-iterator.cc | 285 +
code/src/contrib/attribute-iterator.h | 72 +
code/src/contrib/average.h | 112 +
code/src/contrib/config-store.cc | 135 +
code/src/contrib/config-store.h | 61 +
code/src/contrib/contrib.h | 18 +
code/src/contrib/delay-jitter-estimation.cc | 118 +
code/src/contrib/delay-jitter-estimation.h | 59 +
code/src/contrib/display-functions.cc | 594 +
code/src/contrib/display-functions.h | 150 +
.../energy/examples/li-ion-energy-source.cc | 102 +
code/src/contrib/energy/examples/wscript | 5 +
.../helper/basic-energy-source-helper.cc | 57 +
.../helper/basic-energy-source-helper.h | 50 +
.../energy/helper/energy-model-helper.cc | 122 +
.../energy/helper/energy-model-helper.h | 168 +
.../energy/helper/energy-source-container.cc | 143 +
.../energy/helper/energy-source-container.h | 180 +
.../energy/helper/rv-battery-model-helper.cc | 57 +
.../energy/helper/rv-battery-model-helper.h | 50 +
.../helper/wifi-radio-energy-model-helper.cc | 85 +
.../helper/wifi-radio-energy-model-helper.h | 81 +
.../energy/model/basic-energy-source.cc | 202 +
.../energy/model/basic-energy-source.h | 140 +
.../model/device-energy-model-container.cc | 106 +
.../model/device-energy-model-container.h | 175 +
.../energy/model/device-energy-model.cc | 60 +
.../energy/model/device-energy-model.h | 110 +
.../src/contrib/energy/model/energy-source.cc | 176 +
code/src/contrib/energy/model/energy-source.h | 205 +
.../energy/model/li-ion-energy-source.cc | 307 +
.../energy/model/li-ion-energy-source.h | 202 +
.../contrib/energy/model/rv-battery-model.cc | 367 +
.../contrib/energy/model/rv-battery-model.h | 259 +
.../model/simple-device-energy-model.cc | 92 +
.../energy/model/simple-device-energy-model.h | 106 +
.../energy/model/wifi-radio-energy-model.cc | 419 +
.../energy/model/wifi-radio-energy-model.h | 261 +
.../energy/test/basic-energy-model-test.cc | 413 +
.../energy/test/li-ion-energy-source-test.cc | 98 +
.../energy/test/rv-battery-model-test.cc | 906 ++
code/src/contrib/energy/wscript | 42 +
code/src/contrib/event-garbage-collector.cc | 156 +
code/src/contrib/event-garbage-collector.h | 71 +
code/src/contrib/file-config.cc | 25 +
code/src/contrib/file-config.h | 31 +
code/src/contrib/flow-id-tag.cc | 90 +
code/src/contrib/flow-id-tag.h | 47 +
code/src/contrib/flow-monitor/doc/design.txt | 43 +
.../examples/flowmon-parse-results.py | 143 +
.../examples/wifi-olsr-flowmon.py | 172 +
.../helper/flow-monitor-helper.cc | 110 +
.../flow-monitor/helper/flow-monitor-helper.h | 69 +
.../flow-monitor/model/flow-classifier.cc | 42 +
.../flow-monitor/model/flow-classifier.h | 66 +
.../flow-monitor/model/flow-monitor.cc | 487 +
.../contrib/flow-monitor/model/flow-monitor.h | 247 +
.../contrib/flow-monitor/model/flow-probe.cc | 111 +
.../contrib/flow-monitor/model/flow-probe.h | 91 +
.../contrib/flow-monitor/model/histogram.cc | 214 +
.../contrib/flow-monitor/model/histogram.h | 64 +
.../model/ipv4-flow-classifier.cc | 203 +
.../flow-monitor/model/ipv4-flow-classifier.h | 78 +
.../flow-monitor/model/ipv4-flow-probe.cc | 341 +
.../flow-monitor/model/ipv4-flow-probe.h | 86 +
code/src/contrib/flow-monitor/waf | 2 +
code/src/contrib/flow-monitor/wscript | 25 +
code/src/contrib/gnuplot.cc | 733 ++
code/src/contrib/gnuplot.h | 460 +
code/src/contrib/gtk-config-store.cc | 139 +
code/src/contrib/gtk-config-store.h | 40 +
code/src/contrib/model-node-creator.cc | 130 +
code/src/contrib/model-node-creator.h | 73 +
code/src/contrib/model-typeid-creator.cc | 81 +
code/src/contrib/model-typeid-creator.h | 82 +
code/src/contrib/raw-text-config.cc | 166 +
code/src/contrib/raw-text-config.h | 39 +
.../contrib/stats/basic-data-calculators.h | 191 +
code/src/contrib/stats/data-calculator.cc | 126 +
code/src/contrib/stats/data-calculator.h | 127 +
code/src/contrib/stats/data-collector.cc | 131 +
code/src/contrib/stats/data-collector.h | 84 +
.../contrib/stats/data-output-interface.cc | 59 +
.../src/contrib/stats/data-output-interface.h | 86 +
code/src/contrib/stats/omnet-data-output.cc | 214 +
code/src/contrib/stats/omnet-data-output.h | 84 +
.../contrib/stats/packet-data-calculators.cc | 118 +
.../contrib/stats/packet-data-calculators.h | 68 +
code/src/contrib/stats/sqlite-data-output.cc | 248 +
code/src/contrib/stats/sqlite-data-output.h | 93 +
.../contrib/stats/time-data-calculators.cc | 81 +
.../src/contrib/stats/time-data-calculators.h | 62 +
code/src/contrib/stats/wscript | 35 +
.../topology-read/inet-topology-reader.cc | 140 +
.../topology-read/inet-topology-reader.h | 80 +
.../topology-read/orbis-topology-reader.cc | 121 +
.../topology-read/orbis-topology-reader.h | 77 +
.../rocketfuel-topology-reader.cc | 490 +
.../rocketfuel-topology-reader.h | 90 +
.../contrib/topology-read/topology-reader.cc | 169 +
.../contrib/topology-read/topology-reader.h | 207 +
code/src/contrib/topology-read/topology.h | 32 +
code/src/contrib/topology-read/wscript | 19 +
code/src/contrib/wscript | 62 +
code/src/contrib/xml-config.cc | 335 +
code/src/contrib/xml-config.h | 41 +
code/src/core/abort.h | 134 +
code/src/core/assert.h | 105 +
code/src/core/attribute-accessor-helper.h | 315 +
code/src/core/attribute-helper.h | 251 +
code/src/core/attribute-list.cc | 315 +
code/src/core/attribute-list.h | 128 +
code/src/core/attribute-test-suite.cc | 1195 ++
code/src/core/attribute.cc | 64 +
code/src/core/attribute.h | 213 +
code/src/core/boolean.cc | 102 +
code/src/core/boolean.h | 71 +
code/src/core/breakpoint.cc | 57 +
code/src/core/breakpoint.h | 75 +
code/src/core/callback-test-suite.cc | 590 +
code/src/core/callback.cc | 94 +
code/src/core/callback.h | 998 ++
code/src/core/command-line.cc | 515 +
code/src/core/command-line.h | 151 +
code/src/core/config.cc | 1243 ++
code/src/core/config.h | 248 +
code/src/core/default-deleter.h | 24 +
code/src/core/deprecated.h | 10 +
code/src/core/double.cc | 79 +
code/src/core/double.h | 92 +
code/src/core/empty.h | 11 +
code/src/core/enum.cc | 290 +
code/src/core/enum.h | 131 +
code/src/core/fatal-error.h | 80 +
code/src/core/fatal-impl.cc | 151 +
code/src/core/fatal-impl.h | 99 +
code/src/core/global-value.cc | 281 +
code/src/core/global-value.h | 154 +
code/src/core/int-to-type.h | 19 +
code/src/core/integer.cc | 80 +
code/src/core/integer.h | 97 +
code/src/core/log.cc | 415 +
code/src/core/log.h | 411 +
code/src/core/names-test-suite.cc | 975 ++
code/src/core/names.cc | 685 +
code/src/core/names.h | 461 +
code/src/core/object-base.cc | 348 +
code/src/core/object-base.h | 164 +
code/src/core/object-factory.cc | 101 +
code/src/core/object-factory.h | 116 +
code/src/core/object-vector.cc | 94 +
code/src/core/object-vector.h | 214 +
code/src/core/object.cc | 802 ++
code/src/core/object.h | 564 +
code/src/core/pointer.cc | 64 +
code/src/core/pointer.h | 186 +
code/src/core/ptr-test-suite.cc | 274 +
code/src/core/ptr.h | 525 +
code/src/core/random-variable.cc | 2167 ++++
code/src/core/random-variable.h | 821 ++
code/src/core/ref-count-base.cc | 8 +
code/src/core/ref-count-base.h | 48 +
code/src/core/rng-stream.cc | 565 +
code/src/core/rng-stream.h | 77 +
code/src/core/rng-test-suite.cc | 434 +
code/src/core/simple-ref-count.h | 117 +
code/src/core/singleton.h | 59 +
code/src/core/string.cc | 8 +
code/src/core/string.h | 26 +
code/src/core/system-condition.h | 108 +
code/src/core/system-mutex.h | 120 +
code/src/core/system-thread.h | 175 +
code/src/core/system-wall-clock-ms.h | 81 +
code/src/core/test.cc | 775 ++
code/src/core/test.h | 1185 ++
code/src/core/trace-source-accessor.cc | 29 +
code/src/core/trace-source-accessor.h | 143 +
code/src/core/traced-callback-test-suite.cc | 125 +
code/src/core/traced-callback.h | 284 +
code/src/core/traced-value.h | 517 +
code/src/core/type-id.cc | 752 ++
code/src/core/type-id.h | 440 +
code/src/core/type-name.cc | 26 +
code/src/core/type-name.h | 36 +
code/src/core/type-traits-test-suite.cc | 66 +
code/src/core/type-traits.h | 295 +
code/src/core/uinteger.cc | 79 +
code/src/core/uinteger.h | 97 +
code/src/core/unix-fd-reader.cc | 216 +
code/src/core/unix-fd-reader.h | 113 +
code/src/core/unix-system-condition.cc | 220 +
code/src/core/unix-system-mutex.cc | 139 +
code/src/core/unix-system-thread.cc | 183 +
code/src/core/unix-system-wall-clock-ms.cc | 161 +
code/src/core/vector.cc | 108 +
code/src/core/vector.h | 126 +
code/src/core/waf | 1 +
code/src/core/win32-system-wall-clock-ms.cc | 154 +
code/src/core/wscript | 161 +
.../bridge/examples/csma-bridge-one-hop.cc | 238 +
.../devices/bridge/examples/csma-bridge.cc | 165 +
.../devices/bridge/examples/csma-bridge.py | 151 +
code/src/devices/bridge/examples/wscript | 10 +
.../devices/bridge/helper/bridge-helper.cc | 69 +
.../src/devices/bridge/helper/bridge-helper.h | 80 +
.../devices/bridge/model/bridge-channel.cc | 93 +
.../src/devices/bridge/model/bridge-channel.h | 56 +
.../devices/bridge/model/bridge-net-device.cc | 463 +
.../devices/bridge/model/bridge-net-device.h | 152 +
code/src/devices/bridge/waf | 1 +
code/src/devices/bridge/wscript | 19 +
code/src/devices/csma/backoff.cc | 92 +
code/src/devices/csma/backoff.h | 102 +
code/src/devices/csma/csma-channel.cc | 354 +
code/src/devices/csma/csma-channel.h | 318 +
code/src/devices/csma/csma-net-device.cc | 1006 ++
code/src/devices/csma/csma-net-device.h | 708 +
code/src/devices/csma/csma.h | 331 +
code/src/devices/csma/waf | 1 +
code/src/devices/csma/wscript | 16 +
code/src/devices/emu/emu-encode-decode.cc | 111 +
code/src/devices/emu/emu-encode-decode.h | 33 +
code/src/devices/emu/emu-net-device.cc | 1135 ++
code/src/devices/emu/emu-net-device.h | 533 +
code/src/devices/emu/emu-sock-creator.cc | 246 +
code/src/devices/emu/emu.h | 114 +
code/src/devices/emu/waf | 1 +
code/src/devices/emu/wscript | 48 +
code/src/devices/lte/AUTHORS | 16 +
code/src/devices/lte/examples/lte-amc.cc | 219 +
.../devices/lte/examples/lte-channel-model.cc | 153 +
code/src/devices/lte/examples/lte-device.cc | 182 +
.../lte/examples/lte-multiple-flows.cc | 241 +
.../devices/lte/examples/lte-phy-downlink.cc | 176 +
.../devices/lte/examples/lte-phy-uplink.cc | 172 +
code/src/devices/lte/examples/waf | 1 +
code/src/devices/lte/examples/wscript | 27 +
code/src/devices/lte/helper/lte-helper.cc | 323 +
code/src/devices/lte/helper/lte-helper.h | 142 +
.../lte/model/JakesTraces/multipath_v0_M10.h | 33 +
.../lte/model/JakesTraces/multipath_v0_M12.h | 32 +
.../lte/model/JakesTraces/multipath_v0_M6.h | 32 +
.../lte/model/JakesTraces/multipath_v0_M8.h | 32 +
.../model/JakesTraces/multipath_v120_M10.h | 32 +
.../model/JakesTraces/multipath_v120_M12.h | 32 +
.../lte/model/JakesTraces/multipath_v120_M6.h | 32 +
.../lte/model/JakesTraces/multipath_v120_M8.h | 31 +
.../lte/model/JakesTraces/multipath_v30_M10.h | 31 +
.../lte/model/JakesTraces/multipath_v30_M12.h | 32 +
.../lte/model/JakesTraces/multipath_v30_M6.h | 31 +
.../lte/model/JakesTraces/multipath_v30_M8.h | 32 +
.../lte/model/JakesTraces/multipath_v3_M10.h | 31 +
.../lte/model/JakesTraces/multipath_v3_M12.h | 32 +
.../lte/model/JakesTraces/multipath_v3_M6.h | 32 +
.../lte/model/JakesTraces/multipath_v3_M8.h | 32 +
code/src/devices/lte/model/amc-module.cc | 199 +
code/src/devices/lte/model/amc-module.h | 93 +
.../lte/model/bearer-qos-parameters.cc | 170 +
.../devices/lte/model/bearer-qos-parameters.h | 157 +
.../devices/lte/model/channel-realization.cc | 122 +
.../devices/lte/model/channel-realization.h | 107 +
.../lte/model/discrete-time-loss-model.cc | 100 +
.../lte/model/discrete-time-loss-model.h | 92 +
.../devices/lte/model/enb-lte-spectrum-phy.cc | 94 +
.../devices/lte/model/enb-lte-spectrum-phy.h | 56 +
code/src/devices/lte/model/enb-mac-entity.cc | 150 +
code/src/devices/lte/model/enb-mac-entity.h | 87 +
code/src/devices/lte/model/enb-net-device.cc | 218 +
code/src/devices/lte/model/enb-net-device.h | 138 +
code/src/devices/lte/model/enb-phy.cc | 208 +
code/src/devices/lte/model/enb-phy.h | 105 +
.../lte/model/ideal-control-messages.cc | 154 +
.../lte/model/ideal-control-messages.h | 245 +
.../lte/model/jakes-fading-loss-model.cc | 330 +
.../lte/model/jakes-fading-loss-model.h | 101 +
.../lte/model/jakes-fading-realizations.h | 47 +
code/src/devices/lte/model/lte-mac-header.cc | 109 +
code/src/devices/lte/model/lte-mac-header.h | 74 +
code/src/devices/lte/model/lte-mac-queue.cc | 248 +
code/src/devices/lte/model/lte-mac-queue.h | 156 +
code/src/devices/lte/model/lte-net-device.cc | 406 +
code/src/devices/lte/model/lte-net-device.h | 203 +
code/src/devices/lte/model/lte-phy.cc | 261 +
code/src/devices/lte/model/lte-phy.h | 236 +
.../lte/model/lte-propagation-loss-model.cc | 157 +
.../lte/model/lte-propagation-loss-model.h | 91 +
.../src/devices/lte/model/lte-spectrum-phy.cc | 503 +
code/src/devices/lte/model/lte-spectrum-phy.h | 218 +
.../lte/model/lte-spectrum-value-helper.cc | 152 +
.../lte/model/lte-spectrum-value-helper.h | 74 +
code/src/devices/lte/model/mac-entity.cc | 95 +
code/src/devices/lte/model/mac-entity.h | 79 +
.../src/devices/lte/model/packet-scheduler.cc | 118 +
code/src/devices/lte/model/packet-scheduler.h | 97 +
code/src/devices/lte/model/path-loss-model.cc | 86 +
code/src/devices/lte/model/path-loss-model.h | 65 +
.../lte/model/penetration-loss-model.cc | 74 +
.../lte/model/penetration-loss-model.h | 60 +
.../lte/model/radio-bearer-instance.cc | 199 +
.../devices/lte/model/radio-bearer-instance.h | 170 +
code/src/devices/lte/model/rlc-entity.cc | 116 +
code/src/devices/lte/model/rlc-entity.h | 91 +
code/src/devices/lte/model/rrc-entity.cc | 273 +
code/src/devices/lte/model/rrc-entity.h | 132 +
.../devices/lte/model/shadowing-loss-model.cc | 89 +
.../devices/lte/model/shadowing-loss-model.h | 71 +
.../lte/model/simple-packet-scheduler.cc | 147 +
.../lte/model/simple-packet-scheduler.h | 63 +
.../devices/lte/model/ue-lte-spectrum-phy.cc | 138 +
.../devices/lte/model/ue-lte-spectrum-phy.h | 56 +
code/src/devices/lte/model/ue-mac-entity.cc | 88 +
code/src/devices/lte/model/ue-mac-entity.h | 58 +
code/src/devices/lte/model/ue-manager.cc | 174 +
code/src/devices/lte/model/ue-manager.h | 108 +
code/src/devices/lte/model/ue-net-device.cc | 224 +
code/src/devices/lte/model/ue-net-device.h | 127 +
code/src/devices/lte/model/ue-phy.cc | 224 +
code/src/devices/lte/model/ue-phy.h | 109 +
code/src/devices/lte/model/ue-record.cc | 98 +
code/src/devices/lte/model/ue-record.h | 119 +
code/src/devices/lte/test/lte-bearer-test.cc | 126 +
code/src/devices/lte/test/lte-device-test.cc | 199 +
code/src/devices/lte/test/lte-phy-test.cc | 171 +
.../test/lte-propagation-loss-model-test.cc | 209 +
code/src/devices/lte/wscript | 85 +
.../src/devices/mesh/dot11s/airtime-metric.cc | 101 +
code/src/devices/mesh/dot11s/airtime-metric.h | 64 +
.../devices/mesh/dot11s/dot11s-mac-header.cc | 178 +
.../devices/mesh/dot11s/dot11s-mac-header.h | 78 +
code/src/devices/mesh/dot11s/dot11s.h | 71 +
.../devices/mesh/dot11s/hwmp-protocol-mac.cc | 481 +
.../devices/mesh/dot11s/hwmp-protocol-mac.h | 140 +
code/src/devices/mesh/dot11s/hwmp-protocol.cc | 1170 ++
code/src/devices/mesh/dot11s/hwmp-protocol.h | 274 +
code/src/devices/mesh/dot11s/hwmp-rtable.cc | 243 +
code/src/devices/mesh/dot11s/hwmp-rtable.h | 146 +
code/src/devices/mesh/dot11s/hwmp-tag.cc | 151 +
code/src/devices/mesh/dot11s/hwmp-tag.h | 77 +
.../mesh/dot11s/ie-dot11s-beacon-timing.cc | 223 +
.../mesh/dot11s/ie-dot11s-beacon-timing.h | 115 +
.../mesh/dot11s/ie-dot11s-configuration.cc | 224 +
.../mesh/dot11s/ie-dot11s-configuration.h | 142 +
code/src/devices/mesh/dot11s/ie-dot11s-id.cc | 158 +
code/src/devices/mesh/dot11s/ie-dot11s-id.h | 71 +
.../mesh/dot11s/ie-dot11s-metric-report.cc | 85 +
.../mesh/dot11s/ie-dot11s-metric-report.h | 60 +
.../mesh/dot11s/ie-dot11s-peer-management.cc | 176 +
.../mesh/dot11s/ie-dot11s-peer-management.h | 101 +
.../mesh/dot11s/ie-dot11s-peering-protocol.cc | 65 +
.../mesh/dot11s/ie-dot11s-peering-protocol.h | 49 +
.../src/devices/mesh/dot11s/ie-dot11s-perr.cc | 165 +
code/src/devices/mesh/dot11s/ie-dot11s-perr.h | 63 +
.../src/devices/mesh/dot11s/ie-dot11s-prep.cc | 215 +
code/src/devices/mesh/dot11s/ie-dot11s-prep.h | 87 +
.../src/devices/mesh/dot11s/ie-dot11s-preq.cc | 445 +
code/src/devices/mesh/dot11s/ie-dot11s-preq.h | 160 +
.../src/devices/mesh/dot11s/ie-dot11s-rann.cc | 180 +
code/src/devices/mesh/dot11s/ie-dot11s-rann.h | 78 +
.../devices/mesh/dot11s/peer-link-frame.cc | 236 +
.../src/devices/mesh/dot11s/peer-link-frame.h | 97 +
code/src/devices/mesh/dot11s/peer-link.cc | 706 +
code/src/devices/mesh/dot11s/peer-link.h | 261 +
.../dot11s/peer-management-protocol-mac.cc | 322 +
.../dot11s/peer-management-protocol-mac.h | 135 +
.../mesh/dot11s/peer-management-protocol.cc | 577 +
.../mesh/dot11s/peer-management-protocol.h | 266 +
.../mesh/dot11s/test/dot11s-test-suite.cc | 293 +
.../hwmp-proactive-regression-test-0-1.pcap | Bin 0 -> 8198 bytes
.../hwmp-proactive-regression-test-1-1.pcap | Bin 0 -> 12499 bytes
.../hwmp-proactive-regression-test-2-1.pcap | Bin 0 -> 13760 bytes
.../hwmp-proactive-regression-test-3-1.pcap | Bin 0 -> 12527 bytes
.../hwmp-proactive-regression-test-4-1.pcap | Bin 0 -> 8100 bytes
.../dot11s/test/hwmp-proactive-regression.cc | 146 +
.../dot11s/test/hwmp-proactive-regression.h | 78 +
.../hwmp-reactive-regression-test-0-1.pcap | Bin 0 -> 14384 bytes
.../hwmp-reactive-regression-test-1-1.pcap | Bin 0 -> 20603 bytes
.../hwmp-reactive-regression-test-2-1.pcap | Bin 0 -> 22332 bytes
.../hwmp-reactive-regression-test-3-1.pcap | Bin 0 -> 22322 bytes
.../hwmp-reactive-regression-test-4-1.pcap | Bin 0 -> 20875 bytes
.../hwmp-reactive-regression-test-5-1.pcap | Bin 0 -> 14761 bytes
.../dot11s/test/hwmp-reactive-regression.cc | 156 +
.../dot11s/test/hwmp-reactive-regression.h | 91 +
.../hwmp-simplest-regression-test-0-1.pcap | Bin 0 -> 77039 bytes
.../hwmp-simplest-regression-test-1-1.pcap | Bin 0 -> 80402 bytes
.../dot11s/test/hwmp-simplest-regression.cc | 155 +
.../dot11s/test/hwmp-simplest-regression.h | 89 +
...hwmp-target-flags-regression-test-0-1.pcap | Bin 0 -> 10436 bytes
...hwmp-target-flags-regression-test-1-1.pcap | Bin 0 -> 14980 bytes
...hwmp-target-flags-regression-test-2-1.pcap | Bin 0 -> 13355 bytes
...hwmp-target-flags-regression-test-3-1.pcap | Bin 0 -> 7211 bytes
.../test/hwmp-target-flags-regression.cc | 162 +
.../test/hwmp-target-flags-regression.h | 88 +
.../dot11s/test/pmp-regression-test-0-1.pcap | Bin 0 -> 851 bytes
.../dot11s/test/pmp-regression-test-1-1.pcap | Bin 0 -> 851 bytes
.../mesh/dot11s/test/pmp-regression.cc | 121 +
.../devices/mesh/dot11s/test/pmp-regression.h | 62 +
.../devices/mesh/dot11s/test/regression.cc | 40 +
code/src/devices/mesh/dot11s/waf | 1 +
code/src/devices/mesh/dot11s/wscript | 45 +
code/src/devices/mesh/flame/flame-header.cc | 149 +
code/src/devices/mesh/flame/flame-header.h | 80 +
.../devices/mesh/flame/flame-protocol-mac.cc | 130 +
.../devices/mesh/flame/flame-protocol-mac.h | 80 +
code/src/devices/mesh/flame/flame-protocol.cc | 387 +
code/src/devices/mesh/flame/flame-protocol.h | 158 +
code/src/devices/mesh/flame/flame-rtable.cc | 113 +
code/src/devices/mesh/flame/flame-rtable.h | 106 +
.../devices/mesh/flame/flame-test-suite.cc | 158 +
.../flame/test/flame-regression-test-0-1.pcap | Bin 0 -> 4996 bytes
.../flame/test/flame-regression-test-1-1.pcap | Bin 0 -> 7192 bytes
.../flame/test/flame-regression-test-2-1.pcap | Bin 0 -> 5274 bytes
.../mesh/flame/test/flame-regression.cc | 149 +
.../mesh/flame/test/flame-regression.h | 77 +
.../src/devices/mesh/flame/test/regression.cc | 32 +
code/src/devices/mesh/flame/wscript | 18 +
.../mesh/mesh-information-element-vector.cc | 220 +
.../mesh/mesh-information-element-vector.h | 38 +
.../devices/mesh/mesh-information-element.h | 58 +
.../devices/mesh/mesh-l2-routing-protocol.cc | 57 +
.../devices/mesh/mesh-l2-routing-protocol.h | 126 +
code/src/devices/mesh/mesh-point-device.cc | 472 +
code/src/devices/mesh/mesh-point-device.h | 185 +
code/src/devices/mesh/mesh-wifi-beacon.cc | 67 +
code/src/devices/mesh/mesh-wifi-beacon.h | 76 +
.../mesh/mesh-wifi-interface-mac-plugin.h | 71 +
.../devices/mesh/mesh-wifi-interface-mac.cc | 539 +
.../devices/mesh/mesh-wifi-interface-mac.h | 192 +
code/src/devices/mesh/mesh.h | 104 +
code/src/devices/mesh/waf | 1 +
code/src/devices/mesh/wscript | 23 +
.../point-to-point/point-to-point-channel.cc | 153 +
.../point-to-point/point-to-point-channel.h | 168 +
.../point-to-point-net-device.cc | 621 +
.../point-to-point-net-device.h | 460 +
.../point-to-point-remote-channel.cc | 80 +
.../point-to-point-remote-channel.h | 44 +
.../point-to-point/point-to-point-test.cc | 74 +
.../devices/point-to-point/point-to-point.h | 133 +
code/src/devices/point-to-point/ppp-header.cc | 107 +
code/src/devices/point-to-point/ppp-header.h | 97 +
code/src/devices/point-to-point/waf | 1 +
code/src/devices/point-to-point/wscript | 21 +
.../spectrum/aloha-noack-mac-header.cc | 110 +
.../devices/spectrum/aloha-noack-mac-header.h | 55 +
.../spectrum/aloha-noack-net-device.cc | 495 +
.../devices/spectrum/aloha-noack-net-device.h | 227 +
.../devices/spectrum/half-duplex-ideal-phy.cc | 431 +
.../devices/spectrum/half-duplex-ideal-phy.h | 235 +
.../microwave-oven-spectrum-value-helper.cc | 165 +
.../microwave-oven-spectrum-value-helper.h | 67 +
.../spectrum/multi-model-spectrum-channel.cc | 353 +
.../spectrum/multi-model-spectrum-channel.h | 183 +
.../spectrum/non-communicating-net-device.cc | 269 +
.../spectrum/non-communicating-net-device.h | 137 +
.../spectrum/single-model-spectrum-channel.cc | 215 +
.../spectrum/single-model-spectrum-channel.h | 116 +
.../src/devices/spectrum/spectrum-analyzer.cc | 238 +
code/src/devices/spectrum/spectrum-analyzer.h | 123 +
.../devices/spectrum/spectrum-error-model.cc | 82 +
.../devices/spectrum/spectrum-error-model.h | 98 +
.../spectrum/spectrum-interference-test.cc | 220 +
.../devices/spectrum/spectrum-interference.cc | 145 +
.../devices/spectrum/spectrum-interference.h | 141 +
.../spectrum-model-300kHz-300GHz-log.cc | 51 +
.../spectrum-model-300kHz-300GHz-log.h | 38 +
.../spectrum-model-ism2400MHz-res1MHz.cc | 53 +
.../spectrum-model-ism2400MHz-res1MHz.h | 39 +
.../devices/spectrum/waveform-generator.cc | 228 +
.../src/devices/spectrum/waveform-generator.h | 158 +
.../spectrum/wifi-spectrum-value-helper.cc | 117 +
.../spectrum/wifi-spectrum-value-helper.h | 95 +
code/src/devices/spectrum/wscript | 43 +
code/src/devices/tap-bridge/tap-bridge.cc | 1189 ++
code/src/devices/tap-bridge/tap-bridge.h | 477 +
code/src/devices/tap-bridge/tap-creator.cc | 477 +
.../devices/tap-bridge/tap-encode-decode.cc | 111 +
.../devices/tap-bridge/tap-encode-decode.h | 33 +
code/src/devices/tap-bridge/tap.h | 406 +
code/src/devices/tap-bridge/waf | 1 +
code/src/devices/tap-bridge/wscript | 50 +
code/src/devices/uan/doc/uan.h | 204 +
.../devices/uan/examples/uan-cw-example.cc | 324 +
.../src/devices/uan/examples/uan-cw-example.h | 69 +
.../devices/uan/examples/uan-rc-example.cc | 305 +
.../src/devices/uan/examples/uan-rc-example.h | 66 +
code/src/devices/uan/examples/wscript | 8 +
.../acoustic-modem-energy-model-helper.cc | 93 +
.../acoustic-modem-energy-model-helper.h | 81 +
code/src/devices/uan/helper/uan-helper.cc | 236 +
code/src/devices/uan/helper/uan-helper.h | 232 +
.../uan/model/acoustic-modem-energy-model.cc | 335 +
.../uan/model/acoustic-modem-energy-model.h | 229 +
code/src/devices/uan/model/uan-address.cc | 139 +
code/src/devices/uan/model/uan-address.h | 129 +
code/src/devices/uan/model/uan-channel.cc | 219 +
code/src/devices/uan/model/uan-channel.h | 115 +
.../devices/uan/model/uan-header-common.cc | 131 +
.../src/devices/uan/model/uan-header-common.h | 96 +
code/src/devices/uan/model/uan-header-rc.cc | 629 +
code/src/devices/uan/model/uan-header-rc.h | 375 +
code/src/devices/uan/model/uan-mac-aloha.cc | 153 +
code/src/devices/uan/model/uan-mac-aloha.h | 85 +
code/src/devices/uan/model/uan-mac-cw.cc | 387 +
code/src/devices/uan/model/uan-mac-cw.h | 129 +
code/src/devices/uan/model/uan-mac-rc-gw.cc | 735 ++
code/src/devices/uan/model/uan-mac-rc-gw.h | 167 +
code/src/devices/uan/model/uan-mac-rc.cc | 772 ++
code/src/devices/uan/model/uan-mac-rc.h | 217 +
code/src/devices/uan/model/uan-mac.h | 96 +
code/src/devices/uan/model/uan-net-device.cc | 393 +
code/src/devices/uan/model/uan-net-device.h | 151 +
.../uan/model/uan-noise-model-default.cc | 80 +
.../uan/model/uan-noise-model-default.h | 66 +
code/src/devices/uan/model/uan-noise-model.cc | 39 +
code/src/devices/uan/model/uan-noise-model.h | 47 +
code/src/devices/uan/model/uan-phy-dual.cc | 666 +
code/src/devices/uan/model/uan-phy-dual.h | 282 +
code/src/devices/uan/model/uan-phy-gen.cc | 954 ++
code/src/devices/uan/model/uan-phy-gen.h | 264 +
code/src/devices/uan/model/uan-phy.cc | 49 +
code/src/devices/uan/model/uan-phy.h | 381 +
.../devices/uan/model/uan-prop-model-ideal.cc | 67 +
.../devices/uan/model/uan-prop-model-ideal.h | 50 +
.../devices/uan/model/uan-prop-model-thorp.cc | 95 +
.../devices/uan/model/uan-prop-model-thorp.h | 54 +
code/src/devices/uan/model/uan-prop-model.cc | 351 +
code/src/devices/uan/model/uan-prop-model.h | 254 +
.../devices/uan/model/uan-transducer-hd.cc | 243 +
.../src/devices/uan/model/uan-transducer-hd.h | 72 +
code/src/devices/uan/model/uan-transducer.h | 198 +
code/src/devices/uan/model/uan-tx-mode.cc | 305 +
code/src/devices/uan/model/uan-tx-mode.h | 208 +
.../devices/uan/test/uan-energy-model-test.cc | 316 +
code/src/devices/uan/test/uan-test.cc | 269 +
code/src/devices/uan/wscript | 61 +
.../examples/virtual-net-device.cc | 301 +
.../virtual-net-device/examples/wscript | 8 +
.../model/virtual-net-device.cc | 306 +
.../model/virtual-net-device.h | 169 +
code/src/devices/virtual-net-device/waf | 1 +
code/src/devices/virtual-net-device/wscript | 16 +
code/src/devices/wifi/aarf-wifi-manager.cc | 224 +
code/src/devices/wifi/aarf-wifi-manager.h | 68 +
code/src/devices/wifi/aarfcd-wifi-manager.cc | 357 +
code/src/devices/wifi/aarfcd-wifi-manager.h | 86 +
code/src/devices/wifi/adhoc-wifi-mac.cc | 191 +
code/src/devices/wifi/adhoc-wifi-mac.h | 65 +
code/src/devices/wifi/amrr-wifi-manager.cc | 311 +
code/src/devices/wifi/amrr-wifi-manager.h | 82 +
.../src/devices/wifi/amsdu-subframe-header.cc | 116 +
code/src/devices/wifi/amsdu-subframe-header.h | 57 +
code/src/devices/wifi/ap-wifi-mac.cc | 578 +
code/src/devices/wifi/ap-wifi-mac.h | 133 +
code/src/devices/wifi/arf-wifi-manager.cc | 196 +
code/src/devices/wifi/arf-wifi-manager.h | 71 +
code/src/devices/wifi/block-ack-agreement.cc | 120 +
code/src/devices/wifi/block-ack-agreement.h | 68 +
code/src/devices/wifi/block-ack-cache.cc | 134 +
code/src/devices/wifi/block-ack-cache.h | 52 +
code/src/devices/wifi/block-ack-manager.cc | 641 +
code/src/devices/wifi/block-ack-manager.h | 312 +
code/src/devices/wifi/block-ack-test-suite.cc | 278 +
.../devices/wifi/capability-information.cc | 93 +
.../src/devices/wifi/capability-information.h | 51 +
code/src/devices/wifi/cara-wifi-manager.cc | 180 +
code/src/devices/wifi/cara-wifi-manager.h | 71 +
.../wifi/constant-rate-wifi-manager.cc | 106 +
.../devices/wifi/constant-rate-wifi-manager.h | 67 +
code/src/devices/wifi/ctrl-headers.cc | 716 +
code/src/devices/wifi/ctrl-headers.h | 167 +
code/src/devices/wifi/dca-txop.cc | 603 +
code/src/devices/wifi/dca-txop.h | 177 +
code/src/devices/wifi/dcf-manager-test.cc | 684 +
code/src/devices/wifi/dcf-manager.cc | 733 ++
code/src/devices/wifi/dcf-manager.h | 334 +
code/src/devices/wifi/dcf.cc | 51 +
code/src/devices/wifi/dcf.h | 43 +
.../src/devices/wifi/dsss-error-rate-model.cc | 167 +
code/src/devices/wifi/dsss-error-rate-model.h | 86 +
code/src/devices/wifi/edca-txop-n.cc | 1100 ++
code/src/devices/wifi/edca-txop-n.h | 232 +
code/src/devices/wifi/error-rate-model.cc | 58 +
code/src/devices/wifi/error-rate-model.h | 47 +
code/src/devices/wifi/ideal-wifi-manager.cc | 179 +
code/src/devices/wifi/ideal-wifi-manager.h | 85 +
.../interference-helper-tx-duration-test.cc | 199 +
code/src/devices/wifi/interference-helper.cc | 588 +
code/src/devices/wifi/interference-helper.h | 135 +
code/src/devices/wifi/mac-low.cc | 1814 +++
code/src/devices/wifi/mac-low.h | 651 +
code/src/devices/wifi/mac-rx-middle.cc | 280 +
code/src/devices/wifi/mac-rx-middle.h | 65 +
code/src/devices/wifi/mac-tx-middle.cc | 93 +
code/src/devices/wifi/mac-tx-middle.h | 49 +
code/src/devices/wifi/mgt-headers.cc | 1010 ++
code/src/devices/wifi/mgt-headers.h | 341 +
.../src/devices/wifi/minstrel-wifi-manager.cc | 794 ++
code/src/devices/wifi/minstrel-wifi-manager.h | 164 +
code/src/devices/wifi/msdu-aggregator.cc | 76 +
code/src/devices/wifi/msdu-aggregator.h | 56 +
.../devices/wifi/msdu-standard-aggregator.cc | 88 +
.../devices/wifi/msdu-standard-aggregator.h | 57 +
.../src/devices/wifi/nist-error-rate-model.cc | 282 +
code/src/devices/wifi/nist-error-rate-model.h | 64 +
code/src/devices/wifi/onoe-wifi-manager.cc | 260 +
code/src/devices/wifi/onoe-wifi-manager.h | 73 +
.../wifi/originator-block-ack-agreement.cc | 93 +
.../wifi/originator-block-ack-agreement.h | 117 +
.../devices/wifi/qos-blocked-destinations.cc | 66 +
.../devices/wifi/qos-blocked-destinations.h | 48 +
code/src/devices/wifi/qos-tag.cc | 97 +
code/src/devices/wifi/qos-tag.h | 108 +
code/src/devices/wifi/qos-utils.cc | 93 +
code/src/devices/wifi/qos-utils.h | 102 +
code/src/devices/wifi/random-stream.cc | 56 +
code/src/devices/wifi/random-stream.h | 60 +
code/src/devices/wifi/regular-wifi-mac.cc | 692 +
code/src/devices/wifi/regular-wifi-mac.h | 342 +
code/src/devices/wifi/rraa-wifi-manager.cc | 432 +
code/src/devices/wifi/rraa-wifi-manager.h | 111 +
code/src/devices/wifi/ssid.cc | 148 +
code/src/devices/wifi/ssid.h | 70 +
code/src/devices/wifi/sta-wifi-mac.cc | 561 +
code/src/devices/wifi/sta-wifi-mac.h | 120 +
code/src/devices/wifi/status-code.cc | 77 +
code/src/devices/wifi/status-code.h | 48 +
code/src/devices/wifi/supported-rates.cc | 237 +
code/src/devices/wifi/supported-rates.h | 126 +
code/src/devices/wifi/waf | 1 +
code/src/devices/wifi/wifi-channel.cc | 49 +
code/src/devices/wifi/wifi-channel.h | 51 +
.../wifi/wifi-information-element-vector.cc | 191 +
.../wifi/wifi-information-element-vector.h | 99 +
.../devices/wifi/wifi-information-element.cc | 109 +
.../devices/wifi/wifi-information-element.h | 186 +
code/src/devices/wifi/wifi-mac-header.cc | 1126 ++
code/src/devices/wifi/wifi-mac-header.h | 223 +
code/src/devices/wifi/wifi-mac-queue.cc | 343 +
code/src/devices/wifi/wifi-mac-queue.h | 150 +
code/src/devices/wifi/wifi-mac-trailer.cc | 68 +
code/src/devices/wifi/wifi-mac-trailer.h | 49 +
code/src/devices/wifi/wifi-mac.cc | 444 +
code/src/devices/wifi/wifi-mac.h | 300 +
code/src/devices/wifi/wifi-mode.cc | 253 +
code/src/devices/wifi/wifi-mode.h | 240 +
code/src/devices/wifi/wifi-net-device.cc | 369 +
code/src/devices/wifi/wifi-net-device.h | 138 +
code/src/devices/wifi/wifi-phy-standard.h | 50 +
.../src/devices/wifi/wifi-phy-state-helper.cc | 412 +
code/src/devices/wifi/wifi-phy-state-helper.h | 94 +
code/src/devices/wifi/wifi-phy-test.cc | 451 +
code/src/devices/wifi/wifi-phy.cc | 696 +
code/src/devices/wifi/wifi-phy.h | 500 +
code/src/devices/wifi/wifi-preamble.h | 32 +
.../wifi/wifi-remote-station-manager.cc | 848 ++
.../wifi/wifi-remote-station-manager.h | 495 +
code/src/devices/wifi/wifi-test.cc | 308 +
code/src/devices/wifi/wifi.h | 176 +
code/src/devices/wifi/wscript | 133 +
.../src/devices/wifi/yans-error-rate-model.cc | 299 +
code/src/devices/wifi/yans-error-rate-model.h | 85 +
code/src/devices/wifi/yans-wifi-channel.cc | 138 +
code/src/devices/wifi/yans-wifi-channel.h | 100 +
code/src/devices/wifi/yans-wifi-phy.cc | 803 ++
code/src/devices/wifi/yans-wifi-phy.h | 229 +
code/src/devices/wimax/AUTHORS | 54 +
code/src/devices/wimax/bandwidth-manager.cc | 226 +
code/src/devices/wimax/bandwidth-manager.h | 76 +
code/src/devices/wimax/bs-link-manager.cc | 361 +
code/src/devices/wimax/bs-link-manager.h | 89 +
code/src/devices/wimax/bs-net-device.cc | 1222 ++
code/src/devices/wimax/bs-net-device.h | 363 +
code/src/devices/wimax/bs-scheduler-rtps.cc | 731 ++
code/src/devices/wimax/bs-scheduler-rtps.h | 204 +
code/src/devices/wimax/bs-scheduler-simple.cc | 363 +
code/src/devices/wimax/bs-scheduler-simple.h | 93 +
code/src/devices/wimax/bs-scheduler.cc | 119 +
code/src/devices/wimax/bs-scheduler.h | 111 +
.../devices/wimax/bs-service-flow-manager.cc | 256 +
.../devices/wimax/bs-service-flow-manager.h | 107 +
.../wimax/bs-uplink-scheduler-mbqos.cc | 1166 ++
.../devices/wimax/bs-uplink-scheduler-mbqos.h | 219 +
.../devices/wimax/bs-uplink-scheduler-rtps.cc | 715 +
.../devices/wimax/bs-uplink-scheduler-rtps.h | 129 +
.../wimax/bs-uplink-scheduler-simple.cc | 584 +
.../wimax/bs-uplink-scheduler-simple.h | 93 +
code/src/devices/wimax/bs-uplink-scheduler.cc | 173 +
code/src/devices/wimax/bs-uplink-scheduler.h | 122 +
.../devices/wimax/burst-profile-manager.cc | 165 +
.../src/devices/wimax/burst-profile-manager.h | 77 +
code/src/devices/wimax/bvec.h | 28 +
code/src/devices/wimax/cid-factory.cc | 127 +
code/src/devices/wimax/cid-factory.h | 95 +
code/src/devices/wimax/cid.cc | 105 +
code/src/devices/wimax/cid.h | 96 +
code/src/devices/wimax/connection-manager.cc | 250 +
code/src/devices/wimax/connection-manager.h | 93 +
code/src/devices/wimax/crc8.cc | 68 +
code/src/devices/wimax/crc8.h | 37 +
code/src/devices/wimax/cs-parameters.cc | 95 +
code/src/devices/wimax/cs-parameters.h | 76 +
code/src/devices/wimax/default-traces.h | 834 ++
code/src/devices/wimax/dl-mac-messages.cc | 681 +
code/src/devices/wimax/dl-mac-messages.h | 354 +
.../devices/wimax/ipcs-classifier-record.cc | 353 +
.../devices/wimax/ipcs-classifier-record.h | 168 +
code/src/devices/wimax/ipcs-classifier.cc | 93 +
code/src/devices/wimax/ipcs-classifier.h | 50 +
code/src/devices/wimax/mac-messages-test.cc | 151 +
code/src/devices/wimax/mac-messages.cc | 859 ++
code/src/devices/wimax/mac-messages.h | 496 +
.../wimax/ofdm-downlink-frame-prefix.cc | 284 +
.../wimax/ofdm-downlink-frame-prefix.h | 115 +
code/src/devices/wimax/phy-test.cc | 189 +
code/src/devices/wimax/qos-test.cc | 296 +
code/src/devices/wimax/send-params.cc | 49 +
code/src/devices/wimax/send-params.h | 96 +
.../src/devices/wimax/service-flow-manager.cc | 181 +
code/src/devices/wimax/service-flow-manager.h | 104 +
code/src/devices/wimax/service-flow-record.cc | 275 +
code/src/devices/wimax/service-flow-record.h | 179 +
code/src/devices/wimax/service-flow.cc | 849 ++
code/src/devices/wimax/service-flow.h | 241 +
.../devices/wimax/simple-ofdm-send-param.cc | 156 +
.../devices/wimax/simple-ofdm-send-param.h | 120 +
.../wimax/simple-ofdm-wimax-channel.cc | 206 +
.../devices/wimax/simple-ofdm-wimax-channel.h | 92 +
.../devices/wimax/simple-ofdm-wimax-phy.cc | 1094 ++
.../src/devices/wimax/simple-ofdm-wimax-phy.h | 309 +
.../wimax/snr-to-block-error-rate-manager.cc | 371 +
.../wimax/snr-to-block-error-rate-manager.h | 103 +
.../wimax/snr-to-block-error-rate-record.cc | 116 +
.../wimax/snr-to-block-error-rate-record.h | 112 +
code/src/devices/wimax/ss-link-manager.cc | 494 +
code/src/devices/wimax/ss-link-manager.h | 115 +
code/src/devices/wimax/ss-mac-test.cc | 176 +
code/src/devices/wimax/ss-manager.cc | 178 +
code/src/devices/wimax/ss-manager.h | 65 +
code/src/devices/wimax/ss-net-device.cc | 1279 ++
code/src/devices/wimax/ss-net-device.h | 397 +
code/src/devices/wimax/ss-record.cc | 347 +
code/src/devices/wimax/ss-record.h | 131 +
code/src/devices/wimax/ss-scheduler.cc | 245 +
code/src/devices/wimax/ss-scheduler.h | 72 +
.../devices/wimax/ss-service-flow-manager.cc | 232 +
.../devices/wimax/ss-service-flow-manager.h | 113 +
code/src/devices/wimax/ul-job.cc | 168 +
code/src/devices/wimax/ul-job.h | 180 +
code/src/devices/wimax/ul-mac-messages.cc | 715 +
code/src/devices/wimax/ul-mac-messages.h | 352 +
code/src/devices/wimax/wimax-channel.cc | 56 +
code/src/devices/wimax/wimax-channel.h | 63 +
code/src/devices/wimax/wimax-connection.cc | 199 +
code/src/devices/wimax/wimax-connection.h | 123 +
.../devices/wimax/wimax-fragmentation-test.cc | 197 +
code/src/devices/wimax/wimax-mac-header.cc | 661 +
code/src/devices/wimax/wimax-mac-header.h | 293 +
code/src/devices/wimax/wimax-mac-queue.cc | 656 +
code/src/devices/wimax/wimax-mac-queue.h | 172 +
.../devices/wimax/wimax-mac-to-mac-header.cc | 146 +
.../devices/wimax/wimax-mac-to-mac-header.h | 51 +
code/src/devices/wimax/wimax-net-device.cc | 643 +
code/src/devices/wimax/wimax-net-device.h | 277 +
code/src/devices/wimax/wimax-phy.cc | 429 +
code/src/devices/wimax/wimax-phy.h | 352 +
.../devices/wimax/wimax-service-flow-test.cc | 172 +
code/src/devices/wimax/wimax-tlv-test.cc | 234 +
code/src/devices/wimax/wimax-tlv.cc | 1086 ++
code/src/devices/wimax/wimax-tlv.h | 347 +
code/src/devices/wimax/wimax.h | 297 +
code/src/devices/wimax/wscript | 107 +
.../adhoc-aloha-noack-ideal-phy-helper.cc | 157 +
.../adhoc-aloha-noack-ideal-phy-helper.h | 124 +
code/src/helper/animation-interface.cc | 202 +
code/src/helper/animation-interface.h | 112 +
code/src/helper/aodv-helper.cc | 55 +
code/src/helper/aodv-helper.h | 70 +
code/src/helper/application-container.cc | 102 +
code/src/helper/application-container.h | 217 +
code/src/helper/athstats-helper.cc | 309 +
code/src/helper/athstats-helper.h | 230 +
code/src/helper/bulk-send-helper.cc | 78 +
code/src/helper/bulk-send-helper.h | 111 +
code/src/helper/canvas-location.cc | 60 +
code/src/helper/canvas-location.h | 61 +
code/src/helper/csma-helper.cc | 297 +
code/src/helper/csma-helper.h | 238 +
code/src/helper/csma-star-helper.cc | 110 +
code/src/helper/csma-star-helper.h | 123 +
code/src/helper/dot11s-installer.cc | 125 +
code/src/helper/dot11s-installer.h | 78 +
code/src/helper/emu-helper.cc | 244 +
code/src/helper/emu-helper.h | 154 +
code/src/helper/flame-installer.cc | 73 +
code/src/helper/flame-installer.h | 79 +
code/src/helper/internet-stack-helper.cc | 961 ++
code/src/helper/internet-stack-helper.h | 284 +
code/src/helper/ipv4-address-helper.cc | 359 +
code/src/helper/ipv4-address-helper.h | 194 +
code/src/helper/ipv4-interface-container.cc | 75 +
code/src/helper/ipv4-interface-container.h | 180 +
code/src/helper/ipv4-nix-vector-helper.cc | 50 +
code/src/helper/ipv4-nix-vector-helper.h | 80 +
code/src/helper/ipv4-routing-helper.cc | 83 +
code/src/helper/ipv4-routing-helper.h | 118 +
code/src/helper/ipv6-address-helper.cc | 167 +
code/src/helper/ipv6-address-helper.h | 99 +
code/src/helper/ipv6-interface-container.cc | 121 +
code/src/helper/ipv6-interface-container.h | 174 +
code/src/helper/ipv6-routing-helper.cc | 28 +
code/src/helper/ipv6-routing-helper.h | 70 +
code/src/helper/mesh-helper.cc | 211 +
code/src/helper/mesh-helper.h | 213 +
code/src/helper/mesh-stack-installer.h | 46 +
code/src/helper/mobility-helper.cc | 248 +
code/src/helper/mobility-helper.h | 262 +
code/src/helper/net-device-container.cc | 85 +
code/src/helper/net-device-container.h | 203 +
code/src/helper/node-container.cc | 138 +
code/src/helper/node-container.h | 296 +
code/src/helper/nqos-wifi-mac-helper.cc | 78 +
code/src/helper/nqos-wifi-mac-helper.h | 98 +
code/src/helper/ns2-mobility-helper.cc | 1030 ++
code/src/helper/ns2-mobility-helper.h | 136 +
code/src/helper/on-off-helper.cc | 75 +
code/src/helper/on-off-helper.h | 107 +
code/src/helper/packet-sink-helper.cc | 75 +
code/src/helper/packet-sink-helper.h | 92 +
code/src/helper/packet-socket-helper.cc | 50 +
code/src/helper/packet-socket-helper.h | 62 +
code/src/helper/ping6-helper.cc | 78 +
code/src/helper/ping6-helper.h | 117 +
.../helper/point-to-point-dumbbell-helper.cc | 267 +
.../helper/point-to-point-dumbbell-helper.h | 160 +
code/src/helper/point-to-point-grid-helper.cc | 216 +
code/src/helper/point-to-point-grid-helper.h | 125 +
code/src/helper/point-to-point-helper.cc | 292 +
code/src/helper/point-to-point-helper.h | 188 +
code/src/helper/point-to-point-star-helper.cc | 159 +
code/src/helper/point-to-point-star-helper.h | 122 +
code/src/helper/qos-wifi-mac-helper.cc | 153 +
code/src/helper/qos-wifi-mac-helper.h | 157 +
code/src/helper/spectrum-analyzer-helper.cc | 200 +
code/src/helper/spectrum-analyzer-helper.h | 120 +
code/src/helper/spectrum-helper.cc | 202 +
code/src/helper/spectrum-helper.h | 224 +
code/src/helper/tap-bridge-helper.cc | 95 +
code/src/helper/tap-bridge-helper.h | 135 +
code/src/helper/topology-reader-helper.cc | 86 +
code/src/helper/topology-reader-helper.h | 66 +
code/src/helper/trace-helper.cc | 1165 ++
code/src/helper/trace-helper.h | 1225 ++
code/src/helper/udp-client-server-helper.cc | 127 +
code/src/helper/udp-client-server-helper.h | 178 +
code/src/helper/udp-echo-helper.cc | 143 +
code/src/helper/udp-echo-helper.h | 209 +
code/src/helper/v4ping-helper.cc | 73 +
code/src/helper/v4ping-helper.h | 74 +
code/src/helper/waf | 1 +
code/src/helper/waveform-generator-helper.cc | 134 +
code/src/helper/waveform-generator-helper.h | 113 +
code/src/helper/wifi-helper.cc | 166 +
code/src/helper/wifi-helper.h | 181 +
code/src/helper/wimax-helper.cc | 594 +
code/src/helper/wimax-helper.h | 292 +
code/src/helper/wscript | 124 +
code/src/helper/yans-wifi-helper.cc | 508 +
code/src/helper/yans-wifi-helper.h | 281 +
code/src/internet-stack/arp-cache.cc | 422 +
code/src/internet-stack/arp-cache.h | 238 +
code/src/internet-stack/arp-header.cc | 175 +
code/src/internet-stack/arp-header.h | 72 +
code/src/internet-stack/arp-l3-protocol.cc | 347 +
code/src/internet-stack/arp-l3-protocol.h | 101 +
code/src/internet-stack/icmpv4-l4-protocol.cc | 267 +
code/src/internet-stack/icmpv4-l4-protocol.h | 74 +
code/src/internet-stack/icmpv4.cc | 446 +
code/src/internet-stack/icmpv4.h | 159 +
code/src/internet-stack/icmpv6-header.cc | 1790 +++
code/src/internet-stack/icmpv6-header.h | 1785 +++
code/src/internet-stack/icmpv6-l4-protocol.cc | 1247 ++
code/src/internet-stack/icmpv6-l4-protocol.h | 485 +
.../internet-stack/ipv4-end-point-demux.cc | 372 +
.../src/internet-stack/ipv4-end-point-demux.h | 85 +
code/src/internet-stack/ipv4-end-point.cc | 146 +
code/src/internet-stack/ipv4-end-point.h | 97 +
code/src/internet-stack/ipv4-interface.cc | 343 +
code/src/internet-stack/ipv4-interface.h | 174 +
code/src/internet-stack/ipv4-l3-protocol.cc | 1058 ++
code/src/internet-stack/ipv4-l3-protocol.h | 281 +
code/src/internet-stack/ipv4-l4-protocol.cc | 54 +
code/src/internet-stack/ipv4-l4-protocol.h | 113 +
.../ipv4-raw-socket-factory-impl.cc | 36 +
.../ipv4-raw-socket-factory-impl.h | 37 +
.../internet-stack/ipv4-raw-socket-impl.cc | 361 +
.../src/internet-stack/ipv4-raw-socket-impl.h | 73 +
code/src/internet-stack/ipv4-raw-test.cc | 326 +
code/src/internet-stack/ipv4-test.cc | 112 +
.../ipv6-autoconfigured-prefix.cc | 201 +
.../ipv6-autoconfigured-prefix.h | 280 +
.../internet-stack/ipv6-end-point-demux.cc | 318 +
.../src/internet-stack/ipv6-end-point-demux.h | 161 +
code/src/internet-stack/ipv6-end-point.cc | 129 +
code/src/internet-stack/ipv6-end-point.h | 194 +
.../internet-stack/ipv6-extension-demux.cc | 93 +
.../src/internet-stack/ipv6-extension-demux.h | 105 +
.../ipv6-extension-header-test-suite.cc | 234 +
.../internet-stack/ipv6-extension-header.cc | 681 +
.../internet-stack/ipv6-extension-header.h | 733 ++
code/src/internet-stack/ipv6-extension.cc | 988 ++
code/src/internet-stack/ipv6-extension.h | 628 +
code/src/internet-stack/ipv6-interface.cc | 454 +
code/src/internet-stack/ipv6-interface.h | 321 +
code/src/internet-stack/ipv6-l3-protocol.cc | 1105 ++
code/src/internet-stack/ipv6-l3-protocol.h | 520 +
code/src/internet-stack/ipv6-l4-protocol.cc | 53 +
code/src/internet-stack/ipv6-l4-protocol.h | 109 +
code/src/internet-stack/ipv6-option-demux.cc | 93 +
code/src/internet-stack/ipv6-option-demux.h | 105 +
code/src/internet-stack/ipv6-option-header.cc | 373 +
code/src/internet-stack/ipv6-option-header.h | 425 +
code/src/internet-stack/ipv6-option.cc | 234 +
code/src/internet-stack/ipv6-option.h | 286 +
.../ipv6-raw-socket-factory-impl.cc | 37 +
.../ipv6-raw-socket-factory-impl.h | 45 +
.../internet-stack/ipv6-raw-socket-impl.cc | 374 +
.../src/internet-stack/ipv6-raw-socket-impl.h | 264 +
code/src/internet-stack/ipv6-test.cc | 150 +
.../src/internet-stack/loopback-net-device.cc | 243 +
code/src/internet-stack/loopback-net-device.h | 86 +
code/src/internet-stack/ndisc-cache.cc | 521 +
code/src/internet-stack/ndisc-cache.h | 459 +
code/src/internet-stack/nsc-sysctl.cc | 156 +
code/src/internet-stack/nsc-sysctl.h | 44 +
.../src/internet-stack/nsc-tcp-l4-protocol.cc | 471 +
code/src/internet-stack/nsc-tcp-l4-protocol.h | 131 +
.../nsc-tcp-socket-factory-impl.cc | 50 +
.../nsc-tcp-socket-factory-impl.h | 62 +
.../src/internet-stack/nsc-tcp-socket-impl.cc | 860 ++
code/src/internet-stack/nsc-tcp-socket-impl.h | 185 +
code/src/internet-stack/pending-data.cc | 255 +
code/src/internet-stack/pending-data.h | 118 +
code/src/internet-stack/rtt-estimator.cc | 248 +
code/src/internet-stack/rtt-estimator.h | 118 +
code/src/internet-stack/sim_errno.h | 35 +
code/src/internet-stack/sim_interface.h | 200 +
code/src/internet-stack/tcp-header.cc | 255 +
code/src/internet-stack/tcp-header.h | 174 +
code/src/internet-stack/tcp-l4-protocol.cc | 406 +
code/src/internet-stack/tcp-l4-protocol.h | 135 +
code/src/internet-stack/tcp-newreno.cc | 236 +
code/src/internet-stack/tcp-newreno.h | 77 +
code/src/internet-stack/tcp-reno.cc | 227 +
code/src/internet-stack/tcp-reno.h | 78 +
code/src/internet-stack/tcp-rfc793.cc | 91 +
code/src/internet-stack/tcp-rfc793.h | 61 +
code/src/internet-stack/tcp-rx-buffer.cc | 264 +
code/src/internet-stack/tcp-rx-buffer.h | 89 +
code/src/internet-stack/tcp-socket-base.cc | 1759 +++
code/src/internet-stack/tcp-socket-base.h | 222 +
.../internet-stack/tcp-socket-factory-impl.cc | 54 +
.../internet-stack/tcp-socket-factory-impl.h | 61 +
code/src/internet-stack/tcp-tahoe.cc | 205 +
code/src/internet-stack/tcp-tahoe.h | 81 +
code/src/internet-stack/tcp-test.cc | 347 +
code/src/internet-stack/tcp-tx-buffer.cc | 250 +
code/src/internet-stack/tcp-tx-buffer.h | 121 +
code/src/internet-stack/udp-header.cc | 179 +
code/src/internet-stack/udp-header.h | 114 +
code/src/internet-stack/udp-l4-protocol.cc | 315 +
code/src/internet-stack/udp-l4-protocol.h | 135 +
.../internet-stack/udp-socket-factory-impl.cc | 54 +
.../internet-stack/udp-socket-factory-impl.h | 79 +
code/src/internet-stack/udp-socket-impl.cc | 759 ++
code/src/internet-stack/udp-socket-impl.h | 143 +
code/src/internet-stack/udp-test.cc | 327 +
code/src/internet-stack/waf | 1 +
code/src/internet-stack/wscript | 183 +
code/src/mobility/box.cc | 169 +
code/src/mobility/box.h | 114 +
.../constant-acceleration-mobility-model.cc | 79 +
.../constant-acceleration-mobility-model.h | 56 +
.../constant-position-mobility-model.cc | 58 +
.../constant-position-mobility-model.h | 52 +
code/src/mobility/constant-velocity-helper.cc | 117 +
code/src/mobility/constant-velocity-helper.h | 63 +
.../constant-velocity-mobility-model.cc | 69 +
.../constant-velocity-mobility-model.h | 63 +
.../mobility/gauss-markov-mobility-model.cc | 222 +
.../mobility/gauss-markov-mobility-model.h | 113 +
.../mobility/hierarchical-mobility-model.cc | 177 +
.../mobility/hierarchical-mobility-model.h | 111 +
code/src/mobility/mobility-model.cc | 90 +
code/src/mobility/mobility-model.h | 102 +
code/src/mobility/mobility.h | 13 +
code/src/mobility/position-allocator.cc | 446 +
code/src/mobility/position-allocator.h | 280 +
.../random-direction-2d-mobility-model.cc | 154 +
.../random-direction-2d-mobility-model.h | 72 +
.../mobility/random-walk-2d-mobility-model.cc | 179 +
.../mobility/random-walk-2d-mobility-model.h | 79 +
.../random-waypoint-mobility-model.cc | 115 +
.../mobility/random-waypoint-mobility-model.h | 67 +
code/src/mobility/rectangle.cc | 146 +
code/src/mobility/rectangle.h | 107 +
...dy-state-random-waypoint-mobility-model.cc | 371 +
...ady-state-random-waypoint-mobility-model.h | 86 +
code/src/mobility/waf | 1 +
code/src/mobility/waypoint-mobility-model.cc | 331 +
code/src/mobility/waypoint-mobility-model.h | 146 +
code/src/mobility/waypoint.cc | 52 +
code/src/mobility/waypoint.h | 70 +
code/src/mobility/wscript | 43 +
code/src/mpi/distributed-simulator-impl.cc | 519 +
code/src/mpi/distributed-simulator-impl.h | 146 +
code/src/mpi/mpi-interface.cc | 287 +
code/src/mpi/mpi-interface.h | 151 +
code/src/mpi/waf | 1 +
code/src/mpi/wscript | 23 +
code/src/node/address-utils.cc | 87 +
code/src/node/address-utils.h | 51 +
code/src/node/address.cc | 279 +
code/src/node/address.h | 238 +
code/src/node/application.cc | 118 +
code/src/node/application.h | 134 +
code/src/node/channel-list.cc | 187 +
code/src/node/channel-list.h | 74 +
code/src/node/channel.cc | 63 +
code/src/node/channel.h | 79 +
code/src/node/drop-tail-queue.cc | 225 +
code/src/node/drop-tail-queue.h | 86 +
code/src/node/ethernet-header.cc | 172 +
code/src/node/ethernet-header.h | 130 +
code/src/node/ethernet-trailer.cc | 161 +
code/src/node/ethernet-trailer.h | 113 +
code/src/node/inet-socket-address.cc | 105 +
code/src/node/inet-socket-address.h | 119 +
code/src/node/inet6-socket-address.cc | 114 +
code/src/node/inet6-socket-address.h | 142 +
code/src/node/ipv4-address-generator.cc | 765 ++
code/src/node/ipv4-address-generator.h | 52 +
code/src/node/ipv4-address.cc | 383 +
code/src/node/ipv4-address.h | 321 +
code/src/node/ipv4-header.cc | 322 +
code/src/node/ipv4-header.h | 172 +
code/src/node/ipv4-interface-address.cc | 141 +
code/src/node/ipv4-interface-address.h | 101 +
code/src/node/ipv4-packet-info-tag.cc | 285 +
code/src/node/ipv4-packet-info-tag.h | 89 +
code/src/node/ipv4-raw-socket-factory.cc | 35 +
code/src/node/ipv4-raw-socket-factory.h | 46 +
code/src/node/ipv4-route.cc | 141 +
code/src/node/ipv4-route.h | 162 +
code/src/node/ipv4-routing-protocol.cc | 35 +
code/src/node/ipv4-routing-protocol.h | 150 +
code/src/node/ipv4.cc | 63 +
code/src/node/ipv4.h | 326 +
code/src/node/ipv6-address.cc | 753 ++
code/src/node/ipv6-address.h | 457 +
code/src/node/ipv6-header.cc | 187 +
code/src/node/ipv6-header.h | 231 +
code/src/node/ipv6-interface-address.cc | 171 +
code/src/node/ipv6-interface-address.h | 209 +
code/src/node/ipv6-packet-info-tag.cc | 295 +
code/src/node/ipv6-packet-info-tag.h | 94 +
code/src/node/ipv6-raw-socket-factory.cc | 38 +
code/src/node/ipv6-raw-socket-factory.h | 52 +
code/src/node/ipv6-route.cc | 145 +
code/src/node/ipv6-route.h | 232 +
code/src/node/ipv6-routing-protocol.cc | 40 +
code/src/node/ipv6-routing-protocol.h | 179 +
code/src/node/ipv6.cc | 61 +
code/src/node/ipv6.h | 319 +
code/src/node/llc-snap-header.cc | 90 +
code/src/node/llc-snap-header.h | 60 +
code/src/node/mac48-address.cc | 280 +
code/src/node/mac48-address.h | 169 +
code/src/node/mac64-address.cc | 172 +
code/src/node/mac64-address.h | 101 +
code/src/node/net-device.cc | 45 +
code/src/node/net-device.h | 339 +
code/src/node/node-list.cc | 190 +
code/src/node/node-list.h | 77 +
code/src/node/node.cc | 301 +
code/src/node/node.h | 225 +
code/src/node/packet-socket-address.cc | 134 +
code/src/node/packet-socket-address.h | 83 +
code/src/node/packet-socket-factory.cc | 46 +
code/src/node/packet-socket-factory.h | 52 +
code/src/node/packet-socket.cc | 488 +
code/src/node/packet-socket.h | 147 +
code/src/node/packetbb-test-suite.cc | 3830 ++++++
code/src/node/packetbb.cc | 2802 ++++
code/src/node/packetbb.h | 1730 +++
code/src/node/phy-mac.h | 73 +
code/src/node/queue.cc | 202 +
code/src/node/queue.h | 167 +
code/src/node/radiotap-header.cc | 406 +
code/src/node/radiotap-header.h | 279 +
code/src/node/simple-channel.cc | 81 +
code/src/node/simple-channel.h | 57 +
code/src/node/simple-net-device.cc | 254 +
code/src/node/simple-net-device.h | 117 +
code/src/node/socket-factory.cc | 36 +
code/src/node/socket-factory.h | 66 +
code/src/node/socket.cc | 502 +
code/src/node/socket.h | 693 +
code/src/node/spectrum-channel.cc | 42 +
code/src/node/spectrum-channel.h | 106 +
code/src/node/spectrum-phy.cc | 52 +
code/src/node/spectrum-phy.h | 124 +
code/src/node/tcp-socket-factory.cc | 37 +
code/src/node/tcp-socket-factory.h | 55 +
code/src/node/tcp-socket.cc | 116 +
code/src/node/tcp-socket.h | 101 +
code/src/node/udp-socket-factory.cc | 35 +
code/src/node/udp-socket-factory.h | 49 +
code/src/node/udp-socket.cc | 89 +
code/src/node/udp-socket.h | 120 +
code/src/node/waf | 1 +
code/src/node/wscript | 110 +
code/src/routing/aodv/aodv-dpd.cc | 50 +
code/src/routing/aodv/aodv-dpd.h | 62 +
code/src/routing/aodv/aodv-id-cache.cc | 131 +
code/src/routing/aodv/aodv-id-cache.h | 86 +
code/src/routing/aodv/aodv-neighbor.cc | 173 +
code/src/routing/aodv/aodv-neighbor.h | 114 +
code/src/routing/aodv/aodv-packet.cc | 638 +
code/src/routing/aodv/aodv-packet.h | 335 +
.../src/routing/aodv/aodv-routing-protocol.cc | 1700 +++
code/src/routing/aodv/aodv-routing-protocol.h | 254 +
code/src/routing/aodv/aodv-rqueue.cc | 151 +
code/src/routing/aodv/aodv-rqueue.h | 137 +
code/src/routing/aodv/aodv-rtable.cc | 453 +
code/src/routing/aodv/aodv-rtable.h | 258 +
code/src/routing/aodv/aodv-test-suite.cc | 554 +
code/src/routing/aodv/aodv.h | 86 +
.../test/aodv-chain-regression-test-0-0.pcap | Bin 0 -> 7278 bytes
.../test/aodv-chain-regression-test-1-0.pcap | Bin 0 -> 9520 bytes
.../test/aodv-chain-regression-test-2-0.pcap | Bin 0 -> 7250 bytes
.../test/aodv-chain-regression-test-3-0.pcap | Bin 0 -> 7292 bytes
.../test/aodv-chain-regression-test-4-0.pcap | Bin 0 -> 5050 bytes
code/src/routing/aodv/test/aodv-regression.cc | 187 +
code/src/routing/aodv/test/aodv-regression.h | 195 +
.../routing/aodv/test/bug-606-test-0-0.pcap | Bin 0 -> 5726 bytes
.../routing/aodv/test/bug-606-test-1-0.pcap | Bin 0 -> 6748 bytes
.../routing/aodv/test/bug-606-test-2-0.pcap | Bin 0 -> 5090 bytes
code/src/routing/aodv/test/bug-772.cc | 170 +
code/src/routing/aodv/test/bug-772.h | 79 +
code/src/routing/aodv/test/loopback.cc | 104 +
code/src/routing/aodv/test/loopback.h | 45 +
.../routing/aodv/test/tcp-chain-test-0-0.pcap | Bin 0 -> 38460 bytes
.../routing/aodv/test/tcp-chain-test-9-0.pcap | Bin 0 -> 20308 bytes
.../routing/aodv/test/udp-chain-test-0-0.pcap | Bin 0 -> 35532 bytes
.../routing/aodv/test/udp-chain-test-9-0.pcap | Bin 0 -> 12364 bytes
code/src/routing/aodv/waf | 1 +
code/src/routing/aodv/wscript | 31 +
code/src/routing/dsdv/doc/dsdv.h | 78 +
code/src/routing/dsdv/examples/dsdv-manet.cc | 328 +
code/src/routing/dsdv/examples/wscript | 6 +
code/src/routing/dsdv/helper/dsdv-helper.cc | 67 +
code/src/routing/dsdv/helper/dsdv-helper.h | 79 +
.../routing/dsdv/model/dsdv-packet-queue.cc | 185 +
.../routing/dsdv/model/dsdv-packet-queue.h | 199 +
code/src/routing/dsdv/model/dsdv-packet.cc | 101 +
code/src/routing/dsdv/model/dsdv-packet.h | 110 +
.../dsdv/model/dsdv-routing-protocol.cc | 1180 ++
.../dsdv/model/dsdv-routing-protocol.h | 195 +
code/src/routing/dsdv/model/dsdv-rtable.cc | 350 +
code/src/routing/dsdv/model/dsdv-rtable.h | 348 +
code/src/routing/dsdv/test/dsdv-testcase.cc | 199 +
code/src/routing/dsdv/wscript | 25 +
.../helper/ipv4-global-routing-helper.cc | 74 +
.../helper/ipv4-global-routing-helper.h | 97 +
.../global-routing/model/candidate-queue.cc | 193 +
.../global-routing/model/candidate-queue.h | 200 +
.../model/global-route-manager-impl.cc | 2402 ++++
.../model/global-route-manager-impl.h | 781 ++
.../model/global-route-manager.cc | 64 +
.../model/global-route-manager.h | 87 +
.../model/global-router-interface.cc | 1694 +++
.../model/global-router-interface.h | 754 ++
.../global-routing/model/global-routing.h | 85 +
.../model/ipv4-global-routing.cc | 600 +
.../model/ipv4-global-routing.h | 246 +
code/src/routing/global-routing/waf | 1 +
code/src/routing/global-routing/wscript | 21 +
.../helper/ipv4-list-routing-helper.cc | 72 +
.../helper/ipv4-list-routing-helper.h | 96 +
.../helper/ipv6-list-routing-helper.cc | 72 +
.../helper/ipv6-list-routing-helper.h | 98 +
.../list-routing/model/ipv4-list-routing.cc | 411 +
.../list-routing/model/ipv4-list-routing.h | 105 +
.../list-routing/model/ipv6-list-routing.cc | 452 +
.../list-routing/model/ipv6-list-routing.h | 139 +
code/src/routing/list-routing/wscript | 19 +
.../ipv4-nix-vector-routing.cc | 876 ++
.../ipv4-nix-vector-routing.h | 170 +
.../nix-vector-routing/nix-vector-routing.h | 71 +
code/src/routing/nix-vector-routing/waf | 1 +
code/src/routing/nix-vector-routing/wscript | 15 +
code/src/routing/olsr/doc/olsr.h | 71 +
code/src/routing/olsr/examples/olsr-hna.cc | 268 +
.../examples/simple-point-to-point-olsr.cc | 173 +
code/src/routing/olsr/examples/wscript | 10 +
code/src/routing/olsr/helper/olsr-helper.cc | 85 +
code/src/routing/olsr/helper/olsr-helper.h | 100 +
code/src/routing/olsr/model/olsr-header.cc | 798 ++
code/src/routing/olsr/model/olsr-header.h | 470 +
.../routing/olsr/model/olsr-repositories.h | 304 +
.../olsr/model/olsr-routing-protocol.cc | 3378 +++++
.../olsr/model/olsr-routing-protocol.h | 305 +
code/src/routing/olsr/model/olsr-state.cc | 546 +
code/src/routing/olsr/model/olsr-state.h | 180 +
code/src/routing/olsr/test/bug780-0-0.pcap | Bin 0 -> 92998 bytes
code/src/routing/olsr/test/bug780-1-0.pcap | Bin 0 -> 91490 bytes
code/src/routing/olsr/test/bug780-2-0.pcap | Bin 0 -> 103402 bytes
code/src/routing/olsr/test/bug780-test.cc | 199 +
code/src/routing/olsr/test/bug780-test.h | 49 +
.../olsr/test/hello-regression-test.cc | 111 +
.../routing/olsr/test/hello-regression-test.h | 69 +
.../test/olsr-hello-regression-test-0-1.pcap | Bin 0 -> 452 bytes
.../test/olsr-hello-regression-test-1-1.pcap | Bin 0 -> 452 bytes
.../test/olsr-tc-regression-test-0-1.pcap | Bin 0 -> 2372 bytes
.../test/olsr-tc-regression-test-1-1.pcap | Bin 0 -> 3444 bytes
.../test/olsr-tc-regression-test-2-1.pcap | Bin 0 -> 2372 bytes
.../olsr/test/regression-test-suite.cc | 40 +
.../routing/olsr/test/tc-regression-test.cc | 139 +
.../routing/olsr/test/tc-regression-test.h | 96 +
code/src/routing/olsr/waf | 1 +
code/src/routing/olsr/wscript | 29 +
.../helper/ipv4-static-routing-helper.cc | 210 +
.../helper/ipv4-static-routing-helper.h | 169 +
.../helper/ipv6-static-routing-helper.cc | 213 +
.../helper/ipv6-static-routing-helper.h | 131 +
.../model/ipv4-routing-table-entry.cc | 333 +
.../model/ipv4-routing-table-entry.h | 231 +
.../model/ipv4-static-routing.cc | 779 ++
.../model/ipv4-static-routing.h | 400 +
.../model/ipv6-routing-table-entry.cc | 331 +
.../model/ipv6-routing-table-entry.h | 372 +
.../model/ipv6-static-routing.cc | 758 ++
.../model/ipv6-static-routing.h | 299 +
code/src/routing/static-routing/wscript | 23 +
code/src/simulator/cairo-wideint-private.h | 338 +
code/src/simulator/cairo-wideint.c | 807 ++
code/src/simulator/calendar-scheduler.cc | 350 +
code/src/simulator/calendar-scheduler.h | 93 +
code/src/simulator/default-simulator-impl.cc | 354 +
code/src/simulator/default-simulator-impl.h | 83 +
code/src/simulator/event-id.cc | 90 +
code/src/simulator/event-id.h | 90 +
code/src/simulator/event-impl.cc | 53 +
code/src/simulator/event-impl.h | 70 +
code/src/simulator/heap-scheduler.cc | 220 +
code/src/simulator/heap-scheduler.h | 85 +
code/src/simulator/high-precision-128.cc | 414 +
code/src/simulator/high-precision-128.h | 177 +
code/src/simulator/high-precision-cairo.cc | 187 +
code/src/simulator/high-precision-cairo.h | 167 +
code/src/simulator/high-precision-double.h | 163 +
code/src/simulator/high-precision.cc | 363 +
code/src/simulator/high-precision.h | 66 +
code/src/simulator/list-scheduler.cc | 96 +
code/src/simulator/list-scheduler.h | 62 +
code/src/simulator/make-event.cc | 31 +
code/src/simulator/make-event.h | 444 +
code/src/simulator/map-scheduler.cc | 103 +
code/src/simulator/map-scheduler.h | 62 +
code/src/simulator/ns2-calendar-scheduler.cc | 577 +
code/src/simulator/ns2-calendar-scheduler.h | 102 +
code/src/simulator/nstime.h | 719 +
code/src/simulator/realtime-simulator-impl.cc | 871 ++
code/src/simulator/realtime-simulator-impl.h | 125 +
code/src/simulator/scheduler.cc | 41 +
code/src/simulator/scheduler.h | 153 +
code/src/simulator/simulation-singleton.h | 88 +
code/src/simulator/simulator-impl.cc | 14 +
code/src/simulator/simulator-impl.h | 202 +
code/src/simulator/simulator.cc | 848 ++
code/src/simulator/simulator.h | 1147 ++
code/src/simulator/synchronizer.cc | 126 +
code/src/simulator/synchronizer.h | 334 +
code/src/simulator/time-base.cc | 59 +
code/src/simulator/time-base.h | 336 +
code/src/simulator/time.cc | 313 +
code/src/simulator/timer-impl.h | 836 ++
code/src/simulator/timer.cc | 388 +
code/src/simulator/timer.h | 340 +
code/src/simulator/waf | 1 +
code/src/simulator/wall-clock-synchronizer.cc | 423 +
code/src/simulator/wall-clock-synchronizer.h | 196 +
code/src/simulator/watchdog.cc | 124 +
code/src/simulator/watchdog.h | 231 +
code/src/simulator/wscript | 129 +
code/src/test/csma-system-test-suite.cc | 1126 ++
code/src/test/error-model-test-suite.cc | 135 +
code/src/test/global-routing-test-suite.cc | 412 +
code/src/test/mobility-test-suite.cc | 376 +
.../src/test/ns3tcp/ns3tcp-cwnd-test-suite.cc | 578 +
.../ns3tcp-interop-response-vectors.pcap | Bin 0 -> 3660 bytes
.../test/ns3tcp/ns3tcp-interop-test-suite.cc | 316 +
.../src/test/ns3tcp/ns3tcp-loss-test-suite.cc | 435 +
.../ns3tcp/ns3tcp-loss1-response-vectors.pcap | Bin 0 -> 320 bytes
.../ns3tcp/ns3tcp-loss2-response-vectors.pcap | Bin 0 -> 328 bytes
.../test/ns3tcp/ns3tcp-socket-test-suite.cc | 282 +
code/src/test/ns3tcp/ns3tcp-socket-writer.cc | 83 +
code/src/test/ns3tcp/ns3tcp-socket-writer.h | 47 +
code/src/test/ns3tcp/ns3tcp.h | 9 +
code/src/test/ns3tcp/waf | 1 +
code/src/test/ns3tcp/wscript | 20 +
code/src/test/ns3wifi/ns3wifi.h | 8 +
code/src/test/ns3wifi/waf | 1 +
.../ns3wifi/wifi-interference-test-suite.cc | 281 +
.../wifi-msdu-aggregator-test-suite.cc | 211 +
code/src/test/ns3wifi/wscript | 16 +
.../src/test/nsctcp/nsctcp-loss-test-suite.cc | 282 +
code/src/test/nsctcp/wscript | 15 +
code/src/test/perf/perf-io.cc | 141 +
code/src/test/perf/waf | 1 +
code/src/test/perf/wscript | 14 +
code/src/test/sample-test-suite.cc | 66 +
code/src/test/static-routing-test-suite.cc | 175 +
code/src/test/wscript | 20 +
code/src/tools/visualizer/doc/readme.txt | 9 +
code/src/tools/visualizer/examples/readme.txt | 3 +
code/src/tools/visualizer/model/pyviz.cc | 1406 ++
code/src/tools/visualizer/model/pyviz.h | 225 +
.../visualizer/model/visual-simulator-impl.cc | 228 +
.../visualizer/model/visual-simulator-impl.h | 82 +
.../visualizer/model/visualizer-ideas.txt | 16 +
.../tools/visualizer/visualizer/__init__.py | 3 +
code/src/tools/visualizer/visualizer/base.py | 107 +
code/src/tools/visualizer/visualizer/core.py | 1470 +++
.../visualizer/visualizer/higcontainer.py | 97 +
code/src/tools/visualizer/visualizer/hud.py | 144 +
.../visualizer/visualizer/ipython_view.py | 296 +
.../plugins/interface_statistics.py | 167 +
.../visualizer/plugins/ipv4_routing_table.py | 95 +
.../visualizer/visualizer/plugins/olsr.py | 102 +
.../visualizer/plugins/show_last_packets.py | 231 +
.../plugins/wifi_intrastructure_link.py | 117 +
.../visualizer/resource/Basurero_Palm_Z22.svg | 311 +
.../adriankierman_cell_phone_tower.svg | 38 +
.../resource/bobocal_Yellow_Bus.svg | 39 +
.../resource/thilakarathna_Bus_Halt.svg | 90 +
.../tools/visualizer/visualizer/svgitem.py | 156 +
code/src/tools/visualizer/wscript | 22 +
code/src/wscript | 350 +
code/test.py | 1673 +++
code/testpy.supp | 5 +
code/utils/bench-event-collector.cc | 35 +
code/utils/bench-packets.cc | 290 +
code/utils/bench-simulator.cc | 211 +
code/utils/check-style.py | 439 +
code/utils/generate-distributions.pl | 9 +
code/utils/grid.py | 1066 ++
code/utils/lcov/genhtml | 3475 +++++
code/utils/lcov/geninfo | 1747 +++
code/utils/lcov/lcov | 2271 ++++
code/utils/print-introspected-doxygen.cc | 412 +
code/utils/python-unit-tests.py | 157 +
code/utils/test-runner.cc | 473 +
code/utils/utils.h | 80 +
code/utils/waf | 1 +
code/utils/wscript | 21 +
code/waf | Bin 0 -> 91757 bytes
code/waf-tools/cflags.py | 192 +
code/waf-tools/command.py | 134 +
code/waf-tools/pkgconfig.py | 71 +
code/waf-tools/shellcmd.py | 356 +
code/waf.bat | 1 +
code/wscript | 939 ++
code/wutils.py | 235 +
1889 files changed, 511715 insertions(+)
create mode 100644 code/AUTHORS
create mode 100644 code/CHANGES.html
create mode 100644 code/LICENSE
create mode 100644 code/README
create mode 100644 code/RELEASE_NOTES
create mode 100644 code/VERSION
create mode 100644 code/bindings/python/apidefs/gcc-ILP32/callbacks_list.py
create mode 100644 code/bindings/python/apidefs/gcc-ILP32/ns3_module_aodv.py
create mode 100644 code/bindings/python/apidefs/gcc-ILP32/ns3_module_bridge.py
create mode 100644 code/bindings/python/apidefs/gcc-ILP32/ns3_module_bulk_send.py
create mode 100644 code/bindings/python/apidefs/gcc-ILP32/ns3_module_common.py
create mode 100644 code/bindings/python/apidefs/gcc-ILP32/ns3_module_contrib.py
create mode 100644 code/bindings/python/apidefs/gcc-ILP32/ns3_module_core.py
create mode 100644 code/bindings/python/apidefs/gcc-ILP32/ns3_module_csma.py
create mode 100644 code/bindings/python/apidefs/gcc-ILP32/ns3_module_dot11s.py
create mode 100644 code/bindings/python/apidefs/gcc-ILP32/ns3_module_dsdv.py
create mode 100644 code/bindings/python/apidefs/gcc-ILP32/ns3_module_emu.py
create mode 100644 code/bindings/python/apidefs/gcc-ILP32/ns3_module_energy.py
create mode 100644 code/bindings/python/apidefs/gcc-ILP32/ns3_module_flame.py
create mode 100644 code/bindings/python/apidefs/gcc-ILP32/ns3_module_flow_monitor.py
create mode 100644 code/bindings/python/apidefs/gcc-ILP32/ns3_module_global_routing.py
create mode 100644 code/bindings/python/apidefs/gcc-ILP32/ns3_module_helper.py
create mode 100644 code/bindings/python/apidefs/gcc-ILP32/ns3_module_internet_stack.py
create mode 100644 code/bindings/python/apidefs/gcc-ILP32/ns3_module_list_routing.py
create mode 100644 code/bindings/python/apidefs/gcc-ILP32/ns3_module_lte.py
create mode 100644 code/bindings/python/apidefs/gcc-ILP32/ns3_module_mesh.py
create mode 100644 code/bindings/python/apidefs/gcc-ILP32/ns3_module_mobility.py
create mode 100644 code/bindings/python/apidefs/gcc-ILP32/ns3_module_mpi.py
create mode 100644 code/bindings/python/apidefs/gcc-ILP32/ns3_module_nix_vector_routing.py
create mode 100644 code/bindings/python/apidefs/gcc-ILP32/ns3_module_node.py
create mode 100644 code/bindings/python/apidefs/gcc-ILP32/ns3_module_olsr.py
create mode 100644 code/bindings/python/apidefs/gcc-ILP32/ns3_module_onoff.py
create mode 100644 code/bindings/python/apidefs/gcc-ILP32/ns3_module_packet_sink.py
create mode 100644 code/bindings/python/apidefs/gcc-ILP32/ns3_module_ping6.py
create mode 100644 code/bindings/python/apidefs/gcc-ILP32/ns3_module_point_to_point.py
create mode 100644 code/bindings/python/apidefs/gcc-ILP32/ns3_module_radvd.py
create mode 100644 code/bindings/python/apidefs/gcc-ILP32/ns3_module_simulator.py
create mode 100644 code/bindings/python/apidefs/gcc-ILP32/ns3_module_spectrum.py
create mode 100644 code/bindings/python/apidefs/gcc-ILP32/ns3_module_static_routing.py
create mode 100644 code/bindings/python/apidefs/gcc-ILP32/ns3_module_stats.py
create mode 100644 code/bindings/python/apidefs/gcc-ILP32/ns3_module_tap_bridge.py
create mode 100644 code/bindings/python/apidefs/gcc-ILP32/ns3_module_test.py
create mode 100644 code/bindings/python/apidefs/gcc-ILP32/ns3_module_topology_read.py
create mode 100644 code/bindings/python/apidefs/gcc-ILP32/ns3_module_uan.py
create mode 100644 code/bindings/python/apidefs/gcc-ILP32/ns3_module_udp_client_server.py
create mode 100644 code/bindings/python/apidefs/gcc-ILP32/ns3_module_udp_echo.py
create mode 100644 code/bindings/python/apidefs/gcc-ILP32/ns3_module_v4ping.py
create mode 100644 code/bindings/python/apidefs/gcc-ILP32/ns3_module_virtual_net_device.py
create mode 100644 code/bindings/python/apidefs/gcc-ILP32/ns3_module_visualizer.py
create mode 100644 code/bindings/python/apidefs/gcc-ILP32/ns3_module_wifi.py
create mode 100644 code/bindings/python/apidefs/gcc-ILP32/ns3_module_wimax.py
create mode 100644 code/bindings/python/apidefs/gcc-ILP32/ns3modulegen_generated.py
create mode 100644 code/bindings/python/apidefs/gcc-LP64/callbacks_list.py
create mode 100644 code/bindings/python/apidefs/gcc-LP64/ns3_module_aodv.py
create mode 100644 code/bindings/python/apidefs/gcc-LP64/ns3_module_bridge.py
create mode 100644 code/bindings/python/apidefs/gcc-LP64/ns3_module_bulk_send.py
create mode 100644 code/bindings/python/apidefs/gcc-LP64/ns3_module_common.py
create mode 100644 code/bindings/python/apidefs/gcc-LP64/ns3_module_contrib.py
create mode 100644 code/bindings/python/apidefs/gcc-LP64/ns3_module_core.py
create mode 100644 code/bindings/python/apidefs/gcc-LP64/ns3_module_csma.py
create mode 100644 code/bindings/python/apidefs/gcc-LP64/ns3_module_dot11s.py
create mode 100644 code/bindings/python/apidefs/gcc-LP64/ns3_module_dsdv.py
create mode 100644 code/bindings/python/apidefs/gcc-LP64/ns3_module_emu.py
create mode 100644 code/bindings/python/apidefs/gcc-LP64/ns3_module_energy.py
create mode 100644 code/bindings/python/apidefs/gcc-LP64/ns3_module_flame.py
create mode 100644 code/bindings/python/apidefs/gcc-LP64/ns3_module_flow_monitor.py
create mode 100644 code/bindings/python/apidefs/gcc-LP64/ns3_module_global_routing.py
create mode 100644 code/bindings/python/apidefs/gcc-LP64/ns3_module_helper.py
create mode 100644 code/bindings/python/apidefs/gcc-LP64/ns3_module_internet_stack.py
create mode 100644 code/bindings/python/apidefs/gcc-LP64/ns3_module_list_routing.py
create mode 100644 code/bindings/python/apidefs/gcc-LP64/ns3_module_lte.py
create mode 100644 code/bindings/python/apidefs/gcc-LP64/ns3_module_mesh.py
create mode 100644 code/bindings/python/apidefs/gcc-LP64/ns3_module_mobility.py
create mode 100644 code/bindings/python/apidefs/gcc-LP64/ns3_module_mpi.py
create mode 100644 code/bindings/python/apidefs/gcc-LP64/ns3_module_nix_vector_routing.py
create mode 100644 code/bindings/python/apidefs/gcc-LP64/ns3_module_node.py
create mode 100644 code/bindings/python/apidefs/gcc-LP64/ns3_module_olsr.py
create mode 100644 code/bindings/python/apidefs/gcc-LP64/ns3_module_onoff.py
create mode 100644 code/bindings/python/apidefs/gcc-LP64/ns3_module_packet_sink.py
create mode 100644 code/bindings/python/apidefs/gcc-LP64/ns3_module_ping6.py
create mode 100644 code/bindings/python/apidefs/gcc-LP64/ns3_module_point_to_point.py
create mode 100644 code/bindings/python/apidefs/gcc-LP64/ns3_module_radvd.py
create mode 100644 code/bindings/python/apidefs/gcc-LP64/ns3_module_simulator.py
create mode 100644 code/bindings/python/apidefs/gcc-LP64/ns3_module_spectrum.py
create mode 100644 code/bindings/python/apidefs/gcc-LP64/ns3_module_static_routing.py
create mode 100644 code/bindings/python/apidefs/gcc-LP64/ns3_module_stats.py
create mode 100644 code/bindings/python/apidefs/gcc-LP64/ns3_module_tap_bridge.py
create mode 100644 code/bindings/python/apidefs/gcc-LP64/ns3_module_test.py
create mode 100644 code/bindings/python/apidefs/gcc-LP64/ns3_module_topology_read.py
create mode 100644 code/bindings/python/apidefs/gcc-LP64/ns3_module_uan.py
create mode 100644 code/bindings/python/apidefs/gcc-LP64/ns3_module_udp_client_server.py
create mode 100644 code/bindings/python/apidefs/gcc-LP64/ns3_module_udp_echo.py
create mode 100644 code/bindings/python/apidefs/gcc-LP64/ns3_module_v4ping.py
create mode 100644 code/bindings/python/apidefs/gcc-LP64/ns3_module_virtual_net_device.py
create mode 100644 code/bindings/python/apidefs/gcc-LP64/ns3_module_visualizer.py
create mode 100644 code/bindings/python/apidefs/gcc-LP64/ns3_module_wifi.py
create mode 100644 code/bindings/python/apidefs/gcc-LP64/ns3_module_wimax.py
create mode 100644 code/bindings/python/apidefs/gcc-LP64/ns3modulegen_generated.py
create mode 100644 code/bindings/python/my_extra_api_definitions.py
create mode 100644 code/bindings/python/ns3/__init__.py
create mode 100644 code/bindings/python/ns3module_helpers.cc
create mode 100755 code/bindings/python/ns3modulegen.py
create mode 100644 code/bindings/python/ns3modulegen_core_customizations.py
create mode 100644 code/bindings/python/ns3modulescan.py
create mode 100644 code/bindings/python/pch/_placeholder_
create mode 100644 code/bindings/python/rad_util.py
create mode 100644 code/bindings/python/topsort.py
create mode 100755 code/bindings/python/waf
create mode 100644 code/bindings/python/wscript
create mode 100644 code/doc/MeshArchitecture.png
create mode 100644 code/doc/WifiArchitecture.dia
create mode 100644 code/doc/WifiArchitecture.png
create mode 100644 code/doc/WimaxArchitecture.dia
create mode 100644 code/doc/WimaxArchitecture.png
create mode 100644 code/doc/build.txt
create mode 100644 code/doc/codingstd.txt
create mode 100644 code/doc/contributing.txt
create mode 100644 code/doc/doxygen.conf
create mode 100644 code/doc/main.h
create mode 100644 code/doc/manual/Makefile
create mode 100644 code/doc/manual/figures/README
create mode 100644 code/doc/manual/figures/WifiArchitecture.dia
create mode 100644 code/doc/manual/figures/WimaxArchitecture.dia
create mode 100644 code/doc/manual/figures/animation-dumbbell.pdf
create mode 100644 code/doc/manual/figures/animation-dumbbell.png
create mode 100644 code/doc/manual/figures/auvmobility-classes.dia
create mode 100644 code/doc/manual/figures/buffer.dia
create mode 100644 code/doc/manual/figures/emulated-channel.dia
create mode 100644 code/doc/manual/figures/internet-node-recv.dia
create mode 100644 code/doc/manual/figures/internet-node-send.dia
create mode 100644 code/doc/manual/figures/lte-transmission.png
create mode 100644 code/doc/manual/figures/node.dia
create mode 100644 code/doc/manual/figures/packet.dia
create mode 100644 code/doc/manual/figures/routing-specialization.dia
create mode 100644 code/doc/manual/figures/routing.dia
create mode 100644 code/doc/manual/figures/snir.dia
create mode 100644 code/doc/manual/figures/sockets-overview.dia
create mode 100644 code/doc/manual/figures/software-organization.dia
create mode 100644 code/doc/manual/figures/testbed.dia
create mode 100755 code/doc/manual/rescale-pdf.sh
create mode 100644 code/doc/manual/source/_static/.hidden
create mode 100644 code/doc/manual/source/animation.rst
create mode 100644 code/doc/manual/source/applications.rst
create mode 100644 code/doc/manual/source/attributes.rst
create mode 100644 code/doc/manual/source/bridge.rst
create mode 100644 code/doc/manual/source/callbacks.rst
create mode 100644 code/doc/manual/source/conf.py
create mode 100644 code/doc/manual/source/core.rst
create mode 100644 code/doc/manual/source/csma.rst
create mode 100644 code/doc/manual/source/distributed.rst
create mode 100644 code/doc/manual/source/emu.rst
create mode 100644 code/doc/manual/source/emulation-overview.rst
create mode 100644 code/doc/manual/source/emulation.rst
create mode 100644 code/doc/manual/source/energy.rst
create mode 120000 code/doc/manual/source/figures
create mode 100644 code/doc/manual/source/flow-monitor.rst
create mode 100644 code/doc/manual/source/helpers.rst
create mode 100644 code/doc/manual/source/index.rst
create mode 100644 code/doc/manual/source/internet-models.rst
create mode 100644 code/doc/manual/source/internet-stack.rst
create mode 100644 code/doc/manual/source/ipv4.rst
create mode 100644 code/doc/manual/source/ipv6.rst
create mode 100644 code/doc/manual/source/logging.rst
create mode 100644 code/doc/manual/source/lte.rst
create mode 100644 code/doc/manual/source/mesh.rst
create mode 100644 code/doc/manual/source/new-models.rst
create mode 100644 code/doc/manual/source/nodes-and-devices-overview.rst
create mode 100644 code/doc/manual/source/nodes-and-devices.rst
create mode 100644 code/doc/manual/source/object-model.rst
create mode 100644 code/doc/manual/source/object-names.rst
create mode 100644 code/doc/manual/source/organization.rst
create mode 100644 code/doc/manual/source/packets.rst
create mode 100644 code/doc/manual/source/point-to-point.rst
create mode 100644 code/doc/manual/source/python.rst
create mode 100644 code/doc/manual/source/random-variables.rst
create mode 100644 code/doc/manual/source/realtime.rst
create mode 100644 code/doc/manual/source/replace.txt
create mode 100644 code/doc/manual/source/routing.rst
create mode 100644 code/doc/manual/source/simple.rst
create mode 100644 code/doc/manual/source/sockets-api.rst
create mode 100644 code/doc/manual/source/statistics.rst
create mode 100644 code/doc/manual/source/support.rst
create mode 100644 code/doc/manual/source/tap.rst
create mode 100644 code/doc/manual/source/tcp.rst
create mode 100644 code/doc/manual/source/tracing.rst
create mode 100644 code/doc/manual/source/troubleshoot.rst
create mode 100644 code/doc/manual/source/uan.rst
create mode 100644 code/doc/manual/source/wifi.rst
create mode 100644 code/doc/manual/source/wimax.rst
create mode 100644 code/doc/mercurial.txt
create mode 100644 code/doc/modules
create mode 100644 code/doc/namespace-2.dia
create mode 100644 code/doc/namespace-2.png
create mode 100644 code/doc/release_steps.txt
create mode 100644 code/doc/testing/Makefile
create mode 100755 code/doc/testing/pickle-to-xml.py
create mode 100644 code/doc/testing/source/_static/.hidden
create mode 100644 code/doc/testing/source/background.rst
create mode 100644 code/doc/testing/source/conf.py
create mode 100644 code/doc/testing/source/how-to-write-tests.rst
create mode 100644 code/doc/testing/source/index.rst
create mode 100644 code/doc/testing/source/overview.rst
create mode 100644 code/doc/testing/source/replace.txt
create mode 100644 code/doc/testing/source/testing-framework.rst
create mode 100644 code/doc/tutorial/Makefile
create mode 100644 code/doc/tutorial/figures/README
create mode 100644 code/doc/tutorial/figures/cwnd.png
create mode 100644 code/doc/tutorial/figures/dumbbell.dia
create mode 100644 code/doc/tutorial/figures/helpers.dia
create mode 100644 code/doc/tutorial/figures/oneobj.png
create mode 100644 code/doc/tutorial/figures/pp.dia
create mode 100644 code/doc/tutorial/figures/star.dia
create mode 100644 code/doc/tutorial/figures/threeobj.png
create mode 100755 code/doc/tutorial/pickle-to-xml.py
create mode 100644 code/doc/tutorial/source/_static/.hidden
create mode 100644 code/doc/tutorial/source/building-topologies.rst
create mode 100644 code/doc/tutorial/source/conceptual-overview.rst
create mode 100644 code/doc/tutorial/source/conclusion.rst
create mode 100644 code/doc/tutorial/source/conf.py
create mode 120000 code/doc/tutorial/source/figures
create mode 100644 code/doc/tutorial/source/getting-started.rst
create mode 100644 code/doc/tutorial/source/index.rst
create mode 100644 code/doc/tutorial/source/introduction.rst
create mode 100644 code/doc/tutorial/source/replace.txt
create mode 100644 code/doc/tutorial/source/resources.rst
create mode 100644 code/doc/tutorial/source/tracing.rst
create mode 100644 code/doc/tutorial/source/tweaking.rst
create mode 100644 code/examples/animation/dumbbell-animation.cc
create mode 100644 code/examples/animation/grid-animation.cc
create mode 100644 code/examples/animation/star-animation.cc
create mode 100644 code/examples/animation/waf
create mode 100644 code/examples/animation/wscript
create mode 100644 code/examples/csma/csma-broadcast.cc
create mode 100644 code/examples/csma/csma-multicast.cc
create mode 100644 code/examples/csma/csma-one-subnet.cc
create mode 100644 code/examples/csma/csma-packet-socket.cc
create mode 100644 code/examples/csma/csma-ping.cc
create mode 100644 code/examples/csma/csma-raw-ip-socket.cc
create mode 100644 code/examples/csma/csma-star.cc
create mode 100755 code/examples/csma/waf
create mode 100644 code/examples/csma/wscript
create mode 100644 code/examples/emulation/emu-ping.cc
create mode 100644 code/examples/emulation/emu-udp-echo.cc
create mode 100755 code/examples/emulation/waf
create mode 100644 code/examples/emulation/wscript
create mode 100644 code/examples/energy/energy-model-example.cc
create mode 100644 code/examples/energy/waf
create mode 100644 code/examples/energy/wscript
create mode 100644 code/examples/error-model/simple-error-model.cc
create mode 100755 code/examples/error-model/waf
create mode 100644 code/examples/error-model/wscript
create mode 100644 code/examples/ipv6/fragmentation-ipv6.cc
create mode 100644 code/examples/ipv6/icmpv6-redirect.cc
create mode 100644 code/examples/ipv6/loose-routing-ipv6.cc
create mode 100644 code/examples/ipv6/ping6.cc
create mode 100644 code/examples/ipv6/radvd-two-prefix.cc
create mode 100644 code/examples/ipv6/radvd.cc
create mode 100644 code/examples/ipv6/test-ipv6.cc
create mode 100755 code/examples/ipv6/waf
create mode 100644 code/examples/ipv6/wscript
create mode 100644 code/examples/matrix-topology/adjacency_matrix.txt
create mode 100644 code/examples/matrix-topology/matrix-topology.cc
create mode 100644 code/examples/matrix-topology/node_coordinates.txt
create mode 100644 code/examples/matrix-topology/wscript
create mode 100644 code/examples/mesh/mesh.cc
create mode 100755 code/examples/mesh/waf
create mode 100644 code/examples/mesh/wscript
create mode 100644 code/examples/mobility/default.ns_movements
create mode 100644 code/examples/mobility/ns2-mobility-trace.cc
create mode 100644 code/examples/mobility/waf
create mode 100644 code/examples/mobility/wscript
create mode 100644 code/examples/mpi/nms-p2p-nix-distributed.cc
create mode 100644 code/examples/mpi/simple-distributed.cc
create mode 100644 code/examples/mpi/third-distributed.cc
create mode 100755 code/examples/mpi/waf
create mode 100644 code/examples/mpi/wscript
create mode 100644 code/examples/naming/object-names.cc
create mode 100755 code/examples/naming/waf
create mode 100644 code/examples/naming/wscript
create mode 100644 code/examples/realtime/realtime-udp-echo.cc
create mode 100644 code/examples/realtime/realtime-udp-echo.py
create mode 100755 code/examples/realtime/waf
create mode 100644 code/examples/realtime/wscript
create mode 100644 code/examples/routing/aodv.cc
create mode 100644 code/examples/routing/dynamic-global-routing.cc
create mode 100644 code/examples/routing/global-injection-slash32.cc
create mode 100644 code/examples/routing/global-routing-slash32.cc
create mode 100644 code/examples/routing/mixed-global-routing.cc
create mode 100644 code/examples/routing/nix-simple.cc
create mode 100644 code/examples/routing/nms-p2p-nix.cc
create mode 100644 code/examples/routing/simple-alternate-routing.cc
create mode 100644 code/examples/routing/simple-global-routing.cc
create mode 100644 code/examples/routing/simple-routing-ping6.cc
create mode 100644 code/examples/routing/simple-routing-ping6.py
create mode 100644 code/examples/routing/static-routing-slash32.cc
create mode 100755 code/examples/routing/waf
create mode 100644 code/examples/routing/wscript
create mode 100644 code/examples/socket/socket-bound-static-routing.cc
create mode 100644 code/examples/socket/socket-bound-tcp-static-routing.cc
create mode 100755 code/examples/socket/waf
create mode 100644 code/examples/socket/wscript
create mode 100644 code/examples/spectrum/adhoc-aloha-ideal-phy-with-microwave-oven.cc
create mode 100644 code/examples/spectrum/adhoc-aloha-ideal-phy.cc
create mode 100644 code/examples/spectrum/waf
create mode 100644 code/examples/spectrum/wscript
create mode 100644 code/examples/stats/README
create mode 100644 code/examples/stats/wifi-example-apps.cc
create mode 100644 code/examples/stats/wifi-example-apps.h
create mode 100755 code/examples/stats/wifi-example-db.sh
create mode 100644 code/examples/stats/wifi-example-sim.cc
create mode 100644 code/examples/stats/wifi-example.gnuplot
create mode 100644 code/examples/stats/wscript
create mode 100644 code/examples/tap/lxc-left.conf
create mode 100644 code/examples/tap/lxc-right.conf
create mode 100644 code/examples/tap/tap-csma-virtual-machine.cc
create mode 100644 code/examples/tap/tap-csma-virtual-machine.py
create mode 100644 code/examples/tap/tap-csma.cc
create mode 100644 code/examples/tap/tap-wifi-dumbbell.cc
create mode 100644 code/examples/tap/tap-wifi-virtual-machine.cc
create mode 100644 code/examples/tap/tap-wifi-virtual-machine.py
create mode 100755 code/examples/tap/virtual-network-setup.sh
create mode 100755 code/examples/tap/virtual-network-teardown.sh
create mode 100755 code/examples/tap/waf
create mode 100644 code/examples/tap/wscript
create mode 100644 code/examples/tcp/star.cc
create mode 100644 code/examples/tcp/tcp-bulk-send.cc
create mode 100644 code/examples/tcp/tcp-large-transfer.cc
create mode 100644 code/examples/tcp/tcp-loss-response.cc
create mode 100644 code/examples/tcp/tcp-nsc-lfn.cc
create mode 100644 code/examples/tcp/tcp-nsc-zoo.cc
create mode 100644 code/examples/tcp/tcp-star-server.cc
create mode 100644 code/examples/tcp/tcp-testcases.cc
create mode 100755 code/examples/tcp/waf
create mode 100644 code/examples/tcp/wscript
create mode 100644 code/examples/topology-read/Inet_small_toposample.txt
create mode 100644 code/examples/topology-read/Inet_toposample.txt
create mode 100644 code/examples/topology-read/Orbis_toposample.txt
create mode 100644 code/examples/topology-read/RocketFuel_toposample_1239_weights.txt
create mode 100644 code/examples/topology-read/topology-example-sim.cc
create mode 100644 code/examples/topology-read/waf
create mode 100644 code/examples/topology-read/wscript
create mode 100644 code/examples/tutorial/fifth.cc
create mode 100644 code/examples/tutorial/first.cc
create mode 100644 code/examples/tutorial/first.py
create mode 100644 code/examples/tutorial/fourth.cc
create mode 100644 code/examples/tutorial/hello-simulator.cc
create mode 100644 code/examples/tutorial/second.cc
create mode 100644 code/examples/tutorial/sixth.cc
create mode 100644 code/examples/tutorial/third.cc
create mode 100755 code/examples/tutorial/waf
create mode 100644 code/examples/tutorial/wscript
create mode 100644 code/examples/udp-client-server/udp-client-server.cc
create mode 100644 code/examples/udp-client-server/udp-trace-client-server.cc
create mode 100644 code/examples/udp-client-server/waf
create mode 100644 code/examples/udp-client-server/wscript
create mode 100644 code/examples/udp/udp-echo.cc
create mode 100755 code/examples/udp/waf
create mode 100644 code/examples/udp/wscript
create mode 100755 code/examples/waf
create mode 100644 code/examples/wimax/waf
create mode 100644 code/examples/wimax/wimax-ipv4.cc
create mode 100644 code/examples/wimax/wimax-multicast.cc
create mode 100644 code/examples/wimax/wimax-simple.cc
create mode 100644 code/examples/wimax/wscript
create mode 100644 code/examples/wireless/mixed-wireless.cc
create mode 100644 code/examples/wireless/mixed-wireless.py
create mode 100644 code/examples/wireless/multirate.cc
create mode 100644 code/examples/wireless/ofdm-validation.cc
create mode 100644 code/examples/wireless/simple-wifi-frame-aggregation.cc
create mode 100755 code/examples/wireless/waf
create mode 100644 code/examples/wireless/wifi-adhoc.cc
create mode 100644 code/examples/wireless/wifi-ap.cc
create mode 100644 code/examples/wireless/wifi-ap.py
create mode 100644 code/examples/wireless/wifi-blockack.cc
create mode 100644 code/examples/wireless/wifi-clear-channel-cmu.cc
create mode 100644 code/examples/wireless/wifi-hidden-terminal.cc
create mode 100644 code/examples/wireless/wifi-simple-adhoc-grid.cc
create mode 100644 code/examples/wireless/wifi-simple-adhoc.cc
create mode 100644 code/examples/wireless/wifi-simple-infra.cc
create mode 100644 code/examples/wireless/wifi-simple-interference.cc
create mode 100644 code/examples/wireless/wifi-wired-bridging.cc
create mode 100644 code/examples/wireless/wscript
create mode 100644 code/ns3/_placeholder_
create mode 100644 code/samples/main-attribute-value.cc
create mode 100644 code/samples/main-callback.cc
create mode 100644 code/samples/main-grid-topology.cc
create mode 100644 code/samples/main-packet-header.cc
create mode 100644 code/samples/main-packet-tag.cc
create mode 100644 code/samples/main-propagation-loss.cc
create mode 100644 code/samples/main-ptr.cc
create mode 100644 code/samples/main-random-topology.cc
create mode 100644 code/samples/main-random-variable.cc
create mode 100644 code/samples/main-random-walk.cc
create mode 100644 code/samples/main-simple.cc
create mode 100644 code/samples/main-test-sync.cc
create mode 100644 code/samples/sample-random-variable.cc
create mode 100644 code/samples/sample-rng-plot.py
create mode 100644 code/samples/sample-simulator.cc
create mode 100644 code/samples/sample-simulator.py
create mode 100755 code/samples/waf
create mode 100644 code/samples/wscript
create mode 100644 code/scratch/multiple-sources/simple-main.cc
create mode 100644 code/scratch/multiple-sources/simple-simulation.cc
create mode 100644 code/scratch/simple.cc
create mode 100644 code/src/applications/bulk-send/bulk-send-application.cc
create mode 100644 code/src/applications/bulk-send/bulk-send-application.h
create mode 100644 code/src/applications/bulk-send/wscript
create mode 100644 code/src/applications/onoff/onoff-application.cc
create mode 100644 code/src/applications/onoff/onoff-application.h
create mode 100755 code/src/applications/onoff/waf
create mode 100644 code/src/applications/onoff/wscript
create mode 100644 code/src/applications/packet-sink/packet-sink.cc
create mode 100644 code/src/applications/packet-sink/packet-sink.h
create mode 100755 code/src/applications/packet-sink/waf
create mode 100644 code/src/applications/packet-sink/wscript
create mode 100644 code/src/applications/ping6/ping6.cc
create mode 100644 code/src/applications/ping6/ping6.h
create mode 100644 code/src/applications/ping6/waf
create mode 100644 code/src/applications/ping6/wscript
create mode 100644 code/src/applications/radvd/radvd-interface.cc
create mode 100644 code/src/applications/radvd/radvd-interface.h
create mode 100644 code/src/applications/radvd/radvd-prefix.cc
create mode 100644 code/src/applications/radvd/radvd-prefix.h
create mode 100644 code/src/applications/radvd/radvd.cc
create mode 100644 code/src/applications/radvd/radvd.h
create mode 100644 code/src/applications/radvd/wscript
create mode 100644 code/src/applications/udp-client-server/packet-loss-counter.cc
create mode 100644 code/src/applications/udp-client-server/packet-loss-counter.h
create mode 100644 code/src/applications/udp-client-server/seq-ts-header.cc
create mode 100644 code/src/applications/udp-client-server/seq-ts-header.h
create mode 100644 code/src/applications/udp-client-server/udp-client-server-test.cc
create mode 100644 code/src/applications/udp-client-server/udp-client.cc
create mode 100644 code/src/applications/udp-client-server/udp-client.h
create mode 100644 code/src/applications/udp-client-server/udp-server.cc
create mode 100644 code/src/applications/udp-client-server/udp-server.h
create mode 100644 code/src/applications/udp-client-server/udp-trace-client.cc
create mode 100644 code/src/applications/udp-client-server/udp-trace-client.h
create mode 100644 code/src/applications/udp-client-server/waf
create mode 100644 code/src/applications/udp-client-server/wscript
create mode 100644 code/src/applications/udp-echo/udp-echo-client.cc
create mode 100644 code/src/applications/udp-echo/udp-echo-client.h
create mode 100644 code/src/applications/udp-echo/udp-echo-server.cc
create mode 100644 code/src/applications/udp-echo/udp-echo-server.h
create mode 100755 code/src/applications/udp-echo/waf
create mode 100644 code/src/applications/udp-echo/wscript
create mode 100644 code/src/applications/v4ping/v4ping.cc
create mode 100644 code/src/applications/v4ping/v4ping.h
create mode 100644 code/src/applications/v4ping/wscript
create mode 100644 code/src/common/buffer-test.cc
create mode 100644 code/src/common/buffer.cc
create mode 100644 code/src/common/buffer.h
create mode 100644 code/src/common/byte-tag-list.cc
create mode 100644 code/src/common/byte-tag-list.h
create mode 100644 code/src/common/chunk.cc
create mode 100644 code/src/common/chunk.h
create mode 100644 code/src/common/cost231-propagation-loss-model.cc
create mode 100644 code/src/common/cost231-propagation-loss-model.h
create mode 100644 code/src/common/data-rate.cc
create mode 100644 code/src/common/data-rate.h
create mode 100644 code/src/common/error-model.cc
create mode 100644 code/src/common/error-model.h
create mode 100644 code/src/common/friis-spectrum-propagation-loss.cc
create mode 100644 code/src/common/friis-spectrum-propagation-loss.h
create mode 100644 code/src/common/header.cc
create mode 100644 code/src/common/header.h
create mode 100644 code/src/common/jakes-propagation-loss-model.cc
create mode 100644 code/src/common/jakes-propagation-loss-model.h
create mode 100644 code/src/common/known.pcap
create mode 100644 code/src/common/nix-vector.cc
create mode 100644 code/src/common/nix-vector.h
create mode 100644 code/src/common/output-stream-wrapper.cc
create mode 100644 code/src/common/output-stream-wrapper.h
create mode 100644 code/src/common/packet-burst.cc
create mode 100644 code/src/common/packet-burst.h
create mode 100644 code/src/common/packet-metadata-test.cc
create mode 100644 code/src/common/packet-metadata.cc
create mode 100644 code/src/common/packet-metadata.h
create mode 100644 code/src/common/packet-tag-list.cc
create mode 100644 code/src/common/packet-tag-list.h
create mode 100644 code/src/common/packet.cc
create mode 100644 code/src/common/packet.h
create mode 100644 code/src/common/pcap-file-test-suite.cc
create mode 100644 code/src/common/pcap-file-wrapper.cc
create mode 100644 code/src/common/pcap-file-wrapper.h
create mode 100644 code/src/common/pcap-file.cc
create mode 100644 code/src/common/pcap-file.h
create mode 100644 code/src/common/propagation-delay-model.cc
create mode 100644 code/src/common/propagation-delay-model.h
create mode 100644 code/src/common/propagation-loss-model-test-suite.cc
create mode 100644 code/src/common/propagation-loss-model.cc
create mode 100644 code/src/common/propagation-loss-model.h
create mode 100644 code/src/common/sequence-number.cc
create mode 100644 code/src/common/sequence-number.h
create mode 100644 code/src/common/sgi-hashmap.h
create mode 100644 code/src/common/spectrum-converter.cc
create mode 100644 code/src/common/spectrum-converter.h
create mode 100644 code/src/common/spectrum-model.cc
create mode 100644 code/src/common/spectrum-model.h
create mode 100644 code/src/common/spectrum-propagation-loss-model.cc
create mode 100644 code/src/common/spectrum-propagation-loss-model.h
create mode 100644 code/src/common/spectrum-type.cc
create mode 100644 code/src/common/spectrum-type.h
create mode 100644 code/src/common/spectrum-value-test.cc
create mode 100644 code/src/common/spectrum-value.cc
create mode 100644 code/src/common/spectrum-value.h
create mode 100644 code/src/common/tag-buffer.cc
create mode 100644 code/src/common/tag-buffer.h
create mode 100644 code/src/common/tag.cc
create mode 100644 code/src/common/tag.h
create mode 100644 code/src/common/trailer.cc
create mode 100644 code/src/common/trailer.h
create mode 100755 code/src/common/waf
create mode 100644 code/src/common/wscript
create mode 100644 code/src/contrib/attribute-default-iterator.cc
create mode 100644 code/src/contrib/attribute-default-iterator.h
create mode 100644 code/src/contrib/attribute-iterator.cc
create mode 100644 code/src/contrib/attribute-iterator.h
create mode 100644 code/src/contrib/average.h
create mode 100644 code/src/contrib/config-store.cc
create mode 100644 code/src/contrib/config-store.h
create mode 100644 code/src/contrib/contrib.h
create mode 100644 code/src/contrib/delay-jitter-estimation.cc
create mode 100644 code/src/contrib/delay-jitter-estimation.h
create mode 100644 code/src/contrib/display-functions.cc
create mode 100644 code/src/contrib/display-functions.h
create mode 100644 code/src/contrib/energy/examples/li-ion-energy-source.cc
create mode 100644 code/src/contrib/energy/examples/wscript
create mode 100644 code/src/contrib/energy/helper/basic-energy-source-helper.cc
create mode 100644 code/src/contrib/energy/helper/basic-energy-source-helper.h
create mode 100644 code/src/contrib/energy/helper/energy-model-helper.cc
create mode 100644 code/src/contrib/energy/helper/energy-model-helper.h
create mode 100644 code/src/contrib/energy/helper/energy-source-container.cc
create mode 100644 code/src/contrib/energy/helper/energy-source-container.h
create mode 100644 code/src/contrib/energy/helper/rv-battery-model-helper.cc
create mode 100644 code/src/contrib/energy/helper/rv-battery-model-helper.h
create mode 100644 code/src/contrib/energy/helper/wifi-radio-energy-model-helper.cc
create mode 100644 code/src/contrib/energy/helper/wifi-radio-energy-model-helper.h
create mode 100644 code/src/contrib/energy/model/basic-energy-source.cc
create mode 100644 code/src/contrib/energy/model/basic-energy-source.h
create mode 100644 code/src/contrib/energy/model/device-energy-model-container.cc
create mode 100644 code/src/contrib/energy/model/device-energy-model-container.h
create mode 100644 code/src/contrib/energy/model/device-energy-model.cc
create mode 100644 code/src/contrib/energy/model/device-energy-model.h
create mode 100644 code/src/contrib/energy/model/energy-source.cc
create mode 100644 code/src/contrib/energy/model/energy-source.h
create mode 100644 code/src/contrib/energy/model/li-ion-energy-source.cc
create mode 100644 code/src/contrib/energy/model/li-ion-energy-source.h
create mode 100644 code/src/contrib/energy/model/rv-battery-model.cc
create mode 100644 code/src/contrib/energy/model/rv-battery-model.h
create mode 100644 code/src/contrib/energy/model/simple-device-energy-model.cc
create mode 100644 code/src/contrib/energy/model/simple-device-energy-model.h
create mode 100644 code/src/contrib/energy/model/wifi-radio-energy-model.cc
create mode 100644 code/src/contrib/energy/model/wifi-radio-energy-model.h
create mode 100644 code/src/contrib/energy/test/basic-energy-model-test.cc
create mode 100644 code/src/contrib/energy/test/li-ion-energy-source-test.cc
create mode 100644 code/src/contrib/energy/test/rv-battery-model-test.cc
create mode 100644 code/src/contrib/energy/wscript
create mode 100644 code/src/contrib/event-garbage-collector.cc
create mode 100644 code/src/contrib/event-garbage-collector.h
create mode 100644 code/src/contrib/file-config.cc
create mode 100644 code/src/contrib/file-config.h
create mode 100644 code/src/contrib/flow-id-tag.cc
create mode 100644 code/src/contrib/flow-id-tag.h
create mode 100644 code/src/contrib/flow-monitor/doc/design.txt
create mode 100644 code/src/contrib/flow-monitor/examples/flowmon-parse-results.py
create mode 100644 code/src/contrib/flow-monitor/examples/wifi-olsr-flowmon.py
create mode 100644 code/src/contrib/flow-monitor/helper/flow-monitor-helper.cc
create mode 100644 code/src/contrib/flow-monitor/helper/flow-monitor-helper.h
create mode 100644 code/src/contrib/flow-monitor/model/flow-classifier.cc
create mode 100644 code/src/contrib/flow-monitor/model/flow-classifier.h
create mode 100644 code/src/contrib/flow-monitor/model/flow-monitor.cc
create mode 100644 code/src/contrib/flow-monitor/model/flow-monitor.h
create mode 100644 code/src/contrib/flow-monitor/model/flow-probe.cc
create mode 100644 code/src/contrib/flow-monitor/model/flow-probe.h
create mode 100644 code/src/contrib/flow-monitor/model/histogram.cc
create mode 100644 code/src/contrib/flow-monitor/model/histogram.h
create mode 100644 code/src/contrib/flow-monitor/model/ipv4-flow-classifier.cc
create mode 100644 code/src/contrib/flow-monitor/model/ipv4-flow-classifier.h
create mode 100644 code/src/contrib/flow-monitor/model/ipv4-flow-probe.cc
create mode 100644 code/src/contrib/flow-monitor/model/ipv4-flow-probe.h
create mode 100755 code/src/contrib/flow-monitor/waf
create mode 100644 code/src/contrib/flow-monitor/wscript
create mode 100644 code/src/contrib/gnuplot.cc
create mode 100644 code/src/contrib/gnuplot.h
create mode 100644 code/src/contrib/gtk-config-store.cc
create mode 100644 code/src/contrib/gtk-config-store.h
create mode 100644 code/src/contrib/model-node-creator.cc
create mode 100644 code/src/contrib/model-node-creator.h
create mode 100644 code/src/contrib/model-typeid-creator.cc
create mode 100644 code/src/contrib/model-typeid-creator.h
create mode 100644 code/src/contrib/raw-text-config.cc
create mode 100644 code/src/contrib/raw-text-config.h
create mode 100644 code/src/contrib/stats/basic-data-calculators.h
create mode 100644 code/src/contrib/stats/data-calculator.cc
create mode 100644 code/src/contrib/stats/data-calculator.h
create mode 100644 code/src/contrib/stats/data-collector.cc
create mode 100644 code/src/contrib/stats/data-collector.h
create mode 100644 code/src/contrib/stats/data-output-interface.cc
create mode 100644 code/src/contrib/stats/data-output-interface.h
create mode 100644 code/src/contrib/stats/omnet-data-output.cc
create mode 100644 code/src/contrib/stats/omnet-data-output.h
create mode 100644 code/src/contrib/stats/packet-data-calculators.cc
create mode 100644 code/src/contrib/stats/packet-data-calculators.h
create mode 100644 code/src/contrib/stats/sqlite-data-output.cc
create mode 100644 code/src/contrib/stats/sqlite-data-output.h
create mode 100644 code/src/contrib/stats/time-data-calculators.cc
create mode 100644 code/src/contrib/stats/time-data-calculators.h
create mode 100644 code/src/contrib/stats/wscript
create mode 100644 code/src/contrib/topology-read/inet-topology-reader.cc
create mode 100644 code/src/contrib/topology-read/inet-topology-reader.h
create mode 100644 code/src/contrib/topology-read/orbis-topology-reader.cc
create mode 100644 code/src/contrib/topology-read/orbis-topology-reader.h
create mode 100644 code/src/contrib/topology-read/rocketfuel-topology-reader.cc
create mode 100644 code/src/contrib/topology-read/rocketfuel-topology-reader.h
create mode 100644 code/src/contrib/topology-read/topology-reader.cc
create mode 100644 code/src/contrib/topology-read/topology-reader.h
create mode 100644 code/src/contrib/topology-read/topology.h
create mode 100644 code/src/contrib/topology-read/wscript
create mode 100644 code/src/contrib/wscript
create mode 100644 code/src/contrib/xml-config.cc
create mode 100644 code/src/contrib/xml-config.h
create mode 100644 code/src/core/abort.h
create mode 100644 code/src/core/assert.h
create mode 100644 code/src/core/attribute-accessor-helper.h
create mode 100644 code/src/core/attribute-helper.h
create mode 100644 code/src/core/attribute-list.cc
create mode 100644 code/src/core/attribute-list.h
create mode 100644 code/src/core/attribute-test-suite.cc
create mode 100644 code/src/core/attribute.cc
create mode 100644 code/src/core/attribute.h
create mode 100644 code/src/core/boolean.cc
create mode 100644 code/src/core/boolean.h
create mode 100644 code/src/core/breakpoint.cc
create mode 100644 code/src/core/breakpoint.h
create mode 100644 code/src/core/callback-test-suite.cc
create mode 100644 code/src/core/callback.cc
create mode 100644 code/src/core/callback.h
create mode 100644 code/src/core/command-line.cc
create mode 100644 code/src/core/command-line.h
create mode 100644 code/src/core/config.cc
create mode 100644 code/src/core/config.h
create mode 100644 code/src/core/default-deleter.h
create mode 100644 code/src/core/deprecated.h
create mode 100644 code/src/core/double.cc
create mode 100644 code/src/core/double.h
create mode 100644 code/src/core/empty.h
create mode 100644 code/src/core/enum.cc
create mode 100644 code/src/core/enum.h
create mode 100644 code/src/core/fatal-error.h
create mode 100644 code/src/core/fatal-impl.cc
create mode 100644 code/src/core/fatal-impl.h
create mode 100644 code/src/core/global-value.cc
create mode 100644 code/src/core/global-value.h
create mode 100644 code/src/core/int-to-type.h
create mode 100644 code/src/core/integer.cc
create mode 100644 code/src/core/integer.h
create mode 100644 code/src/core/log.cc
create mode 100644 code/src/core/log.h
create mode 100644 code/src/core/names-test-suite.cc
create mode 100644 code/src/core/names.cc
create mode 100644 code/src/core/names.h
create mode 100644 code/src/core/object-base.cc
create mode 100644 code/src/core/object-base.h
create mode 100644 code/src/core/object-factory.cc
create mode 100644 code/src/core/object-factory.h
create mode 100644 code/src/core/object-vector.cc
create mode 100644 code/src/core/object-vector.h
create mode 100644 code/src/core/object.cc
create mode 100644 code/src/core/object.h
create mode 100644 code/src/core/pointer.cc
create mode 100644 code/src/core/pointer.h
create mode 100644 code/src/core/ptr-test-suite.cc
create mode 100644 code/src/core/ptr.h
create mode 100644 code/src/core/random-variable.cc
create mode 100644 code/src/core/random-variable.h
create mode 100644 code/src/core/ref-count-base.cc
create mode 100644 code/src/core/ref-count-base.h
create mode 100644 code/src/core/rng-stream.cc
create mode 100644 code/src/core/rng-stream.h
create mode 100644 code/src/core/rng-test-suite.cc
create mode 100644 code/src/core/simple-ref-count.h
create mode 100644 code/src/core/singleton.h
create mode 100644 code/src/core/string.cc
create mode 100644 code/src/core/string.h
create mode 100644 code/src/core/system-condition.h
create mode 100644 code/src/core/system-mutex.h
create mode 100644 code/src/core/system-thread.h
create mode 100644 code/src/core/system-wall-clock-ms.h
create mode 100644 code/src/core/test.cc
create mode 100644 code/src/core/test.h
create mode 100644 code/src/core/trace-source-accessor.cc
create mode 100644 code/src/core/trace-source-accessor.h
create mode 100644 code/src/core/traced-callback-test-suite.cc
create mode 100644 code/src/core/traced-callback.h
create mode 100644 code/src/core/traced-value.h
create mode 100644 code/src/core/type-id.cc
create mode 100644 code/src/core/type-id.h
create mode 100644 code/src/core/type-name.cc
create mode 100644 code/src/core/type-name.h
create mode 100644 code/src/core/type-traits-test-suite.cc
create mode 100644 code/src/core/type-traits.h
create mode 100644 code/src/core/uinteger.cc
create mode 100644 code/src/core/uinteger.h
create mode 100644 code/src/core/unix-fd-reader.cc
create mode 100644 code/src/core/unix-fd-reader.h
create mode 100644 code/src/core/unix-system-condition.cc
create mode 100644 code/src/core/unix-system-mutex.cc
create mode 100644 code/src/core/unix-system-thread.cc
create mode 100644 code/src/core/unix-system-wall-clock-ms.cc
create mode 100644 code/src/core/vector.cc
create mode 100644 code/src/core/vector.h
create mode 100755 code/src/core/waf
create mode 100644 code/src/core/win32-system-wall-clock-ms.cc
create mode 100644 code/src/core/wscript
create mode 100644 code/src/devices/bridge/examples/csma-bridge-one-hop.cc
create mode 100644 code/src/devices/bridge/examples/csma-bridge.cc
create mode 100644 code/src/devices/bridge/examples/csma-bridge.py
create mode 100644 code/src/devices/bridge/examples/wscript
create mode 100644 code/src/devices/bridge/helper/bridge-helper.cc
create mode 100644 code/src/devices/bridge/helper/bridge-helper.h
create mode 100644 code/src/devices/bridge/model/bridge-channel.cc
create mode 100644 code/src/devices/bridge/model/bridge-channel.h
create mode 100644 code/src/devices/bridge/model/bridge-net-device.cc
create mode 100644 code/src/devices/bridge/model/bridge-net-device.h
create mode 100755 code/src/devices/bridge/waf
create mode 100644 code/src/devices/bridge/wscript
create mode 100644 code/src/devices/csma/backoff.cc
create mode 100644 code/src/devices/csma/backoff.h
create mode 100644 code/src/devices/csma/csma-channel.cc
create mode 100644 code/src/devices/csma/csma-channel.h
create mode 100644 code/src/devices/csma/csma-net-device.cc
create mode 100644 code/src/devices/csma/csma-net-device.h
create mode 100644 code/src/devices/csma/csma.h
create mode 100755 code/src/devices/csma/waf
create mode 100644 code/src/devices/csma/wscript
create mode 100644 code/src/devices/emu/emu-encode-decode.cc
create mode 100644 code/src/devices/emu/emu-encode-decode.h
create mode 100644 code/src/devices/emu/emu-net-device.cc
create mode 100644 code/src/devices/emu/emu-net-device.h
create mode 100644 code/src/devices/emu/emu-sock-creator.cc
create mode 100644 code/src/devices/emu/emu.h
create mode 100755 code/src/devices/emu/waf
create mode 100644 code/src/devices/emu/wscript
create mode 100644 code/src/devices/lte/AUTHORS
create mode 100644 code/src/devices/lte/examples/lte-amc.cc
create mode 100644 code/src/devices/lte/examples/lte-channel-model.cc
create mode 100644 code/src/devices/lte/examples/lte-device.cc
create mode 100644 code/src/devices/lte/examples/lte-multiple-flows.cc
create mode 100644 code/src/devices/lte/examples/lte-phy-downlink.cc
create mode 100644 code/src/devices/lte/examples/lte-phy-uplink.cc
create mode 100644 code/src/devices/lte/examples/waf
create mode 100644 code/src/devices/lte/examples/wscript
create mode 100644 code/src/devices/lte/helper/lte-helper.cc
create mode 100644 code/src/devices/lte/helper/lte-helper.h
create mode 100644 code/src/devices/lte/model/JakesTraces/multipath_v0_M10.h
create mode 100644 code/src/devices/lte/model/JakesTraces/multipath_v0_M12.h
create mode 100644 code/src/devices/lte/model/JakesTraces/multipath_v0_M6.h
create mode 100644 code/src/devices/lte/model/JakesTraces/multipath_v0_M8.h
create mode 100644 code/src/devices/lte/model/JakesTraces/multipath_v120_M10.h
create mode 100644 code/src/devices/lte/model/JakesTraces/multipath_v120_M12.h
create mode 100644 code/src/devices/lte/model/JakesTraces/multipath_v120_M6.h
create mode 100644 code/src/devices/lte/model/JakesTraces/multipath_v120_M8.h
create mode 100644 code/src/devices/lte/model/JakesTraces/multipath_v30_M10.h
create mode 100644 code/src/devices/lte/model/JakesTraces/multipath_v30_M12.h
create mode 100644 code/src/devices/lte/model/JakesTraces/multipath_v30_M6.h
create mode 100644 code/src/devices/lte/model/JakesTraces/multipath_v30_M8.h
create mode 100644 code/src/devices/lte/model/JakesTraces/multipath_v3_M10.h
create mode 100644 code/src/devices/lte/model/JakesTraces/multipath_v3_M12.h
create mode 100644 code/src/devices/lte/model/JakesTraces/multipath_v3_M6.h
create mode 100644 code/src/devices/lte/model/JakesTraces/multipath_v3_M8.h
create mode 100644 code/src/devices/lte/model/amc-module.cc
create mode 100644 code/src/devices/lte/model/amc-module.h
create mode 100644 code/src/devices/lte/model/bearer-qos-parameters.cc
create mode 100644 code/src/devices/lte/model/bearer-qos-parameters.h
create mode 100644 code/src/devices/lte/model/channel-realization.cc
create mode 100644 code/src/devices/lte/model/channel-realization.h
create mode 100644 code/src/devices/lte/model/discrete-time-loss-model.cc
create mode 100644 code/src/devices/lte/model/discrete-time-loss-model.h
create mode 100644 code/src/devices/lte/model/enb-lte-spectrum-phy.cc
create mode 100644 code/src/devices/lte/model/enb-lte-spectrum-phy.h
create mode 100644 code/src/devices/lte/model/enb-mac-entity.cc
create mode 100644 code/src/devices/lte/model/enb-mac-entity.h
create mode 100644 code/src/devices/lte/model/enb-net-device.cc
create mode 100644 code/src/devices/lte/model/enb-net-device.h
create mode 100644 code/src/devices/lte/model/enb-phy.cc
create mode 100644 code/src/devices/lte/model/enb-phy.h
create mode 100644 code/src/devices/lte/model/ideal-control-messages.cc
create mode 100644 code/src/devices/lte/model/ideal-control-messages.h
create mode 100644 code/src/devices/lte/model/jakes-fading-loss-model.cc
create mode 100644 code/src/devices/lte/model/jakes-fading-loss-model.h
create mode 100644 code/src/devices/lte/model/jakes-fading-realizations.h
create mode 100644 code/src/devices/lte/model/lte-mac-header.cc
create mode 100644 code/src/devices/lte/model/lte-mac-header.h
create mode 100644 code/src/devices/lte/model/lte-mac-queue.cc
create mode 100644 code/src/devices/lte/model/lte-mac-queue.h
create mode 100644 code/src/devices/lte/model/lte-net-device.cc
create mode 100644 code/src/devices/lte/model/lte-net-device.h
create mode 100644 code/src/devices/lte/model/lte-phy.cc
create mode 100644 code/src/devices/lte/model/lte-phy.h
create mode 100644 code/src/devices/lte/model/lte-propagation-loss-model.cc
create mode 100644 code/src/devices/lte/model/lte-propagation-loss-model.h
create mode 100644 code/src/devices/lte/model/lte-spectrum-phy.cc
create mode 100644 code/src/devices/lte/model/lte-spectrum-phy.h
create mode 100644 code/src/devices/lte/model/lte-spectrum-value-helper.cc
create mode 100644 code/src/devices/lte/model/lte-spectrum-value-helper.h
create mode 100644 code/src/devices/lte/model/mac-entity.cc
create mode 100644 code/src/devices/lte/model/mac-entity.h
create mode 100644 code/src/devices/lte/model/packet-scheduler.cc
create mode 100644 code/src/devices/lte/model/packet-scheduler.h
create mode 100644 code/src/devices/lte/model/path-loss-model.cc
create mode 100644 code/src/devices/lte/model/path-loss-model.h
create mode 100644 code/src/devices/lte/model/penetration-loss-model.cc
create mode 100644 code/src/devices/lte/model/penetration-loss-model.h
create mode 100644 code/src/devices/lte/model/radio-bearer-instance.cc
create mode 100644 code/src/devices/lte/model/radio-bearer-instance.h
create mode 100644 code/src/devices/lte/model/rlc-entity.cc
create mode 100644 code/src/devices/lte/model/rlc-entity.h
create mode 100644 code/src/devices/lte/model/rrc-entity.cc
create mode 100644 code/src/devices/lte/model/rrc-entity.h
create mode 100644 code/src/devices/lte/model/shadowing-loss-model.cc
create mode 100644 code/src/devices/lte/model/shadowing-loss-model.h
create mode 100644 code/src/devices/lte/model/simple-packet-scheduler.cc
create mode 100644 code/src/devices/lte/model/simple-packet-scheduler.h
create mode 100644 code/src/devices/lte/model/ue-lte-spectrum-phy.cc
create mode 100644 code/src/devices/lte/model/ue-lte-spectrum-phy.h
create mode 100644 code/src/devices/lte/model/ue-mac-entity.cc
create mode 100644 code/src/devices/lte/model/ue-mac-entity.h
create mode 100644 code/src/devices/lte/model/ue-manager.cc
create mode 100644 code/src/devices/lte/model/ue-manager.h
create mode 100644 code/src/devices/lte/model/ue-net-device.cc
create mode 100644 code/src/devices/lte/model/ue-net-device.h
create mode 100644 code/src/devices/lte/model/ue-phy.cc
create mode 100644 code/src/devices/lte/model/ue-phy.h
create mode 100644 code/src/devices/lte/model/ue-record.cc
create mode 100644 code/src/devices/lte/model/ue-record.h
create mode 100644 code/src/devices/lte/test/lte-bearer-test.cc
create mode 100644 code/src/devices/lte/test/lte-device-test.cc
create mode 100644 code/src/devices/lte/test/lte-phy-test.cc
create mode 100644 code/src/devices/lte/test/lte-propagation-loss-model-test.cc
create mode 100644 code/src/devices/lte/wscript
create mode 100644 code/src/devices/mesh/dot11s/airtime-metric.cc
create mode 100644 code/src/devices/mesh/dot11s/airtime-metric.h
create mode 100644 code/src/devices/mesh/dot11s/dot11s-mac-header.cc
create mode 100644 code/src/devices/mesh/dot11s/dot11s-mac-header.h
create mode 100644 code/src/devices/mesh/dot11s/dot11s.h
create mode 100644 code/src/devices/mesh/dot11s/hwmp-protocol-mac.cc
create mode 100644 code/src/devices/mesh/dot11s/hwmp-protocol-mac.h
create mode 100644 code/src/devices/mesh/dot11s/hwmp-protocol.cc
create mode 100644 code/src/devices/mesh/dot11s/hwmp-protocol.h
create mode 100644 code/src/devices/mesh/dot11s/hwmp-rtable.cc
create mode 100644 code/src/devices/mesh/dot11s/hwmp-rtable.h
create mode 100644 code/src/devices/mesh/dot11s/hwmp-tag.cc
create mode 100644 code/src/devices/mesh/dot11s/hwmp-tag.h
create mode 100644 code/src/devices/mesh/dot11s/ie-dot11s-beacon-timing.cc
create mode 100644 code/src/devices/mesh/dot11s/ie-dot11s-beacon-timing.h
create mode 100644 code/src/devices/mesh/dot11s/ie-dot11s-configuration.cc
create mode 100644 code/src/devices/mesh/dot11s/ie-dot11s-configuration.h
create mode 100644 code/src/devices/mesh/dot11s/ie-dot11s-id.cc
create mode 100644 code/src/devices/mesh/dot11s/ie-dot11s-id.h
create mode 100644 code/src/devices/mesh/dot11s/ie-dot11s-metric-report.cc
create mode 100644 code/src/devices/mesh/dot11s/ie-dot11s-metric-report.h
create mode 100644 code/src/devices/mesh/dot11s/ie-dot11s-peer-management.cc
create mode 100644 code/src/devices/mesh/dot11s/ie-dot11s-peer-management.h
create mode 100644 code/src/devices/mesh/dot11s/ie-dot11s-peering-protocol.cc
create mode 100644 code/src/devices/mesh/dot11s/ie-dot11s-peering-protocol.h
create mode 100644 code/src/devices/mesh/dot11s/ie-dot11s-perr.cc
create mode 100644 code/src/devices/mesh/dot11s/ie-dot11s-perr.h
create mode 100644 code/src/devices/mesh/dot11s/ie-dot11s-prep.cc
create mode 100644 code/src/devices/mesh/dot11s/ie-dot11s-prep.h
create mode 100644 code/src/devices/mesh/dot11s/ie-dot11s-preq.cc
create mode 100644 code/src/devices/mesh/dot11s/ie-dot11s-preq.h
create mode 100644 code/src/devices/mesh/dot11s/ie-dot11s-rann.cc
create mode 100644 code/src/devices/mesh/dot11s/ie-dot11s-rann.h
create mode 100644 code/src/devices/mesh/dot11s/peer-link-frame.cc
create mode 100644 code/src/devices/mesh/dot11s/peer-link-frame.h
create mode 100644 code/src/devices/mesh/dot11s/peer-link.cc
create mode 100644 code/src/devices/mesh/dot11s/peer-link.h
create mode 100644 code/src/devices/mesh/dot11s/peer-management-protocol-mac.cc
create mode 100644 code/src/devices/mesh/dot11s/peer-management-protocol-mac.h
create mode 100644 code/src/devices/mesh/dot11s/peer-management-protocol.cc
create mode 100644 code/src/devices/mesh/dot11s/peer-management-protocol.h
create mode 100644 code/src/devices/mesh/dot11s/test/dot11s-test-suite.cc
create mode 100644 code/src/devices/mesh/dot11s/test/hwmp-proactive-regression-test-0-1.pcap
create mode 100644 code/src/devices/mesh/dot11s/test/hwmp-proactive-regression-test-1-1.pcap
create mode 100644 code/src/devices/mesh/dot11s/test/hwmp-proactive-regression-test-2-1.pcap
create mode 100644 code/src/devices/mesh/dot11s/test/hwmp-proactive-regression-test-3-1.pcap
create mode 100644 code/src/devices/mesh/dot11s/test/hwmp-proactive-regression-test-4-1.pcap
create mode 100644 code/src/devices/mesh/dot11s/test/hwmp-proactive-regression.cc
create mode 100644 code/src/devices/mesh/dot11s/test/hwmp-proactive-regression.h
create mode 100644 code/src/devices/mesh/dot11s/test/hwmp-reactive-regression-test-0-1.pcap
create mode 100644 code/src/devices/mesh/dot11s/test/hwmp-reactive-regression-test-1-1.pcap
create mode 100644 code/src/devices/mesh/dot11s/test/hwmp-reactive-regression-test-2-1.pcap
create mode 100644 code/src/devices/mesh/dot11s/test/hwmp-reactive-regression-test-3-1.pcap
create mode 100644 code/src/devices/mesh/dot11s/test/hwmp-reactive-regression-test-4-1.pcap
create mode 100644 code/src/devices/mesh/dot11s/test/hwmp-reactive-regression-test-5-1.pcap
create mode 100644 code/src/devices/mesh/dot11s/test/hwmp-reactive-regression.cc
create mode 100644 code/src/devices/mesh/dot11s/test/hwmp-reactive-regression.h
create mode 100644 code/src/devices/mesh/dot11s/test/hwmp-simplest-regression-test-0-1.pcap
create mode 100644 code/src/devices/mesh/dot11s/test/hwmp-simplest-regression-test-1-1.pcap
create mode 100644 code/src/devices/mesh/dot11s/test/hwmp-simplest-regression.cc
create mode 100644 code/src/devices/mesh/dot11s/test/hwmp-simplest-regression.h
create mode 100644 code/src/devices/mesh/dot11s/test/hwmp-target-flags-regression-test-0-1.pcap
create mode 100644 code/src/devices/mesh/dot11s/test/hwmp-target-flags-regression-test-1-1.pcap
create mode 100644 code/src/devices/mesh/dot11s/test/hwmp-target-flags-regression-test-2-1.pcap
create mode 100644 code/src/devices/mesh/dot11s/test/hwmp-target-flags-regression-test-3-1.pcap
create mode 100644 code/src/devices/mesh/dot11s/test/hwmp-target-flags-regression.cc
create mode 100644 code/src/devices/mesh/dot11s/test/hwmp-target-flags-regression.h
create mode 100644 code/src/devices/mesh/dot11s/test/pmp-regression-test-0-1.pcap
create mode 100644 code/src/devices/mesh/dot11s/test/pmp-regression-test-1-1.pcap
create mode 100644 code/src/devices/mesh/dot11s/test/pmp-regression.cc
create mode 100644 code/src/devices/mesh/dot11s/test/pmp-regression.h
create mode 100644 code/src/devices/mesh/dot11s/test/regression.cc
create mode 100755 code/src/devices/mesh/dot11s/waf
create mode 100644 code/src/devices/mesh/dot11s/wscript
create mode 100644 code/src/devices/mesh/flame/flame-header.cc
create mode 100644 code/src/devices/mesh/flame/flame-header.h
create mode 100644 code/src/devices/mesh/flame/flame-protocol-mac.cc
create mode 100644 code/src/devices/mesh/flame/flame-protocol-mac.h
create mode 100644 code/src/devices/mesh/flame/flame-protocol.cc
create mode 100644 code/src/devices/mesh/flame/flame-protocol.h
create mode 100644 code/src/devices/mesh/flame/flame-rtable.cc
create mode 100644 code/src/devices/mesh/flame/flame-rtable.h
create mode 100644 code/src/devices/mesh/flame/flame-test-suite.cc
create mode 100644 code/src/devices/mesh/flame/test/flame-regression-test-0-1.pcap
create mode 100644 code/src/devices/mesh/flame/test/flame-regression-test-1-1.pcap
create mode 100644 code/src/devices/mesh/flame/test/flame-regression-test-2-1.pcap
create mode 100644 code/src/devices/mesh/flame/test/flame-regression.cc
create mode 100644 code/src/devices/mesh/flame/test/flame-regression.h
create mode 100644 code/src/devices/mesh/flame/test/regression.cc
create mode 100644 code/src/devices/mesh/flame/wscript
create mode 100644 code/src/devices/mesh/mesh-information-element-vector.cc
create mode 100644 code/src/devices/mesh/mesh-information-element-vector.h
create mode 100644 code/src/devices/mesh/mesh-information-element.h
create mode 100644 code/src/devices/mesh/mesh-l2-routing-protocol.cc
create mode 100644 code/src/devices/mesh/mesh-l2-routing-protocol.h
create mode 100644 code/src/devices/mesh/mesh-point-device.cc
create mode 100644 code/src/devices/mesh/mesh-point-device.h
create mode 100644 code/src/devices/mesh/mesh-wifi-beacon.cc
create mode 100644 code/src/devices/mesh/mesh-wifi-beacon.h
create mode 100644 code/src/devices/mesh/mesh-wifi-interface-mac-plugin.h
create mode 100644 code/src/devices/mesh/mesh-wifi-interface-mac.cc
create mode 100644 code/src/devices/mesh/mesh-wifi-interface-mac.h
create mode 100644 code/src/devices/mesh/mesh.h
create mode 100755 code/src/devices/mesh/waf
create mode 100644 code/src/devices/mesh/wscript
create mode 100644 code/src/devices/point-to-point/point-to-point-channel.cc
create mode 100644 code/src/devices/point-to-point/point-to-point-channel.h
create mode 100644 code/src/devices/point-to-point/point-to-point-net-device.cc
create mode 100644 code/src/devices/point-to-point/point-to-point-net-device.h
create mode 100644 code/src/devices/point-to-point/point-to-point-remote-channel.cc
create mode 100644 code/src/devices/point-to-point/point-to-point-remote-channel.h
create mode 100644 code/src/devices/point-to-point/point-to-point-test.cc
create mode 100644 code/src/devices/point-to-point/point-to-point.h
create mode 100644 code/src/devices/point-to-point/ppp-header.cc
create mode 100644 code/src/devices/point-to-point/ppp-header.h
create mode 100755 code/src/devices/point-to-point/waf
create mode 100644 code/src/devices/point-to-point/wscript
create mode 100644 code/src/devices/spectrum/aloha-noack-mac-header.cc
create mode 100644 code/src/devices/spectrum/aloha-noack-mac-header.h
create mode 100644 code/src/devices/spectrum/aloha-noack-net-device.cc
create mode 100644 code/src/devices/spectrum/aloha-noack-net-device.h
create mode 100644 code/src/devices/spectrum/half-duplex-ideal-phy.cc
create mode 100644 code/src/devices/spectrum/half-duplex-ideal-phy.h
create mode 100644 code/src/devices/spectrum/microwave-oven-spectrum-value-helper.cc
create mode 100644 code/src/devices/spectrum/microwave-oven-spectrum-value-helper.h
create mode 100644 code/src/devices/spectrum/multi-model-spectrum-channel.cc
create mode 100644 code/src/devices/spectrum/multi-model-spectrum-channel.h
create mode 100644 code/src/devices/spectrum/non-communicating-net-device.cc
create mode 100644 code/src/devices/spectrum/non-communicating-net-device.h
create mode 100644 code/src/devices/spectrum/single-model-spectrum-channel.cc
create mode 100644 code/src/devices/spectrum/single-model-spectrum-channel.h
create mode 100644 code/src/devices/spectrum/spectrum-analyzer.cc
create mode 100644 code/src/devices/spectrum/spectrum-analyzer.h
create mode 100644 code/src/devices/spectrum/spectrum-error-model.cc
create mode 100644 code/src/devices/spectrum/spectrum-error-model.h
create mode 100644 code/src/devices/spectrum/spectrum-interference-test.cc
create mode 100644 code/src/devices/spectrum/spectrum-interference.cc
create mode 100644 code/src/devices/spectrum/spectrum-interference.h
create mode 100644 code/src/devices/spectrum/spectrum-model-300kHz-300GHz-log.cc
create mode 100644 code/src/devices/spectrum/spectrum-model-300kHz-300GHz-log.h
create mode 100644 code/src/devices/spectrum/spectrum-model-ism2400MHz-res1MHz.cc
create mode 100644 code/src/devices/spectrum/spectrum-model-ism2400MHz-res1MHz.h
create mode 100644 code/src/devices/spectrum/waveform-generator.cc
create mode 100644 code/src/devices/spectrum/waveform-generator.h
create mode 100644 code/src/devices/spectrum/wifi-spectrum-value-helper.cc
create mode 100644 code/src/devices/spectrum/wifi-spectrum-value-helper.h
create mode 100644 code/src/devices/spectrum/wscript
create mode 100644 code/src/devices/tap-bridge/tap-bridge.cc
create mode 100644 code/src/devices/tap-bridge/tap-bridge.h
create mode 100644 code/src/devices/tap-bridge/tap-creator.cc
create mode 100644 code/src/devices/tap-bridge/tap-encode-decode.cc
create mode 100644 code/src/devices/tap-bridge/tap-encode-decode.h
create mode 100644 code/src/devices/tap-bridge/tap.h
create mode 100755 code/src/devices/tap-bridge/waf
create mode 100644 code/src/devices/tap-bridge/wscript
create mode 100644 code/src/devices/uan/doc/uan.h
create mode 100644 code/src/devices/uan/examples/uan-cw-example.cc
create mode 100644 code/src/devices/uan/examples/uan-cw-example.h
create mode 100644 code/src/devices/uan/examples/uan-rc-example.cc
create mode 100644 code/src/devices/uan/examples/uan-rc-example.h
create mode 100644 code/src/devices/uan/examples/wscript
create mode 100644 code/src/devices/uan/helper/acoustic-modem-energy-model-helper.cc
create mode 100644 code/src/devices/uan/helper/acoustic-modem-energy-model-helper.h
create mode 100644 code/src/devices/uan/helper/uan-helper.cc
create mode 100644 code/src/devices/uan/helper/uan-helper.h
create mode 100644 code/src/devices/uan/model/acoustic-modem-energy-model.cc
create mode 100644 code/src/devices/uan/model/acoustic-modem-energy-model.h
create mode 100644 code/src/devices/uan/model/uan-address.cc
create mode 100644 code/src/devices/uan/model/uan-address.h
create mode 100644 code/src/devices/uan/model/uan-channel.cc
create mode 100644 code/src/devices/uan/model/uan-channel.h
create mode 100644 code/src/devices/uan/model/uan-header-common.cc
create mode 100644 code/src/devices/uan/model/uan-header-common.h
create mode 100644 code/src/devices/uan/model/uan-header-rc.cc
create mode 100644 code/src/devices/uan/model/uan-header-rc.h
create mode 100644 code/src/devices/uan/model/uan-mac-aloha.cc
create mode 100644 code/src/devices/uan/model/uan-mac-aloha.h
create mode 100644 code/src/devices/uan/model/uan-mac-cw.cc
create mode 100644 code/src/devices/uan/model/uan-mac-cw.h
create mode 100644 code/src/devices/uan/model/uan-mac-rc-gw.cc
create mode 100644 code/src/devices/uan/model/uan-mac-rc-gw.h
create mode 100644 code/src/devices/uan/model/uan-mac-rc.cc
create mode 100644 code/src/devices/uan/model/uan-mac-rc.h
create mode 100644 code/src/devices/uan/model/uan-mac.h
create mode 100644 code/src/devices/uan/model/uan-net-device.cc
create mode 100644 code/src/devices/uan/model/uan-net-device.h
create mode 100644 code/src/devices/uan/model/uan-noise-model-default.cc
create mode 100644 code/src/devices/uan/model/uan-noise-model-default.h
create mode 100644 code/src/devices/uan/model/uan-noise-model.cc
create mode 100644 code/src/devices/uan/model/uan-noise-model.h
create mode 100644 code/src/devices/uan/model/uan-phy-dual.cc
create mode 100644 code/src/devices/uan/model/uan-phy-dual.h
create mode 100644 code/src/devices/uan/model/uan-phy-gen.cc
create mode 100644 code/src/devices/uan/model/uan-phy-gen.h
create mode 100644 code/src/devices/uan/model/uan-phy.cc
create mode 100644 code/src/devices/uan/model/uan-phy.h
create mode 100644 code/src/devices/uan/model/uan-prop-model-ideal.cc
create mode 100644 code/src/devices/uan/model/uan-prop-model-ideal.h
create mode 100644 code/src/devices/uan/model/uan-prop-model-thorp.cc
create mode 100644 code/src/devices/uan/model/uan-prop-model-thorp.h
create mode 100644 code/src/devices/uan/model/uan-prop-model.cc
create mode 100644 code/src/devices/uan/model/uan-prop-model.h
create mode 100644 code/src/devices/uan/model/uan-transducer-hd.cc
create mode 100644 code/src/devices/uan/model/uan-transducer-hd.h
create mode 100644 code/src/devices/uan/model/uan-transducer.h
create mode 100644 code/src/devices/uan/model/uan-tx-mode.cc
create mode 100644 code/src/devices/uan/model/uan-tx-mode.h
create mode 100644 code/src/devices/uan/test/uan-energy-model-test.cc
create mode 100644 code/src/devices/uan/test/uan-test.cc
create mode 100644 code/src/devices/uan/wscript
create mode 100644 code/src/devices/virtual-net-device/examples/virtual-net-device.cc
create mode 100644 code/src/devices/virtual-net-device/examples/wscript
create mode 100644 code/src/devices/virtual-net-device/model/virtual-net-device.cc
create mode 100644 code/src/devices/virtual-net-device/model/virtual-net-device.h
create mode 100755 code/src/devices/virtual-net-device/waf
create mode 100644 code/src/devices/virtual-net-device/wscript
create mode 100644 code/src/devices/wifi/aarf-wifi-manager.cc
create mode 100644 code/src/devices/wifi/aarf-wifi-manager.h
create mode 100644 code/src/devices/wifi/aarfcd-wifi-manager.cc
create mode 100644 code/src/devices/wifi/aarfcd-wifi-manager.h
create mode 100644 code/src/devices/wifi/adhoc-wifi-mac.cc
create mode 100644 code/src/devices/wifi/adhoc-wifi-mac.h
create mode 100644 code/src/devices/wifi/amrr-wifi-manager.cc
create mode 100644 code/src/devices/wifi/amrr-wifi-manager.h
create mode 100644 code/src/devices/wifi/amsdu-subframe-header.cc
create mode 100644 code/src/devices/wifi/amsdu-subframe-header.h
create mode 100644 code/src/devices/wifi/ap-wifi-mac.cc
create mode 100644 code/src/devices/wifi/ap-wifi-mac.h
create mode 100644 code/src/devices/wifi/arf-wifi-manager.cc
create mode 100644 code/src/devices/wifi/arf-wifi-manager.h
create mode 100644 code/src/devices/wifi/block-ack-agreement.cc
create mode 100644 code/src/devices/wifi/block-ack-agreement.h
create mode 100644 code/src/devices/wifi/block-ack-cache.cc
create mode 100644 code/src/devices/wifi/block-ack-cache.h
create mode 100644 code/src/devices/wifi/block-ack-manager.cc
create mode 100644 code/src/devices/wifi/block-ack-manager.h
create mode 100644 code/src/devices/wifi/block-ack-test-suite.cc
create mode 100644 code/src/devices/wifi/capability-information.cc
create mode 100644 code/src/devices/wifi/capability-information.h
create mode 100644 code/src/devices/wifi/cara-wifi-manager.cc
create mode 100644 code/src/devices/wifi/cara-wifi-manager.h
create mode 100644 code/src/devices/wifi/constant-rate-wifi-manager.cc
create mode 100644 code/src/devices/wifi/constant-rate-wifi-manager.h
create mode 100644 code/src/devices/wifi/ctrl-headers.cc
create mode 100644 code/src/devices/wifi/ctrl-headers.h
create mode 100644 code/src/devices/wifi/dca-txop.cc
create mode 100644 code/src/devices/wifi/dca-txop.h
create mode 100644 code/src/devices/wifi/dcf-manager-test.cc
create mode 100644 code/src/devices/wifi/dcf-manager.cc
create mode 100644 code/src/devices/wifi/dcf-manager.h
create mode 100644 code/src/devices/wifi/dcf.cc
create mode 100644 code/src/devices/wifi/dcf.h
create mode 100644 code/src/devices/wifi/dsss-error-rate-model.cc
create mode 100644 code/src/devices/wifi/dsss-error-rate-model.h
create mode 100644 code/src/devices/wifi/edca-txop-n.cc
create mode 100644 code/src/devices/wifi/edca-txop-n.h
create mode 100644 code/src/devices/wifi/error-rate-model.cc
create mode 100644 code/src/devices/wifi/error-rate-model.h
create mode 100644 code/src/devices/wifi/ideal-wifi-manager.cc
create mode 100644 code/src/devices/wifi/ideal-wifi-manager.h
create mode 100644 code/src/devices/wifi/interference-helper-tx-duration-test.cc
create mode 100644 code/src/devices/wifi/interference-helper.cc
create mode 100644 code/src/devices/wifi/interference-helper.h
create mode 100644 code/src/devices/wifi/mac-low.cc
create mode 100644 code/src/devices/wifi/mac-low.h
create mode 100644 code/src/devices/wifi/mac-rx-middle.cc
create mode 100644 code/src/devices/wifi/mac-rx-middle.h
create mode 100644 code/src/devices/wifi/mac-tx-middle.cc
create mode 100644 code/src/devices/wifi/mac-tx-middle.h
create mode 100644 code/src/devices/wifi/mgt-headers.cc
create mode 100644 code/src/devices/wifi/mgt-headers.h
create mode 100644 code/src/devices/wifi/minstrel-wifi-manager.cc
create mode 100644 code/src/devices/wifi/minstrel-wifi-manager.h
create mode 100644 code/src/devices/wifi/msdu-aggregator.cc
create mode 100644 code/src/devices/wifi/msdu-aggregator.h
create mode 100644 code/src/devices/wifi/msdu-standard-aggregator.cc
create mode 100644 code/src/devices/wifi/msdu-standard-aggregator.h
create mode 100644 code/src/devices/wifi/nist-error-rate-model.cc
create mode 100644 code/src/devices/wifi/nist-error-rate-model.h
create mode 100644 code/src/devices/wifi/onoe-wifi-manager.cc
create mode 100644 code/src/devices/wifi/onoe-wifi-manager.h
create mode 100644 code/src/devices/wifi/originator-block-ack-agreement.cc
create mode 100644 code/src/devices/wifi/originator-block-ack-agreement.h
create mode 100644 code/src/devices/wifi/qos-blocked-destinations.cc
create mode 100644 code/src/devices/wifi/qos-blocked-destinations.h
create mode 100644 code/src/devices/wifi/qos-tag.cc
create mode 100644 code/src/devices/wifi/qos-tag.h
create mode 100644 code/src/devices/wifi/qos-utils.cc
create mode 100644 code/src/devices/wifi/qos-utils.h
create mode 100644 code/src/devices/wifi/random-stream.cc
create mode 100644 code/src/devices/wifi/random-stream.h
create mode 100644 code/src/devices/wifi/regular-wifi-mac.cc
create mode 100644 code/src/devices/wifi/regular-wifi-mac.h
create mode 100644 code/src/devices/wifi/rraa-wifi-manager.cc
create mode 100644 code/src/devices/wifi/rraa-wifi-manager.h
create mode 100644 code/src/devices/wifi/ssid.cc
create mode 100644 code/src/devices/wifi/ssid.h
create mode 100644 code/src/devices/wifi/sta-wifi-mac.cc
create mode 100644 code/src/devices/wifi/sta-wifi-mac.h
create mode 100644 code/src/devices/wifi/status-code.cc
create mode 100644 code/src/devices/wifi/status-code.h
create mode 100644 code/src/devices/wifi/supported-rates.cc
create mode 100644 code/src/devices/wifi/supported-rates.h
create mode 100755 code/src/devices/wifi/waf
create mode 100644 code/src/devices/wifi/wifi-channel.cc
create mode 100644 code/src/devices/wifi/wifi-channel.h
create mode 100644 code/src/devices/wifi/wifi-information-element-vector.cc
create mode 100644 code/src/devices/wifi/wifi-information-element-vector.h
create mode 100644 code/src/devices/wifi/wifi-information-element.cc
create mode 100644 code/src/devices/wifi/wifi-information-element.h
create mode 100644 code/src/devices/wifi/wifi-mac-header.cc
create mode 100644 code/src/devices/wifi/wifi-mac-header.h
create mode 100644 code/src/devices/wifi/wifi-mac-queue.cc
create mode 100644 code/src/devices/wifi/wifi-mac-queue.h
create mode 100644 code/src/devices/wifi/wifi-mac-trailer.cc
create mode 100644 code/src/devices/wifi/wifi-mac-trailer.h
create mode 100644 code/src/devices/wifi/wifi-mac.cc
create mode 100644 code/src/devices/wifi/wifi-mac.h
create mode 100644 code/src/devices/wifi/wifi-mode.cc
create mode 100644 code/src/devices/wifi/wifi-mode.h
create mode 100644 code/src/devices/wifi/wifi-net-device.cc
create mode 100644 code/src/devices/wifi/wifi-net-device.h
create mode 100644 code/src/devices/wifi/wifi-phy-standard.h
create mode 100644 code/src/devices/wifi/wifi-phy-state-helper.cc
create mode 100644 code/src/devices/wifi/wifi-phy-state-helper.h
create mode 100644 code/src/devices/wifi/wifi-phy-test.cc
create mode 100644 code/src/devices/wifi/wifi-phy.cc
create mode 100644 code/src/devices/wifi/wifi-phy.h
create mode 100644 code/src/devices/wifi/wifi-preamble.h
create mode 100644 code/src/devices/wifi/wifi-remote-station-manager.cc
create mode 100644 code/src/devices/wifi/wifi-remote-station-manager.h
create mode 100644 code/src/devices/wifi/wifi-test.cc
create mode 100644 code/src/devices/wifi/wifi.h
create mode 100644 code/src/devices/wifi/wscript
create mode 100644 code/src/devices/wifi/yans-error-rate-model.cc
create mode 100644 code/src/devices/wifi/yans-error-rate-model.h
create mode 100644 code/src/devices/wifi/yans-wifi-channel.cc
create mode 100644 code/src/devices/wifi/yans-wifi-channel.h
create mode 100644 code/src/devices/wifi/yans-wifi-phy.cc
create mode 100644 code/src/devices/wifi/yans-wifi-phy.h
create mode 100644 code/src/devices/wimax/AUTHORS
create mode 100644 code/src/devices/wimax/bandwidth-manager.cc
create mode 100644 code/src/devices/wimax/bandwidth-manager.h
create mode 100644 code/src/devices/wimax/bs-link-manager.cc
create mode 100644 code/src/devices/wimax/bs-link-manager.h
create mode 100644 code/src/devices/wimax/bs-net-device.cc
create mode 100644 code/src/devices/wimax/bs-net-device.h
create mode 100644 code/src/devices/wimax/bs-scheduler-rtps.cc
create mode 100644 code/src/devices/wimax/bs-scheduler-rtps.h
create mode 100644 code/src/devices/wimax/bs-scheduler-simple.cc
create mode 100644 code/src/devices/wimax/bs-scheduler-simple.h
create mode 100644 code/src/devices/wimax/bs-scheduler.cc
create mode 100644 code/src/devices/wimax/bs-scheduler.h
create mode 100644 code/src/devices/wimax/bs-service-flow-manager.cc
create mode 100644 code/src/devices/wimax/bs-service-flow-manager.h
create mode 100644 code/src/devices/wimax/bs-uplink-scheduler-mbqos.cc
create mode 100644 code/src/devices/wimax/bs-uplink-scheduler-mbqos.h
create mode 100644 code/src/devices/wimax/bs-uplink-scheduler-rtps.cc
create mode 100644 code/src/devices/wimax/bs-uplink-scheduler-rtps.h
create mode 100644 code/src/devices/wimax/bs-uplink-scheduler-simple.cc
create mode 100644 code/src/devices/wimax/bs-uplink-scheduler-simple.h
create mode 100644 code/src/devices/wimax/bs-uplink-scheduler.cc
create mode 100644 code/src/devices/wimax/bs-uplink-scheduler.h
create mode 100644 code/src/devices/wimax/burst-profile-manager.cc
create mode 100644 code/src/devices/wimax/burst-profile-manager.h
create mode 100644 code/src/devices/wimax/bvec.h
create mode 100644 code/src/devices/wimax/cid-factory.cc
create mode 100644 code/src/devices/wimax/cid-factory.h
create mode 100644 code/src/devices/wimax/cid.cc
create mode 100644 code/src/devices/wimax/cid.h
create mode 100644 code/src/devices/wimax/connection-manager.cc
create mode 100644 code/src/devices/wimax/connection-manager.h
create mode 100644 code/src/devices/wimax/crc8.cc
create mode 100644 code/src/devices/wimax/crc8.h
create mode 100644 code/src/devices/wimax/cs-parameters.cc
create mode 100644 code/src/devices/wimax/cs-parameters.h
create mode 100644 code/src/devices/wimax/default-traces.h
create mode 100644 code/src/devices/wimax/dl-mac-messages.cc
create mode 100644 code/src/devices/wimax/dl-mac-messages.h
create mode 100644 code/src/devices/wimax/ipcs-classifier-record.cc
create mode 100644 code/src/devices/wimax/ipcs-classifier-record.h
create mode 100644 code/src/devices/wimax/ipcs-classifier.cc
create mode 100644 code/src/devices/wimax/ipcs-classifier.h
create mode 100644 code/src/devices/wimax/mac-messages-test.cc
create mode 100644 code/src/devices/wimax/mac-messages.cc
create mode 100644 code/src/devices/wimax/mac-messages.h
create mode 100644 code/src/devices/wimax/ofdm-downlink-frame-prefix.cc
create mode 100644 code/src/devices/wimax/ofdm-downlink-frame-prefix.h
create mode 100644 code/src/devices/wimax/phy-test.cc
create mode 100644 code/src/devices/wimax/qos-test.cc
create mode 100644 code/src/devices/wimax/send-params.cc
create mode 100644 code/src/devices/wimax/send-params.h
create mode 100644 code/src/devices/wimax/service-flow-manager.cc
create mode 100644 code/src/devices/wimax/service-flow-manager.h
create mode 100644 code/src/devices/wimax/service-flow-record.cc
create mode 100644 code/src/devices/wimax/service-flow-record.h
create mode 100644 code/src/devices/wimax/service-flow.cc
create mode 100644 code/src/devices/wimax/service-flow.h
create mode 100644 code/src/devices/wimax/simple-ofdm-send-param.cc
create mode 100644 code/src/devices/wimax/simple-ofdm-send-param.h
create mode 100644 code/src/devices/wimax/simple-ofdm-wimax-channel.cc
create mode 100644 code/src/devices/wimax/simple-ofdm-wimax-channel.h
create mode 100644 code/src/devices/wimax/simple-ofdm-wimax-phy.cc
create mode 100644 code/src/devices/wimax/simple-ofdm-wimax-phy.h
create mode 100644 code/src/devices/wimax/snr-to-block-error-rate-manager.cc
create mode 100644 code/src/devices/wimax/snr-to-block-error-rate-manager.h
create mode 100644 code/src/devices/wimax/snr-to-block-error-rate-record.cc
create mode 100644 code/src/devices/wimax/snr-to-block-error-rate-record.h
create mode 100644 code/src/devices/wimax/ss-link-manager.cc
create mode 100644 code/src/devices/wimax/ss-link-manager.h
create mode 100644 code/src/devices/wimax/ss-mac-test.cc
create mode 100644 code/src/devices/wimax/ss-manager.cc
create mode 100644 code/src/devices/wimax/ss-manager.h
create mode 100644 code/src/devices/wimax/ss-net-device.cc
create mode 100644 code/src/devices/wimax/ss-net-device.h
create mode 100644 code/src/devices/wimax/ss-record.cc
create mode 100644 code/src/devices/wimax/ss-record.h
create mode 100644 code/src/devices/wimax/ss-scheduler.cc
create mode 100644 code/src/devices/wimax/ss-scheduler.h
create mode 100644 code/src/devices/wimax/ss-service-flow-manager.cc
create mode 100644 code/src/devices/wimax/ss-service-flow-manager.h
create mode 100644 code/src/devices/wimax/ul-job.cc
create mode 100644 code/src/devices/wimax/ul-job.h
create mode 100644 code/src/devices/wimax/ul-mac-messages.cc
create mode 100644 code/src/devices/wimax/ul-mac-messages.h
create mode 100644 code/src/devices/wimax/wimax-channel.cc
create mode 100644 code/src/devices/wimax/wimax-channel.h
create mode 100644 code/src/devices/wimax/wimax-connection.cc
create mode 100644 code/src/devices/wimax/wimax-connection.h
create mode 100644 code/src/devices/wimax/wimax-fragmentation-test.cc
create mode 100644 code/src/devices/wimax/wimax-mac-header.cc
create mode 100644 code/src/devices/wimax/wimax-mac-header.h
create mode 100644 code/src/devices/wimax/wimax-mac-queue.cc
create mode 100644 code/src/devices/wimax/wimax-mac-queue.h
create mode 100644 code/src/devices/wimax/wimax-mac-to-mac-header.cc
create mode 100644 code/src/devices/wimax/wimax-mac-to-mac-header.h
create mode 100644 code/src/devices/wimax/wimax-net-device.cc
create mode 100644 code/src/devices/wimax/wimax-net-device.h
create mode 100644 code/src/devices/wimax/wimax-phy.cc
create mode 100644 code/src/devices/wimax/wimax-phy.h
create mode 100644 code/src/devices/wimax/wimax-service-flow-test.cc
create mode 100644 code/src/devices/wimax/wimax-tlv-test.cc
create mode 100644 code/src/devices/wimax/wimax-tlv.cc
create mode 100644 code/src/devices/wimax/wimax-tlv.h
create mode 100644 code/src/devices/wimax/wimax.h
create mode 100644 code/src/devices/wimax/wscript
create mode 100644 code/src/helper/adhoc-aloha-noack-ideal-phy-helper.cc
create mode 100644 code/src/helper/adhoc-aloha-noack-ideal-phy-helper.h
create mode 100644 code/src/helper/animation-interface.cc
create mode 100644 code/src/helper/animation-interface.h
create mode 100644 code/src/helper/aodv-helper.cc
create mode 100644 code/src/helper/aodv-helper.h
create mode 100644 code/src/helper/application-container.cc
create mode 100644 code/src/helper/application-container.h
create mode 100644 code/src/helper/athstats-helper.cc
create mode 100644 code/src/helper/athstats-helper.h
create mode 100644 code/src/helper/bulk-send-helper.cc
create mode 100644 code/src/helper/bulk-send-helper.h
create mode 100644 code/src/helper/canvas-location.cc
create mode 100644 code/src/helper/canvas-location.h
create mode 100644 code/src/helper/csma-helper.cc
create mode 100644 code/src/helper/csma-helper.h
create mode 100644 code/src/helper/csma-star-helper.cc
create mode 100644 code/src/helper/csma-star-helper.h
create mode 100644 code/src/helper/dot11s-installer.cc
create mode 100644 code/src/helper/dot11s-installer.h
create mode 100644 code/src/helper/emu-helper.cc
create mode 100644 code/src/helper/emu-helper.h
create mode 100644 code/src/helper/flame-installer.cc
create mode 100644 code/src/helper/flame-installer.h
create mode 100644 code/src/helper/internet-stack-helper.cc
create mode 100644 code/src/helper/internet-stack-helper.h
create mode 100644 code/src/helper/ipv4-address-helper.cc
create mode 100644 code/src/helper/ipv4-address-helper.h
create mode 100644 code/src/helper/ipv4-interface-container.cc
create mode 100644 code/src/helper/ipv4-interface-container.h
create mode 100644 code/src/helper/ipv4-nix-vector-helper.cc
create mode 100644 code/src/helper/ipv4-nix-vector-helper.h
create mode 100644 code/src/helper/ipv4-routing-helper.cc
create mode 100644 code/src/helper/ipv4-routing-helper.h
create mode 100644 code/src/helper/ipv6-address-helper.cc
create mode 100644 code/src/helper/ipv6-address-helper.h
create mode 100644 code/src/helper/ipv6-interface-container.cc
create mode 100644 code/src/helper/ipv6-interface-container.h
create mode 100644 code/src/helper/ipv6-routing-helper.cc
create mode 100644 code/src/helper/ipv6-routing-helper.h
create mode 100644 code/src/helper/mesh-helper.cc
create mode 100644 code/src/helper/mesh-helper.h
create mode 100644 code/src/helper/mesh-stack-installer.h
create mode 100644 code/src/helper/mobility-helper.cc
create mode 100644 code/src/helper/mobility-helper.h
create mode 100644 code/src/helper/net-device-container.cc
create mode 100644 code/src/helper/net-device-container.h
create mode 100644 code/src/helper/node-container.cc
create mode 100644 code/src/helper/node-container.h
create mode 100644 code/src/helper/nqos-wifi-mac-helper.cc
create mode 100644 code/src/helper/nqos-wifi-mac-helper.h
create mode 100644 code/src/helper/ns2-mobility-helper.cc
create mode 100644 code/src/helper/ns2-mobility-helper.h
create mode 100644 code/src/helper/on-off-helper.cc
create mode 100644 code/src/helper/on-off-helper.h
create mode 100644 code/src/helper/packet-sink-helper.cc
create mode 100644 code/src/helper/packet-sink-helper.h
create mode 100644 code/src/helper/packet-socket-helper.cc
create mode 100644 code/src/helper/packet-socket-helper.h
create mode 100644 code/src/helper/ping6-helper.cc
create mode 100644 code/src/helper/ping6-helper.h
create mode 100644 code/src/helper/point-to-point-dumbbell-helper.cc
create mode 100644 code/src/helper/point-to-point-dumbbell-helper.h
create mode 100644 code/src/helper/point-to-point-grid-helper.cc
create mode 100644 code/src/helper/point-to-point-grid-helper.h
create mode 100644 code/src/helper/point-to-point-helper.cc
create mode 100644 code/src/helper/point-to-point-helper.h
create mode 100644 code/src/helper/point-to-point-star-helper.cc
create mode 100644 code/src/helper/point-to-point-star-helper.h
create mode 100644 code/src/helper/qos-wifi-mac-helper.cc
create mode 100644 code/src/helper/qos-wifi-mac-helper.h
create mode 100644 code/src/helper/spectrum-analyzer-helper.cc
create mode 100644 code/src/helper/spectrum-analyzer-helper.h
create mode 100644 code/src/helper/spectrum-helper.cc
create mode 100644 code/src/helper/spectrum-helper.h
create mode 100644 code/src/helper/tap-bridge-helper.cc
create mode 100644 code/src/helper/tap-bridge-helper.h
create mode 100644 code/src/helper/topology-reader-helper.cc
create mode 100644 code/src/helper/topology-reader-helper.h
create mode 100644 code/src/helper/trace-helper.cc
create mode 100644 code/src/helper/trace-helper.h
create mode 100644 code/src/helper/udp-client-server-helper.cc
create mode 100644 code/src/helper/udp-client-server-helper.h
create mode 100644 code/src/helper/udp-echo-helper.cc
create mode 100644 code/src/helper/udp-echo-helper.h
create mode 100644 code/src/helper/v4ping-helper.cc
create mode 100644 code/src/helper/v4ping-helper.h
create mode 100755 code/src/helper/waf
create mode 100644 code/src/helper/waveform-generator-helper.cc
create mode 100644 code/src/helper/waveform-generator-helper.h
create mode 100644 code/src/helper/wifi-helper.cc
create mode 100644 code/src/helper/wifi-helper.h
create mode 100644 code/src/helper/wimax-helper.cc
create mode 100644 code/src/helper/wimax-helper.h
create mode 100644 code/src/helper/wscript
create mode 100644 code/src/helper/yans-wifi-helper.cc
create mode 100644 code/src/helper/yans-wifi-helper.h
create mode 100644 code/src/internet-stack/arp-cache.cc
create mode 100644 code/src/internet-stack/arp-cache.h
create mode 100644 code/src/internet-stack/arp-header.cc
create mode 100644 code/src/internet-stack/arp-header.h
create mode 100644 code/src/internet-stack/arp-l3-protocol.cc
create mode 100644 code/src/internet-stack/arp-l3-protocol.h
create mode 100644 code/src/internet-stack/icmpv4-l4-protocol.cc
create mode 100644 code/src/internet-stack/icmpv4-l4-protocol.h
create mode 100644 code/src/internet-stack/icmpv4.cc
create mode 100644 code/src/internet-stack/icmpv4.h
create mode 100644 code/src/internet-stack/icmpv6-header.cc
create mode 100644 code/src/internet-stack/icmpv6-header.h
create mode 100644 code/src/internet-stack/icmpv6-l4-protocol.cc
create mode 100644 code/src/internet-stack/icmpv6-l4-protocol.h
create mode 100644 code/src/internet-stack/ipv4-end-point-demux.cc
create mode 100644 code/src/internet-stack/ipv4-end-point-demux.h
create mode 100644 code/src/internet-stack/ipv4-end-point.cc
create mode 100644 code/src/internet-stack/ipv4-end-point.h
create mode 100644 code/src/internet-stack/ipv4-interface.cc
create mode 100644 code/src/internet-stack/ipv4-interface.h
create mode 100644 code/src/internet-stack/ipv4-l3-protocol.cc
create mode 100644 code/src/internet-stack/ipv4-l3-protocol.h
create mode 100644 code/src/internet-stack/ipv4-l4-protocol.cc
create mode 100644 code/src/internet-stack/ipv4-l4-protocol.h
create mode 100644 code/src/internet-stack/ipv4-raw-socket-factory-impl.cc
create mode 100644 code/src/internet-stack/ipv4-raw-socket-factory-impl.h
create mode 100644 code/src/internet-stack/ipv4-raw-socket-impl.cc
create mode 100644 code/src/internet-stack/ipv4-raw-socket-impl.h
create mode 100644 code/src/internet-stack/ipv4-raw-test.cc
create mode 100644 code/src/internet-stack/ipv4-test.cc
create mode 100644 code/src/internet-stack/ipv6-autoconfigured-prefix.cc
create mode 100644 code/src/internet-stack/ipv6-autoconfigured-prefix.h
create mode 100644 code/src/internet-stack/ipv6-end-point-demux.cc
create mode 100644 code/src/internet-stack/ipv6-end-point-demux.h
create mode 100644 code/src/internet-stack/ipv6-end-point.cc
create mode 100644 code/src/internet-stack/ipv6-end-point.h
create mode 100644 code/src/internet-stack/ipv6-extension-demux.cc
create mode 100644 code/src/internet-stack/ipv6-extension-demux.h
create mode 100644 code/src/internet-stack/ipv6-extension-header-test-suite.cc
create mode 100644 code/src/internet-stack/ipv6-extension-header.cc
create mode 100644 code/src/internet-stack/ipv6-extension-header.h
create mode 100644 code/src/internet-stack/ipv6-extension.cc
create mode 100644 code/src/internet-stack/ipv6-extension.h
create mode 100644 code/src/internet-stack/ipv6-interface.cc
create mode 100644 code/src/internet-stack/ipv6-interface.h
create mode 100644 code/src/internet-stack/ipv6-l3-protocol.cc
create mode 100644 code/src/internet-stack/ipv6-l3-protocol.h
create mode 100644 code/src/internet-stack/ipv6-l4-protocol.cc
create mode 100644 code/src/internet-stack/ipv6-l4-protocol.h
create mode 100644 code/src/internet-stack/ipv6-option-demux.cc
create mode 100644 code/src/internet-stack/ipv6-option-demux.h
create mode 100644 code/src/internet-stack/ipv6-option-header.cc
create mode 100644 code/src/internet-stack/ipv6-option-header.h
create mode 100644 code/src/internet-stack/ipv6-option.cc
create mode 100644 code/src/internet-stack/ipv6-option.h
create mode 100644 code/src/internet-stack/ipv6-raw-socket-factory-impl.cc
create mode 100644 code/src/internet-stack/ipv6-raw-socket-factory-impl.h
create mode 100644 code/src/internet-stack/ipv6-raw-socket-impl.cc
create mode 100644 code/src/internet-stack/ipv6-raw-socket-impl.h
create mode 100644 code/src/internet-stack/ipv6-test.cc
create mode 100644 code/src/internet-stack/loopback-net-device.cc
create mode 100644 code/src/internet-stack/loopback-net-device.h
create mode 100644 code/src/internet-stack/ndisc-cache.cc
create mode 100644 code/src/internet-stack/ndisc-cache.h
create mode 100644 code/src/internet-stack/nsc-sysctl.cc
create mode 100644 code/src/internet-stack/nsc-sysctl.h
create mode 100644 code/src/internet-stack/nsc-tcp-l4-protocol.cc
create mode 100644 code/src/internet-stack/nsc-tcp-l4-protocol.h
create mode 100644 code/src/internet-stack/nsc-tcp-socket-factory-impl.cc
create mode 100644 code/src/internet-stack/nsc-tcp-socket-factory-impl.h
create mode 100644 code/src/internet-stack/nsc-tcp-socket-impl.cc
create mode 100644 code/src/internet-stack/nsc-tcp-socket-impl.h
create mode 100644 code/src/internet-stack/pending-data.cc
create mode 100644 code/src/internet-stack/pending-data.h
create mode 100644 code/src/internet-stack/rtt-estimator.cc
create mode 100644 code/src/internet-stack/rtt-estimator.h
create mode 100644 code/src/internet-stack/sim_errno.h
create mode 100644 code/src/internet-stack/sim_interface.h
create mode 100644 code/src/internet-stack/tcp-header.cc
create mode 100644 code/src/internet-stack/tcp-header.h
create mode 100644 code/src/internet-stack/tcp-l4-protocol.cc
create mode 100644 code/src/internet-stack/tcp-l4-protocol.h
create mode 100644 code/src/internet-stack/tcp-newreno.cc
create mode 100644 code/src/internet-stack/tcp-newreno.h
create mode 100644 code/src/internet-stack/tcp-reno.cc
create mode 100644 code/src/internet-stack/tcp-reno.h
create mode 100644 code/src/internet-stack/tcp-rfc793.cc
create mode 100644 code/src/internet-stack/tcp-rfc793.h
create mode 100644 code/src/internet-stack/tcp-rx-buffer.cc
create mode 100644 code/src/internet-stack/tcp-rx-buffer.h
create mode 100644 code/src/internet-stack/tcp-socket-base.cc
create mode 100644 code/src/internet-stack/tcp-socket-base.h
create mode 100644 code/src/internet-stack/tcp-socket-factory-impl.cc
create mode 100644 code/src/internet-stack/tcp-socket-factory-impl.h
create mode 100644 code/src/internet-stack/tcp-tahoe.cc
create mode 100644 code/src/internet-stack/tcp-tahoe.h
create mode 100644 code/src/internet-stack/tcp-test.cc
create mode 100644 code/src/internet-stack/tcp-tx-buffer.cc
create mode 100644 code/src/internet-stack/tcp-tx-buffer.h
create mode 100644 code/src/internet-stack/udp-header.cc
create mode 100644 code/src/internet-stack/udp-header.h
create mode 100644 code/src/internet-stack/udp-l4-protocol.cc
create mode 100644 code/src/internet-stack/udp-l4-protocol.h
create mode 100644 code/src/internet-stack/udp-socket-factory-impl.cc
create mode 100644 code/src/internet-stack/udp-socket-factory-impl.h
create mode 100644 code/src/internet-stack/udp-socket-impl.cc
create mode 100644 code/src/internet-stack/udp-socket-impl.h
create mode 100644 code/src/internet-stack/udp-test.cc
create mode 100755 code/src/internet-stack/waf
create mode 100644 code/src/internet-stack/wscript
create mode 100644 code/src/mobility/box.cc
create mode 100644 code/src/mobility/box.h
create mode 100644 code/src/mobility/constant-acceleration-mobility-model.cc
create mode 100644 code/src/mobility/constant-acceleration-mobility-model.h
create mode 100644 code/src/mobility/constant-position-mobility-model.cc
create mode 100644 code/src/mobility/constant-position-mobility-model.h
create mode 100644 code/src/mobility/constant-velocity-helper.cc
create mode 100644 code/src/mobility/constant-velocity-helper.h
create mode 100644 code/src/mobility/constant-velocity-mobility-model.cc
create mode 100644 code/src/mobility/constant-velocity-mobility-model.h
create mode 100644 code/src/mobility/gauss-markov-mobility-model.cc
create mode 100644 code/src/mobility/gauss-markov-mobility-model.h
create mode 100644 code/src/mobility/hierarchical-mobility-model.cc
create mode 100644 code/src/mobility/hierarchical-mobility-model.h
create mode 100644 code/src/mobility/mobility-model.cc
create mode 100644 code/src/mobility/mobility-model.h
create mode 100644 code/src/mobility/mobility.h
create mode 100644 code/src/mobility/position-allocator.cc
create mode 100644 code/src/mobility/position-allocator.h
create mode 100644 code/src/mobility/random-direction-2d-mobility-model.cc
create mode 100644 code/src/mobility/random-direction-2d-mobility-model.h
create mode 100644 code/src/mobility/random-walk-2d-mobility-model.cc
create mode 100644 code/src/mobility/random-walk-2d-mobility-model.h
create mode 100644 code/src/mobility/random-waypoint-mobility-model.cc
create mode 100644 code/src/mobility/random-waypoint-mobility-model.h
create mode 100644 code/src/mobility/rectangle.cc
create mode 100644 code/src/mobility/rectangle.h
create mode 100644 code/src/mobility/steady-state-random-waypoint-mobility-model.cc
create mode 100644 code/src/mobility/steady-state-random-waypoint-mobility-model.h
create mode 100755 code/src/mobility/waf
create mode 100644 code/src/mobility/waypoint-mobility-model.cc
create mode 100644 code/src/mobility/waypoint-mobility-model.h
create mode 100644 code/src/mobility/waypoint.cc
create mode 100644 code/src/mobility/waypoint.h
create mode 100644 code/src/mobility/wscript
create mode 100644 code/src/mpi/distributed-simulator-impl.cc
create mode 100644 code/src/mpi/distributed-simulator-impl.h
create mode 100644 code/src/mpi/mpi-interface.cc
create mode 100644 code/src/mpi/mpi-interface.h
create mode 100755 code/src/mpi/waf
create mode 100644 code/src/mpi/wscript
create mode 100644 code/src/node/address-utils.cc
create mode 100644 code/src/node/address-utils.h
create mode 100644 code/src/node/address.cc
create mode 100644 code/src/node/address.h
create mode 100644 code/src/node/application.cc
create mode 100644 code/src/node/application.h
create mode 100644 code/src/node/channel-list.cc
create mode 100644 code/src/node/channel-list.h
create mode 100644 code/src/node/channel.cc
create mode 100644 code/src/node/channel.h
create mode 100644 code/src/node/drop-tail-queue.cc
create mode 100644 code/src/node/drop-tail-queue.h
create mode 100644 code/src/node/ethernet-header.cc
create mode 100644 code/src/node/ethernet-header.h
create mode 100644 code/src/node/ethernet-trailer.cc
create mode 100644 code/src/node/ethernet-trailer.h
create mode 100644 code/src/node/inet-socket-address.cc
create mode 100644 code/src/node/inet-socket-address.h
create mode 100644 code/src/node/inet6-socket-address.cc
create mode 100644 code/src/node/inet6-socket-address.h
create mode 100644 code/src/node/ipv4-address-generator.cc
create mode 100644 code/src/node/ipv4-address-generator.h
create mode 100644 code/src/node/ipv4-address.cc
create mode 100644 code/src/node/ipv4-address.h
create mode 100644 code/src/node/ipv4-header.cc
create mode 100644 code/src/node/ipv4-header.h
create mode 100644 code/src/node/ipv4-interface-address.cc
create mode 100644 code/src/node/ipv4-interface-address.h
create mode 100644 code/src/node/ipv4-packet-info-tag.cc
create mode 100644 code/src/node/ipv4-packet-info-tag.h
create mode 100644 code/src/node/ipv4-raw-socket-factory.cc
create mode 100644 code/src/node/ipv4-raw-socket-factory.h
create mode 100644 code/src/node/ipv4-route.cc
create mode 100644 code/src/node/ipv4-route.h
create mode 100644 code/src/node/ipv4-routing-protocol.cc
create mode 100644 code/src/node/ipv4-routing-protocol.h
create mode 100644 code/src/node/ipv4.cc
create mode 100644 code/src/node/ipv4.h
create mode 100644 code/src/node/ipv6-address.cc
create mode 100644 code/src/node/ipv6-address.h
create mode 100644 code/src/node/ipv6-header.cc
create mode 100644 code/src/node/ipv6-header.h
create mode 100644 code/src/node/ipv6-interface-address.cc
create mode 100644 code/src/node/ipv6-interface-address.h
create mode 100644 code/src/node/ipv6-packet-info-tag.cc
create mode 100644 code/src/node/ipv6-packet-info-tag.h
create mode 100644 code/src/node/ipv6-raw-socket-factory.cc
create mode 100644 code/src/node/ipv6-raw-socket-factory.h
create mode 100644 code/src/node/ipv6-route.cc
create mode 100644 code/src/node/ipv6-route.h
create mode 100644 code/src/node/ipv6-routing-protocol.cc
create mode 100644 code/src/node/ipv6-routing-protocol.h
create mode 100644 code/src/node/ipv6.cc
create mode 100644 code/src/node/ipv6.h
create mode 100644 code/src/node/llc-snap-header.cc
create mode 100644 code/src/node/llc-snap-header.h
create mode 100644 code/src/node/mac48-address.cc
create mode 100644 code/src/node/mac48-address.h
create mode 100644 code/src/node/mac64-address.cc
create mode 100644 code/src/node/mac64-address.h
create mode 100644 code/src/node/net-device.cc
create mode 100644 code/src/node/net-device.h
create mode 100644 code/src/node/node-list.cc
create mode 100644 code/src/node/node-list.h
create mode 100644 code/src/node/node.cc
create mode 100644 code/src/node/node.h
create mode 100644 code/src/node/packet-socket-address.cc
create mode 100644 code/src/node/packet-socket-address.h
create mode 100644 code/src/node/packet-socket-factory.cc
create mode 100644 code/src/node/packet-socket-factory.h
create mode 100644 code/src/node/packet-socket.cc
create mode 100644 code/src/node/packet-socket.h
create mode 100644 code/src/node/packetbb-test-suite.cc
create mode 100644 code/src/node/packetbb.cc
create mode 100644 code/src/node/packetbb.h
create mode 100644 code/src/node/phy-mac.h
create mode 100644 code/src/node/queue.cc
create mode 100644 code/src/node/queue.h
create mode 100644 code/src/node/radiotap-header.cc
create mode 100644 code/src/node/radiotap-header.h
create mode 100644 code/src/node/simple-channel.cc
create mode 100644 code/src/node/simple-channel.h
create mode 100644 code/src/node/simple-net-device.cc
create mode 100644 code/src/node/simple-net-device.h
create mode 100644 code/src/node/socket-factory.cc
create mode 100644 code/src/node/socket-factory.h
create mode 100644 code/src/node/socket.cc
create mode 100644 code/src/node/socket.h
create mode 100644 code/src/node/spectrum-channel.cc
create mode 100644 code/src/node/spectrum-channel.h
create mode 100644 code/src/node/spectrum-phy.cc
create mode 100644 code/src/node/spectrum-phy.h
create mode 100644 code/src/node/tcp-socket-factory.cc
create mode 100644 code/src/node/tcp-socket-factory.h
create mode 100644 code/src/node/tcp-socket.cc
create mode 100644 code/src/node/tcp-socket.h
create mode 100644 code/src/node/udp-socket-factory.cc
create mode 100644 code/src/node/udp-socket-factory.h
create mode 100644 code/src/node/udp-socket.cc
create mode 100644 code/src/node/udp-socket.h
create mode 100755 code/src/node/waf
create mode 100644 code/src/node/wscript
create mode 100644 code/src/routing/aodv/aodv-dpd.cc
create mode 100644 code/src/routing/aodv/aodv-dpd.h
create mode 100644 code/src/routing/aodv/aodv-id-cache.cc
create mode 100644 code/src/routing/aodv/aodv-id-cache.h
create mode 100644 code/src/routing/aodv/aodv-neighbor.cc
create mode 100644 code/src/routing/aodv/aodv-neighbor.h
create mode 100644 code/src/routing/aodv/aodv-packet.cc
create mode 100644 code/src/routing/aodv/aodv-packet.h
create mode 100644 code/src/routing/aodv/aodv-routing-protocol.cc
create mode 100644 code/src/routing/aodv/aodv-routing-protocol.h
create mode 100644 code/src/routing/aodv/aodv-rqueue.cc
create mode 100644 code/src/routing/aodv/aodv-rqueue.h
create mode 100644 code/src/routing/aodv/aodv-rtable.cc
create mode 100644 code/src/routing/aodv/aodv-rtable.h
create mode 100644 code/src/routing/aodv/aodv-test-suite.cc
create mode 100644 code/src/routing/aodv/aodv.h
create mode 100644 code/src/routing/aodv/test/aodv-chain-regression-test-0-0.pcap
create mode 100644 code/src/routing/aodv/test/aodv-chain-regression-test-1-0.pcap
create mode 100644 code/src/routing/aodv/test/aodv-chain-regression-test-2-0.pcap
create mode 100644 code/src/routing/aodv/test/aodv-chain-regression-test-3-0.pcap
create mode 100644 code/src/routing/aodv/test/aodv-chain-regression-test-4-0.pcap
create mode 100644 code/src/routing/aodv/test/aodv-regression.cc
create mode 100644 code/src/routing/aodv/test/aodv-regression.h
create mode 100644 code/src/routing/aodv/test/bug-606-test-0-0.pcap
create mode 100644 code/src/routing/aodv/test/bug-606-test-1-0.pcap
create mode 100644 code/src/routing/aodv/test/bug-606-test-2-0.pcap
create mode 100644 code/src/routing/aodv/test/bug-772.cc
create mode 100644 code/src/routing/aodv/test/bug-772.h
create mode 100644 code/src/routing/aodv/test/loopback.cc
create mode 100644 code/src/routing/aodv/test/loopback.h
create mode 100644 code/src/routing/aodv/test/tcp-chain-test-0-0.pcap
create mode 100644 code/src/routing/aodv/test/tcp-chain-test-9-0.pcap
create mode 100644 code/src/routing/aodv/test/udp-chain-test-0-0.pcap
create mode 100644 code/src/routing/aodv/test/udp-chain-test-9-0.pcap
create mode 100755 code/src/routing/aodv/waf
create mode 100644 code/src/routing/aodv/wscript
create mode 100644 code/src/routing/dsdv/doc/dsdv.h
create mode 100644 code/src/routing/dsdv/examples/dsdv-manet.cc
create mode 100644 code/src/routing/dsdv/examples/wscript
create mode 100644 code/src/routing/dsdv/helper/dsdv-helper.cc
create mode 100644 code/src/routing/dsdv/helper/dsdv-helper.h
create mode 100644 code/src/routing/dsdv/model/dsdv-packet-queue.cc
create mode 100644 code/src/routing/dsdv/model/dsdv-packet-queue.h
create mode 100644 code/src/routing/dsdv/model/dsdv-packet.cc
create mode 100644 code/src/routing/dsdv/model/dsdv-packet.h
create mode 100644 code/src/routing/dsdv/model/dsdv-routing-protocol.cc
create mode 100644 code/src/routing/dsdv/model/dsdv-routing-protocol.h
create mode 100644 code/src/routing/dsdv/model/dsdv-rtable.cc
create mode 100644 code/src/routing/dsdv/model/dsdv-rtable.h
create mode 100644 code/src/routing/dsdv/test/dsdv-testcase.cc
create mode 100644 code/src/routing/dsdv/wscript
create mode 100644 code/src/routing/global-routing/helper/ipv4-global-routing-helper.cc
create mode 100644 code/src/routing/global-routing/helper/ipv4-global-routing-helper.h
create mode 100644 code/src/routing/global-routing/model/candidate-queue.cc
create mode 100644 code/src/routing/global-routing/model/candidate-queue.h
create mode 100644 code/src/routing/global-routing/model/global-route-manager-impl.cc
create mode 100644 code/src/routing/global-routing/model/global-route-manager-impl.h
create mode 100644 code/src/routing/global-routing/model/global-route-manager.cc
create mode 100644 code/src/routing/global-routing/model/global-route-manager.h
create mode 100644 code/src/routing/global-routing/model/global-router-interface.cc
create mode 100644 code/src/routing/global-routing/model/global-router-interface.h
create mode 100644 code/src/routing/global-routing/model/global-routing.h
create mode 100644 code/src/routing/global-routing/model/ipv4-global-routing.cc
create mode 100644 code/src/routing/global-routing/model/ipv4-global-routing.h
create mode 100755 code/src/routing/global-routing/waf
create mode 100644 code/src/routing/global-routing/wscript
create mode 100644 code/src/routing/list-routing/helper/ipv4-list-routing-helper.cc
create mode 100644 code/src/routing/list-routing/helper/ipv4-list-routing-helper.h
create mode 100644 code/src/routing/list-routing/helper/ipv6-list-routing-helper.cc
create mode 100644 code/src/routing/list-routing/helper/ipv6-list-routing-helper.h
create mode 100644 code/src/routing/list-routing/model/ipv4-list-routing.cc
create mode 100644 code/src/routing/list-routing/model/ipv4-list-routing.h
create mode 100644 code/src/routing/list-routing/model/ipv6-list-routing.cc
create mode 100644 code/src/routing/list-routing/model/ipv6-list-routing.h
create mode 100644 code/src/routing/list-routing/wscript
create mode 100644 code/src/routing/nix-vector-routing/ipv4-nix-vector-routing.cc
create mode 100644 code/src/routing/nix-vector-routing/ipv4-nix-vector-routing.h
create mode 100644 code/src/routing/nix-vector-routing/nix-vector-routing.h
create mode 100644 code/src/routing/nix-vector-routing/waf
create mode 100644 code/src/routing/nix-vector-routing/wscript
create mode 100644 code/src/routing/olsr/doc/olsr.h
create mode 100644 code/src/routing/olsr/examples/olsr-hna.cc
create mode 100644 code/src/routing/olsr/examples/simple-point-to-point-olsr.cc
create mode 100644 code/src/routing/olsr/examples/wscript
create mode 100644 code/src/routing/olsr/helper/olsr-helper.cc
create mode 100644 code/src/routing/olsr/helper/olsr-helper.h
create mode 100644 code/src/routing/olsr/model/olsr-header.cc
create mode 100644 code/src/routing/olsr/model/olsr-header.h
create mode 100644 code/src/routing/olsr/model/olsr-repositories.h
create mode 100644 code/src/routing/olsr/model/olsr-routing-protocol.cc
create mode 100644 code/src/routing/olsr/model/olsr-routing-protocol.h
create mode 100644 code/src/routing/olsr/model/olsr-state.cc
create mode 100644 code/src/routing/olsr/model/olsr-state.h
create mode 100644 code/src/routing/olsr/test/bug780-0-0.pcap
create mode 100644 code/src/routing/olsr/test/bug780-1-0.pcap
create mode 100644 code/src/routing/olsr/test/bug780-2-0.pcap
create mode 100644 code/src/routing/olsr/test/bug780-test.cc
create mode 100644 code/src/routing/olsr/test/bug780-test.h
create mode 100644 code/src/routing/olsr/test/hello-regression-test.cc
create mode 100644 code/src/routing/olsr/test/hello-regression-test.h
create mode 100644 code/src/routing/olsr/test/olsr-hello-regression-test-0-1.pcap
create mode 100644 code/src/routing/olsr/test/olsr-hello-regression-test-1-1.pcap
create mode 100644 code/src/routing/olsr/test/olsr-tc-regression-test-0-1.pcap
create mode 100644 code/src/routing/olsr/test/olsr-tc-regression-test-1-1.pcap
create mode 100644 code/src/routing/olsr/test/olsr-tc-regression-test-2-1.pcap
create mode 100644 code/src/routing/olsr/test/regression-test-suite.cc
create mode 100644 code/src/routing/olsr/test/tc-regression-test.cc
create mode 100644 code/src/routing/olsr/test/tc-regression-test.h
create mode 100755 code/src/routing/olsr/waf
create mode 100644 code/src/routing/olsr/wscript
create mode 100644 code/src/routing/static-routing/helper/ipv4-static-routing-helper.cc
create mode 100644 code/src/routing/static-routing/helper/ipv4-static-routing-helper.h
create mode 100644 code/src/routing/static-routing/helper/ipv6-static-routing-helper.cc
create mode 100644 code/src/routing/static-routing/helper/ipv6-static-routing-helper.h
create mode 100644 code/src/routing/static-routing/model/ipv4-routing-table-entry.cc
create mode 100644 code/src/routing/static-routing/model/ipv4-routing-table-entry.h
create mode 100644 code/src/routing/static-routing/model/ipv4-static-routing.cc
create mode 100644 code/src/routing/static-routing/model/ipv4-static-routing.h
create mode 100644 code/src/routing/static-routing/model/ipv6-routing-table-entry.cc
create mode 100644 code/src/routing/static-routing/model/ipv6-routing-table-entry.h
create mode 100644 code/src/routing/static-routing/model/ipv6-static-routing.cc
create mode 100644 code/src/routing/static-routing/model/ipv6-static-routing.h
create mode 100644 code/src/routing/static-routing/wscript
create mode 100644 code/src/simulator/cairo-wideint-private.h
create mode 100644 code/src/simulator/cairo-wideint.c
create mode 100644 code/src/simulator/calendar-scheduler.cc
create mode 100644 code/src/simulator/calendar-scheduler.h
create mode 100644 code/src/simulator/default-simulator-impl.cc
create mode 100644 code/src/simulator/default-simulator-impl.h
create mode 100644 code/src/simulator/event-id.cc
create mode 100644 code/src/simulator/event-id.h
create mode 100644 code/src/simulator/event-impl.cc
create mode 100644 code/src/simulator/event-impl.h
create mode 100644 code/src/simulator/heap-scheduler.cc
create mode 100644 code/src/simulator/heap-scheduler.h
create mode 100644 code/src/simulator/high-precision-128.cc
create mode 100644 code/src/simulator/high-precision-128.h
create mode 100644 code/src/simulator/high-precision-cairo.cc
create mode 100644 code/src/simulator/high-precision-cairo.h
create mode 100644 code/src/simulator/high-precision-double.h
create mode 100644 code/src/simulator/high-precision.cc
create mode 100644 code/src/simulator/high-precision.h
create mode 100644 code/src/simulator/list-scheduler.cc
create mode 100644 code/src/simulator/list-scheduler.h
create mode 100644 code/src/simulator/make-event.cc
create mode 100644 code/src/simulator/make-event.h
create mode 100644 code/src/simulator/map-scheduler.cc
create mode 100644 code/src/simulator/map-scheduler.h
create mode 100644 code/src/simulator/ns2-calendar-scheduler.cc
create mode 100644 code/src/simulator/ns2-calendar-scheduler.h
create mode 100644 code/src/simulator/nstime.h
create mode 100644 code/src/simulator/realtime-simulator-impl.cc
create mode 100644 code/src/simulator/realtime-simulator-impl.h
create mode 100644 code/src/simulator/scheduler.cc
create mode 100644 code/src/simulator/scheduler.h
create mode 100644 code/src/simulator/simulation-singleton.h
create mode 100644 code/src/simulator/simulator-impl.cc
create mode 100644 code/src/simulator/simulator-impl.h
create mode 100644 code/src/simulator/simulator.cc
create mode 100644 code/src/simulator/simulator.h
create mode 100644 code/src/simulator/synchronizer.cc
create mode 100644 code/src/simulator/synchronizer.h
create mode 100644 code/src/simulator/time-base.cc
create mode 100644 code/src/simulator/time-base.h
create mode 100644 code/src/simulator/time.cc
create mode 100644 code/src/simulator/timer-impl.h
create mode 100644 code/src/simulator/timer.cc
create mode 100644 code/src/simulator/timer.h
create mode 100755 code/src/simulator/waf
create mode 100644 code/src/simulator/wall-clock-synchronizer.cc
create mode 100644 code/src/simulator/wall-clock-synchronizer.h
create mode 100644 code/src/simulator/watchdog.cc
create mode 100644 code/src/simulator/watchdog.h
create mode 100644 code/src/simulator/wscript
create mode 100644 code/src/test/csma-system-test-suite.cc
create mode 100644 code/src/test/error-model-test-suite.cc
create mode 100644 code/src/test/global-routing-test-suite.cc
create mode 100644 code/src/test/mobility-test-suite.cc
create mode 100644 code/src/test/ns3tcp/ns3tcp-cwnd-test-suite.cc
create mode 100644 code/src/test/ns3tcp/ns3tcp-interop-response-vectors.pcap
create mode 100644 code/src/test/ns3tcp/ns3tcp-interop-test-suite.cc
create mode 100644 code/src/test/ns3tcp/ns3tcp-loss-test-suite.cc
create mode 100644 code/src/test/ns3tcp/ns3tcp-loss1-response-vectors.pcap
create mode 100644 code/src/test/ns3tcp/ns3tcp-loss2-response-vectors.pcap
create mode 100644 code/src/test/ns3tcp/ns3tcp-socket-test-suite.cc
create mode 100644 code/src/test/ns3tcp/ns3tcp-socket-writer.cc
create mode 100644 code/src/test/ns3tcp/ns3tcp-socket-writer.h
create mode 100644 code/src/test/ns3tcp/ns3tcp.h
create mode 100755 code/src/test/ns3tcp/waf
create mode 100644 code/src/test/ns3tcp/wscript
create mode 100644 code/src/test/ns3wifi/ns3wifi.h
create mode 100644 code/src/test/ns3wifi/waf
create mode 100644 code/src/test/ns3wifi/wifi-interference-test-suite.cc
create mode 100644 code/src/test/ns3wifi/wifi-msdu-aggregator-test-suite.cc
create mode 100644 code/src/test/ns3wifi/wscript
create mode 100644 code/src/test/nsctcp/nsctcp-loss-test-suite.cc
create mode 100644 code/src/test/nsctcp/wscript
create mode 100644 code/src/test/perf/perf-io.cc
create mode 100755 code/src/test/perf/waf
create mode 100644 code/src/test/perf/wscript
create mode 100644 code/src/test/sample-test-suite.cc
create mode 100644 code/src/test/static-routing-test-suite.cc
create mode 100644 code/src/test/wscript
create mode 100644 code/src/tools/visualizer/doc/readme.txt
create mode 100644 code/src/tools/visualizer/examples/readme.txt
create mode 100644 code/src/tools/visualizer/model/pyviz.cc
create mode 100644 code/src/tools/visualizer/model/pyviz.h
create mode 100644 code/src/tools/visualizer/model/visual-simulator-impl.cc
create mode 100644 code/src/tools/visualizer/model/visual-simulator-impl.h
create mode 100644 code/src/tools/visualizer/model/visualizer-ideas.txt
create mode 100644 code/src/tools/visualizer/visualizer/__init__.py
create mode 100644 code/src/tools/visualizer/visualizer/base.py
create mode 100644 code/src/tools/visualizer/visualizer/core.py
create mode 100644 code/src/tools/visualizer/visualizer/higcontainer.py
create mode 100644 code/src/tools/visualizer/visualizer/hud.py
create mode 100644 code/src/tools/visualizer/visualizer/ipython_view.py
create mode 100644 code/src/tools/visualizer/visualizer/plugins/interface_statistics.py
create mode 100644 code/src/tools/visualizer/visualizer/plugins/ipv4_routing_table.py
create mode 100644 code/src/tools/visualizer/visualizer/plugins/olsr.py
create mode 100644 code/src/tools/visualizer/visualizer/plugins/show_last_packets.py
create mode 100644 code/src/tools/visualizer/visualizer/plugins/wifi_intrastructure_link.py
create mode 100644 code/src/tools/visualizer/visualizer/resource/Basurero_Palm_Z22.svg
create mode 100644 code/src/tools/visualizer/visualizer/resource/adriankierman_cell_phone_tower.svg
create mode 100644 code/src/tools/visualizer/visualizer/resource/bobocal_Yellow_Bus.svg
create mode 100644 code/src/tools/visualizer/visualizer/resource/thilakarathna_Bus_Halt.svg
create mode 100644 code/src/tools/visualizer/visualizer/svgitem.py
create mode 100644 code/src/tools/visualizer/wscript
create mode 100644 code/src/wscript
create mode 100755 code/test.py
create mode 100644 code/testpy.supp
create mode 100644 code/utils/bench-event-collector.cc
create mode 100644 code/utils/bench-packets.cc
create mode 100644 code/utils/bench-simulator.cc
create mode 100755 code/utils/check-style.py
create mode 100755 code/utils/generate-distributions.pl
create mode 100644 code/utils/grid.py
create mode 100755 code/utils/lcov/genhtml
create mode 100755 code/utils/lcov/geninfo
create mode 100755 code/utils/lcov/lcov
create mode 100644 code/utils/print-introspected-doxygen.cc
create mode 100644 code/utils/python-unit-tests.py
create mode 100644 code/utils/test-runner.cc
create mode 100644 code/utils/utils.h
create mode 100755 code/utils/waf
create mode 100644 code/utils/wscript
create mode 100755 code/waf
create mode 100644 code/waf-tools/cflags.py
create mode 100644 code/waf-tools/command.py
create mode 100644 code/waf-tools/pkgconfig.py
create mode 100644 code/waf-tools/shellcmd.py
create mode 100755 code/waf.bat
create mode 100644 code/wscript
create mode 100644 code/wutils.py
diff --git a/code/AUTHORS b/code/AUTHORS
new file mode 100644
index 0000000..720825a
--- /dev/null
+++ b/code/AUTHORS
@@ -0,0 +1,67 @@
+Kirill Andreev (andreev@iitp.ru)
+Dean Armstrong (deanarm@gmail.com)
+Nicola Baldo (nbaldo@cttc.es)
+Mirko Banchi (mk.banchi@gmail.com)
+Ramon Bauza (monbauza@gmail.com)
+Mehdi Benamor (mehdi.benamor@telecom-bretagne.eu)
+Raj Bhattacharjea (raj.b@gatech.edu)
+Timo Bingmann (timo.bingmann@student.kit.edu)
+Pavel Boyko (boyko@iitp.ru)
+Dan Broyles (muxman@sbcglobal.net)
+Jonathan Brugge (j.d.brugge@student.utwente.nl)
+Elena Buchatskaia (borovkovaes@iitp.ru)
+Gustavo Carneiro (gjc@inescporto.pt, gjcarneiro@gmail.com)
+Angelos Chatzipapas (chatzipa@ceid.upatras.gr)
+Luis Cortes (cortes@gatech.edu)
+Andrey Churin (aachurin@gmail.com)
+Craig Dowell (craigdo@ee.washington.edu)
+Jahanzeb Farooq (Jahanzeb.Farooq@sophia.inria.fr, Fahanzeb.Farooq@gmail.com)
+Juliana Freitag Borin (juliana.freitag@gmail.com)
+Martin Giachino (martin.giachino@gmail.com,giachino@fing.edu.uy)
+Charline Taibi Guguen (charline.guguen@gmail.com)
+Tom Goff (tgoff@tgoff.net)
+David Gross (gdavid.devel@gmail.com)
+Tom Henderson (tomhend@u.washington.edu)
+Mohamed Amine Ismail (amine.ismail@sophia.inria.fr, iamine@udcast.com)
+Sam Jansen (sam.jansen@gmail.com)
+Liu Jian (liujatp@gmail.com)
+Joe Kopena (tjkopena@cs.drexel.edu)
+Flavio Kobuta (flaviokubota@gmail.com)
+Aleksey Kovalenko (kovalenko@iitp.ru)
+Mathieu Lacage (mathieu.lacage@sophia.inria.fr)
+Emmanuelle Laprise (emmmanuelle.laprise@bluekazoo.ca)
+Keith Ma (keith.nwsuaf@gmail.com)
+Federico Maguolo (maguolof@dei.unipd.it)
+Antti Makela (zarhan@cc.hut.fi)
+Francesco Malandrino (francesco.malandrino@gmail.com)
+Fabian Mauchle (f1mauchl@hsr.ch)
+Andrey Mazo (mazo@iitp.ru)
+Faker Moatamri (faker.moatamri@sophia.inria.fr)
+Sidharth Nabar (snabar@uw.edu)
+Michael Nowatkowski (nowatkom@gmail.com)
+Duy Nguyen (duy@soe.ucsc.edu)
+Tommaso Pecorella (tommaso.pecorella@unifi.it)
+Josh Pelkey (jpelkey@gatech.edu)
+Giuseppe Piro (g.piro@poliba.it)
+Yana Podkosova (yanapdk@rambler.ru)
+Guangyu Pei (guangyu.pei@boeing.com)
+George F. Riley (riley@ece.gatech.edu)
+Bill Roome (wdr@bell-labs.com)
+Providence Salumu Munga (Providence.Salumu@gmail.com, Providence.Salumu_Munga@it-sudparis.eu)
+Florian Schmidt (Florian.Schmidt@cs.rwth-aachen.de)
+Guillaume Seguin (guillaume.seguin@sophia.inria.fr)
+Kulin Shah (m.kulin@gmail.com)
+Phillip Sitbon (phillip.sitbon@gmail.com)
+Ewgenij Starostin (estar@cs.tu-berlin.de)
+Lalith Suresh (suresh.lalith@gmail.com)
+Adrian S. W. Tam (adrian.sw.tam@gmail.com)
+Hajime Tazaki (tazaki@sfc.wide.ad.jp)
+Wilson Thong (wilsonwk@ee.cityu.edu.hk)
+Mauro Tortonesi (mauro.tortonesi@unife.it)
+Andras Varga (andras@omnetpp.org)
+Sebastien Vincent (vincent@clarinet.u-strasbg.fr)
+Guillaume Vu-Brugier (gvubrugier@gmail.com)
+Tom Wambold (tom5760@gmail.com)
+Danqi Wang (beyondwdq@gmail.com)
+Florian Westphal (fw@strlen.de)
+He Wu (mdzz@u.washington.edu)
diff --git a/code/CHANGES.html b/code/CHANGES.html
new file mode 100644
index 0000000..88ce899
--- /dev/null
+++ b/code/CHANGES.html
@@ -0,0 +1,1472 @@
+
+
+
+
+ ns-3 Change Log
+
+
+
+
+ns-3: API and model change history
+
+
+ns-3 is an evolving system and there will be API or behavioral changes
+from time to time. Users who try to use scripts or models across
+versions of ns-3 may encounter problems at compile time, run time, or
+may see the simulation output change.
+
+We have adopted the development policy that we are going to try to ease
+the impact of these changes on users by documenting these changes in a
+single place (this file), and not by providing a temporary or permanent
+backward-compatibility software layer.
+
+The goal is that users who encounter a problem when trying to use older
+code with newer code should be able to consult this file to find
+guidance as to how to fix the problem. For instance, if a method name
+or signature has changed, it should be stated what the new replacement
+name is.
+
+Note that users who upgrade the simulator across versions, or who work
+directly out of the development tree, may find that simulation output
+changes even when the compilation doesn't break, such as when a
+simulator default value is changed. Therefore, it is good practice for
+_anyone_ using code across multiple ns-3 releases to consult this file,
+as well as the RELEASE_NOTES, to understand what has changed over time.
+
+
+This file is a best-effort approach to solving this issue; we will do
+our best but can guarantee that there will be things that fall through
+the cracks, unfortunately. If you, as a user, can suggest improvements
+to this file based on your experience, please contribute a patch or drop
+us a note on ns-developers mailing list.
+
+
+Changes from ns-3.9 to ns-3.10
+
+Changes to build system:
+
+- Regression tests are no longer run using waf
+
All regression testing is now being done in test.py. As a result, a
+separate reference trace repository is no longer needed to perform
+regression tests. Tests that require comparison against known good traces
+can still be run from test.py. The --regression option for waf has been
+removed. However, the "-r" option to download.py has been kept to
+allow users to fetch older revisions of ns-3 that contain these traces.
+
+ - Documentation converted to Sphinx
+
Project documentation (manual, tutorial, and testing) have been
+converted to Sphinx from the GNU Texinfo markup format.
+
+
+New API:
+
+- Pyviz visualizer
+
A Python-based visualizer called pyviz is now integrated with ns-3.
+For Python simulations, there is an API to start the visualizer. You
+have to import the visualizer module, and call visualizer.start()
+instead of ns3.Simulator.Run(). For C++ simulations, there is no API.
+For C++ simulations (but also works for Python ones) you need to set
+the GlobalValue SimulatorImplementationType to
+"ns3::VisualSimulatorImpl". This can be set from the command-line,
+for example (add the
+--SimulatorImplementationType=ns3::VisualSimulatorImpl
+option), or via the waf option --visualizer, in addition to
+the usual --run option to run programs.
+
+
+- WaypointMobility attributes
+
Two attributes were added to WaypointMobility model: LazyNotify and
+InitialPositionIs Waypoint. See RELEASE_NOTES for details.
+
+- 802.11g rates for ERP-OFDM added
+
New WifiModes of the form ErpOfdmRatexxMbps, where xx is the rate
+in Mbps (6, 9, 12, 18, 24, 36, 48, 54), are available for 802.11g.
+More details are in the RELEASE_NOTES.
+
+- Socket::GetSocketType ()
+
This is analogous to getsockopt(SO_TYPE). ipv4-raw-socket, ipv6-raw-socket,
+ and packet-socket return NS3_SOCK_RAW. tcp-socket and nsc-tcp-socket return
+ NS3_SOCK_STREAM. udp-socket returns NS3_SOCK_DGRAM.
+
+- BulkSendApplication
+
Sends data as fast as possible up to MaxBytes or unlimited if MaxBytes is
+zero. Think OnOff, but without the "off" and without the variable data rate.
+This application only works with NS3_SOCK_STREAM and NS3_SOCK_SEQPACKET sockets,
+for example TCP sockets and not UDP sockets. A helper class exists to
+facilitate creating BulkSendApplications. The API for the helper class
+is similar to existing application helper classes, for example, OnOff.
+
+
+- Rakhmatov Vrudhula non-linear battery model
+
New class and helper for this battery model.
+
+- Print IPv4 routing tables
+
New class methods and helpers for printing IPv4 routing tables
+to an output stream.
+
+- Destination-Sequenced Distance Vector (DSDV) routing protocol
+
Derives from Ipv4RoutingProtocol and contains a DsdvHelper class.
+
+- 3GPP Long Term Evolution (LTE) models
+
More details are in the RELEASE_NOTES.
+
+
+
+Changes to existing API:
+
+- Consolidation of Wi-Fi MAC high functionality
+
Wi-Fi MAC high classes have been reorganised in attempt to
+consolidate shared functionality into a single class. This new class
+is RegularWifiMac, and it derives from the abstract WifiMac, and is
+parent of AdhocWifiMac, StaWifiMac, ApWifiMac, and
+MeshWifiInterfaceMac. The QoS and non-QoS class variants are no
+longer, with a RegularWifiMac attribute "QosSupported" allowing
+selection between these two modes of operation. QosWifiMacHelper and
+NqosWifiMacHelper continue to work as previously, with a
+behind-the-scenes manipulation of the 'afore-mentioned attribute.
+
+
+- New TCP architecture
+
TcpSocketImpl was replaced by a new base class TcpSocketBase and
+several subclasses implementing different congestion control. From
+a user-level API perspective, the main change is that a new attribute
+"SocketType" is available in TcpL4Protocol, to which a TypeIdValue
+of a specific Tcp variant can be passed. In the same class, the attribute
+"RttEstimatorFactory" was also renamed "RttEstimatorType" since it now
+takes a TypeIdValue instead of an ObjectFactoryValue. In most cases,
+however, no change to existing user programs should be needed.
+
+
+
+Changed behavior:
+
+- EmuNetDevice uses DIX instead of LLC encapsulation by default
+
bug 984 in ns-3 tracker: real devices don't usually understand LLC/SNAP
+so the default of DIX makes more sense.
+
+- TCP defaults to NewReno congestion control
+
As part of the TCP socket refactoring, a new TCP implementation provides
+slightly different behavior than the previous TcpSocketImpl that provided
+only fast retransmit. The default behavior now is NewReno which provides
+fast retransmit and fast recovery with window inflation during recovery.
+
+
+
+
+Changes from ns-3.8 to ns-3.9
+
+Changes to build system:
+
+New API:
+
+- Wifi set block ack threshold: Two methods for setting block ack
+parameters for a specific access class:
+
+void QosWifiMacHelper::SetBlockAckThresholdForAc (enum AccessClass accessClass, uint8_t threshold);
+void QosWifiMacHelper::SetBlockAckInactivityTimeoutForAc (enum AccessClass accessClass, uint16_t timeout);
+
+
+- Receive List Error Model: Another basic error model that allows
+the user to specify a list of received packets that should be errored. The
+list corresponds not to the packet UID but to the sequence of received
+packets as observed by the error model. See src/common/error-model.h
+
+- Respond to interface events: New attribute for Ipv4GlobalRouting,
+"RespondToInterfaceEvents", which when enabled, will cause global routes
+to be recomputed upon any interface or address notification event from IPv4.
+
+- Generic sequence number: New generic sequence number class to
+easily handle comparison, subtraction, etc. for sequence numbers.
+To use it you need to supply two fundamental types as template parameters:
+NUMERIC_TYPE and SIGNED_TYPE. For instance, SequenceNumber<uint32_t, int32_t>
+gives you a 32-bit sequence number, while SequenceNumber<uint16_t, int16_t>
+is a 16-bit one. For your convenience, these are typedef'ed as
+SequenceNumber32 and SequenceNumber16, respectively.
+
+
+- Broadcast socket option: New Socket
+methods SetAllowBroadcast and GetAllowBroadcast add
+to NS-3 Socket's the equivalent to the POSIX SO_BROADCAST
+socket option (setsockopt/getsockopt). Starting from this NS-3
+version, IPv4 sockets do not allow us to send packets to broadcast
+destinations by default; SetAllowBroadcast must be called beforehand
+if we wish to send broadcast packets.
+
+
+- Deliver of packet ancillary information to sockets: A method to deliver ancillary information
+to the socket interface (fixed in bug 671):
void Socket::SetRecvPktInfo (bool flag);
+
+
+
+Changes to existing API:
+
+
+- Changes to construction and naming of Wi-Fi transmit rates:
+A reorganisation of the construction of Wi-Fi transmit rates has been
+undertaken with the aim of simplifying the task of supporting further
+IEEE 802.11 PHYs. This work has been completed under the auspices of
+Bug 871.
+
+From the viewpoint of simulation scripts not part of the ns-3
+distribution, the key change is that WifiMode names of the form
+wifix-nmbs are now invalid. Names now take the
+form CcccRatenMbps[BWbMHz],
+where n is the root bitrate in megabits-per-second as before
+(with only significant figures included, and an underscore replacing
+any decimal point), and Cccc is a representation of the
+Modulation Class as defined in Table 9-2 of IEEE
+Std. 802.11-2007. Currently-supported options for Cccc
+are Ofdm and Dsss. For modulation classes where
+optional reduced-bandwidth transmission is possible, this is captured
+in the final part of the form above, with b specifying the
+nominal signal bandwidth in megahertz.
+
+- Consolidation of classes support Wi-Fi Information Elements:
+When the mesh module was introduced it added a class
+hierarchy for modelling of the various Information Elements that were
+required. In this release, this class hierarchy has extended by moving
+the base classes (WifiInformationElement and
+WifiInformationElementVector) into the wifi module. This
+change is intended to ease the addition of support for modelling of
+further Wi-Fi functionality.
+
+- Changed for {Ipv4,Ipv6}PacketInfoTag delivery: In order to
+deliver ancillary information to the socket interface (fixed in bug 671),
+Ipv4PacketInfoTag and Ipv6PacketInfoTag are implemented.
+For the delivery of this information, the following changes are made into
+existing class.
+
+In Ipv4EndPoint class,
+
+- void SetRxCallback (Callback<void,Ptr<Packet>, Ipv4Address, Ipv4Address, uint16_t> callback);
++ void SetRxCallback (Callback<void,Ptr<Packet>, Ipv4Header, uint16_t, Ptr<Ipv4Interface> > callback);
+
+- void ForwardUp (Ptr<Packet> p, Ipv4Address saddr, Ipv4Address daddr, uint16_t sport);
++ void ForwardUp (Ptr<Packet> p, const Ipv4Header& header, uint16_t sport,
++ Ptr<Ipv4Interface> incomingInterface);
+
+In Ipv4L4Protocol class,
+
+ virtual enum RxStatus Receive(Ptr<Packet> p,
+- Ipv4Address const &source,
+- Ipv4Address const &destination,
++ Ipv4Header const &header,
+ Ptr<Ipv4Interface> incomingInterface) = 0;
+
+
+-Ipv4RawSocketImpl::ForwardUp (Ptr<const Packet> p, Ipv4Header ipHeader, Ptr<NetDevice> device)
++Ipv4RawSocketImpl::ForwardUp (Ptr<const Packet> p, Ipv4Header ipHeader, Ptr<Ipv4Interface> incomingInterface)
+
+-NscTcpSocketImpl::ForwardUp (Ptr<Packet> packet, Ipv4Address saddr, Ipv4Address daddr, uint16_t port)
++NscTcpSocketImpl::ForwardUp (Ptr<Packet> packet, Ipv4Header header, uint16_t port,
++ Ptr<Ipv4Interface> incomingInterface)
+
+-TcpSocketImpl::ForwardUp (Ptr<Packet> packet, Ipv4Address saddr, Ipv4Address daddr, uint16_t port)
++TcpSocketImpl::ForwardUp (Ptr<Packet> packet, Ipv4Header header, uint16_t port,
++ Ptr<Ipv4Interface> incomingInterface)
+
+-UdpSocketImpl::ForwardUp (Ptr<Packet> packet, Ipv4Address saddr, Ipv4Address daddr, uint16_t port)
++UdpSocketImpl::ForwardUp (Ptr<Packet> packet, Ipv4Header header, uint16_t port,
++ Ptr<Ipv4Interface> incomingInterface)
+
+
+
+
+- The method OutputStreamWrapper::SetStream (std::ostream *ostream) was removed.
+)
+
+
+Changed behavior:
+
+- Queue trace behavior during Enqueue changed: The behavior of the
+Enqueue trace source has been changed to be more intuitive and to agree with
+documentation. Enqueue and Drop events in src/node/queue.cc are now mutually
+exclusive. In the past, the meaning of an Enqueue event was that the Queue
+Enqueue operation was being attempted; and this could be followed by a Drop
+event if the Queue was full. The new behavior is such that a packet is either
+Enqueue'd successfully or Drop'ped.
+
+
- Drop trace logged for Ipv4/6 forwarding failure: Fixed bug 861; this
+will add ascii traces (drops) in Ipv4 and Ipv6 traces for forwarding failures
+
+
- Changed default WiFi error rate model for OFDM modulation types:
+Adopted more conservative ErrorRateModel for OFDM modulation types (a/g).
+This will require 4 to 5 more dB of received power to get similar results
+as before, so users may observe a reduced WiFi range when using the defaults.
+See tracker issue 944 for more details.
+
+
+
+Changes from ns-3.7 to ns-3.8
+
+Changes to build system:
+
+New API:
+
+
+
+Changes to existing API:
+
+- Tracing Helpers: The organization of helpers for both pcap and ascii
+tracing, in devices and protocols, has been reworked. Instead of each device
+and protocol helper re-implementing trace enable methods, classes have been
+developed to implement user-level tracing in a consistent way; and device and
+protocol helpers use those classes to provide tracing functionality.
+In addition to consistent operation across all helpers, the object name service
+has been integrated into the trace file naming scheme.
+The internet stack helper has been extensively massaged to make it easier to
+manage traces originating from protocols. It used to be the case that there
+was essentially no opportunity to filter tracing on interfaces, and resulting
+trace file names collided with those created by devices. File names are now
+disambiguated and one can enable traces on a protocol/interface basis analogously
+to the node/device granularity of device-based helpers.
+The primary user-visible results of this change are that trace-related functions
+have been changed from static functions to method calls; and a new object has
+been developed to hold streams for ascii traces.
+New functionality is present for ascii traces. It is now possible to create
+multiple ascii trace files automatically just as was possible for pcap trace
+files.
+The implementation of the helper code has been designed also to provide
+functionality to make it easier for sophisticated users to hook traces of
+various kinds and write results to (file) streams.
+Before:
+
+ CsmaHelper::EnablePcapAll ();
+
+ std::ofstream ascii;
+ ascii.open ("csma-one-subnet.tr", std::ios_base::binary | std::ios_base::out);
+ CsmaHelper::EnableAsciiAll (ascii);
+
+ InternetStackHelper::EnableAsciiAll (ascii);
+
+After:
+
+ CsmaHelper csmaHelper;
+ InternetStackHelper stack;
+ csmaHelper.EnablePcapAll ();
+
+ AsciiTraceHelper ascii;
+ csma.EnableAsciiAll (ascii.CreateFileStream ("csma-one-subnet.tr"));
+
+ stack.EnableAsciiIpv4All (stream);
+
+
+
+ - Serialization and Deserialization in buffer, nix-vector,
+packet-metadata, and packet has been modified to use raw character
+buffers, rather than the Buffer class
+
++ uint32_t Buffer::GetSerializedSize (void) const;
++ uint32_t Buffer::Serialize (uint8_t* buffer, uint32_t maxSize) const;
++ uint32_t Buffer::Deserialize (uint8_t* buffer, uint32_t size);
+
+- void NixVector::Serialize (Buffer::Iterator i, uint32_t size) const;
++ uint32_t NixVector::Serialize (uint32_t* buffer, uint32_t maxSize) const;
+- uint32_t NixVector::Deserialize (Buffer::Iterator i);
++ uint32_t NixVector::Deserialize (uint32_t* buffer, uint32_t size);
+
+- void PacketMetadata::Serialize (Buffer::Iterator i, uint32_t size) const;
++ uint32_t PacketMetadata::Serialize (uint8_t* buffer, uint32_t maxSize) const;
+- uint32_t PacketMetadata::Deserialize (Buffer::Iterator i);
++ uint32_t PacketMetadata::Deserialize (uint8_t* buffer, uint32_t size);
+
++ uint32_t Packet::GetSerializedSize (void) const;
+- Buffer Packet::Serialize (void) const;
++ uint32_t Packet::Serialize (uint8_t* buffer, uint32_t maxSize) const;
+- void Packet::Deserialize (Buffer buffer);
++ Packet::Packet (uint8_t const*buffer, uint32_t size, bool magic);
+
+ - PacketMetadata uid has been changed to a 64-bit value. The
+lower 32 bits give the uid, while the upper 32-bits give the MPI rank
+for distributed simulations. For non-distributed simulations, the
+upper 32 bits are simply zero.
+
+- inline PacketMetadata (uint32_t uid, uint32_t size);
++ inline PacketMetadata (uint64_t uid, uint32_t size);
+- uint32_t GetUid (void) const;
++ uint64_t GetUid (void) const;
+- PacketMetadata::PacketMetadata (uint32_t uid, uint32_t size);
++ PacketMetadata::PacketMetadata (uint64_t uid, uint32_t size);
+
+- uint32_t Packet::GetUid (void) const;
++ uint64_t Packet::GetUid (void) const;
+
+
+ - Moved propagation models from src/devices/wifi to src/common
+
+
- Moved Mtu attribute from base class NetDevice This attribute is
+now found in all NetDevice subclasses.
+
+
+Changed behavior:
+
+
+
+Changes from ns-3.6 to ns-3.7
+
+
+Changes to build system:
+
+New API:
+
+
+
+Changes to existing API:
+
+- Ipv4RoutingProtocol::RouteOutput no longer takes an outgoing
+interface index but instead takes an outgoing device pointer; this affects all
+subclasses of Ipv4RoutingProtocol.
+
+- virtual Ptr<Ipv4Route> RouteOutput (Ptr<Packet> p, const Ipv4Header &header, uint32_t oif, Socket::SocketErrno &sockerr) = 0;
++ virtual Ptr<Ipv4Route> RouteOutput (Ptr<Packet> p, const Ipv4Header &header, Ptr<NetDevice> oif, Socket::SocketErrno &sockerr) = 0;
+
+ - Ipv6RoutingProtocol::RouteOutput no longer takes an outgoing
+interface index but instead takes an outgoing device pointer; this affects all
+subclasses of Ipv6RoutingProtocol.
+
+- virtual Ptr<Ipv6Route> RouteOutput (Ptr<Packet> p, const Ipv6Header &header, uint32_t oif, Socket::SocketErrno &sockerr) = 0;
++ virtual Ptr<Ipv6Route> RouteOutput (Ptr<Packet> p, const Ipv6Header &header, Ptr<NetDevice> oif, Socket::SocketErrno &sockerr) = 0;
+
+ - Application::Start and Application::Stop have been renamed to
+Application::SetStartTime and Application::SetStopTime.
+
- Channel::Send: this method does not really exist but each subclass of the Channel
+base class must implement a similar method which sends a packet from a node to another node.
+Users must now use Simulator::ScheduleWithContext instead of Simulator::Schedule to schedule
+the reception event on a remote node.
+For example, before:
+
+void
+SimpleChannel::Send (Ptr<Packet> p, uint16_t protocol,
+ Mac48Address to, Mac48Address from,
+ Ptr<SimpleNetDevice> sender)
+{
+ for (std::vector<Ptr<SimpleNetDevice> >::const_iterator i = m_devices.begin (); i != m_devices.end (); ++i)
+ {
+ Ptr<SimpleNetDevice> tmp = *i;
+ if (tmp == sender)
+ {
+ continue;
+ }
+ Simulator::ScheduleNow (&SimpleNetDevice::Receive, tmp, p->Copy (), protocol, to, from);
+ }
+}
+
+After:
+
+void
+SimpleChannel::Send (Ptr<Packet> p, uint16_t protocol,
+ Mac48Address to, Mac48Address from,
+ Ptr<SimpleNetDevice> sender)
+{
+ for (std::vector<Ptr<SimpleNetDevice> >::const_iterator i = m_devices.begin (); i != m_devices.end (); ++i)
+ {
+ Ptr<SimpleNetDevice> tmp = *i;
+ if (tmp == sender)
+ {
+ continue;
+ }
+ Simulator::ScheduleWithContext (tmp->GetNode ()->GetId (), Seconds (0),
+ &SimpleNetDevice::Receive, tmp, p->Copy (), protocol, to, from);
+ }
+}
+
+
+ - Simulator::SetScheduler: this method now takes an ObjectFactory
+instead of an object pointer directly. Existing callers can trivially be
+updated to use this new method.
+Before:
+
+Ptr<Scheduler> sched = CreateObject<ListScheduler> ();
+Simulator::SetScheduler (sched);
+
+After:
+
+ObjectFactory sched;
+sched.SetTypeId ("ns3::ListScheduler");
+Simulator::SetScheduler (sched);
+
+
+ - Extensions to IPv4 Ping application: verbose output and the ability to configure different ping
+sizes and time intervals (via new attributes)
+
+
- Topology Helpers: Previously, topology helpers such as a point-to-point star existed in the
+PointToPointHelper class in the form of a method (ex: PointToPointHelper::InstallStar). These topology
+helpers have been pulled out of the specific helper classes and created as separate classes. Several
+different topology helper classes now exist including PointToPointStarHelper, PointToPointGridHelper,
+PointToPointDumbbellHelper, and CsmaStarHelper. For example, a user wishes to create a
+point-to-point star network:
+Before:
+
+NodeContainer hubNode;
+NodeContainer spokeNodes;
+hubNode.Create (1);
+Ptr<Node> hub = hubNode.Get (0);
+spokeNodes.Create (nNodes - 1);
+
+PointToPointHelper pointToPoint;
+pointToPoint.SetDeviceAttribute ("DataRate", StringValue ("5Mbps"));
+pointToPoint.SetChannelAttribute ("Delay", StringValue ("2ms"));
+NetDeviceContainer hubDevices, spokeDevices;
+pointToPoint.InstallStar (hubNode.Get (0), spokeNodes, hubDevices, spokeDevices);
+
+After:
+
+PointToPointHelper pointToPoint;
+pointToPoint.SetDeviceAttribute ("DataRate", StringValue ("5Mbps"));
+pointToPoint.SetChannelAttribute ("Delay", StringValue ("2ms"));
+PointToPointStarHelper star (nSpokes, pointToPoint);
+
+
+
+
+
+
+Changed behavior:
+
+- Changed default value of YansWifiPhy::EnergyDetectionThreshold from
+-140.0 dBm to -96.0 dBm. Changed default value of
+YansWifiPhy::CcaModelThreshold from -140.0 dBm to -99.0 dBm. Rationale
+can be found
+here.
+
+- Default TTL of IPv4 broadcast datagrams changed from 1 to 64.
+- Changed DcfManager::UpdateBackoff (): using flooring instead of rounding in calculation of remaining slots.
+ See bug 695.
+
+
+
+
+Changes from ns-3.5 to ns-3.6
+
+Changes to build system:
+
+- A new test framework is provided with ns-3.6 that primarilay runs outside waf
+
"./waf check" now runs the new unit tests of the core part of ns-3.6.
+In order to run the complete test package, use "./test.py" which is
+documented in a new manual -- find it in ./doc/testing. "./waf check"
+no longer generates the introspected Doxygen. Now use "./waf doxygen"
+to do this and generate the Doxygen documentation in one step.
+
+
+
+New API:
+
+- Longest prefix match, support for metrics, for Ipv4StaticRouting and Ipv6StaticRouting
+
When performing route lookup, first match for longest prefix, and then
+based on metrics (default metric = 0). If metrics are equal, most recent
+addition is picked. Extends API for support of metrics but preserves
+backward compatibility. One small change is that the default route
+is no longer stored as index 0 route in the host route table so
+GetDefaultRoute () must be used.
+
+
+- Route injection for global routing
+
Add ability to inject and withdraw routes to Ipv4GlobalRouting. This
+allows a user to insert a route and have it redistributed like an OSPF
+external LSA to the rest of the topology.
+
+
+
+- Athstats
+
New classes AthstatsWifiTraceSink and AthstatsHelper.
+
+
+- WifiRemoteStationManager
+
New trace sources exported by WifiRemoteStationManager: MacTxRtsFailed, MacTxDataFailed, MacTxFinalRtsFailed and MacTxFinalDataFailed.
+
+
+
+- IPv6 additions
+
Add an IPv6 protocol and ICMPv6 capability.
+
+- new classes Ipv6, Ipv6Interface, Ipv6L3Protocol, Ipv6L4Protocol
+
- Ipv6RawSocket (no UDP or TCP capability yet)
+
- a set of classes to implement Icmpv6, including neighbor discovery,
+router solicitation, DAD
+
- new applications Ping6 and Radvd
+
- routing objects Ipv6Route and Ipv6MulticastRoute
+
- routing protocols Ipv6ListRouting and Ipv6StaticRouting
+
- examples: icmpv6-redirect.cc, ping6.cc, radvd.cc, radvd-two-prefix.cc, simple-routing-ping6.cc
+
+
+
+
+Wireless Mesh Networking models
+
+
+
- General multi-interface mesh stack infrastructure (devices/mesh module).
+
- IEEE 802.11s (Draft 3.0) model including Peering Management Protocol and HWMP.
+
- Forwarding Layer for Meshing (FLAME) protocol.
+
+
+
+
+802.11 enhancements
+
+
+- 10MHz and 5MHz channel width supported by 802.11a model (Ramon Bauza and Kirill Andreev).
+
+
+- Channel switching support. YansWifiPhy can now switch among different channels (Ramon Bauza and Pavel Boyko).
+
+
+
+
+ Nix-vector Routing
+ Add nix-vector routing protocol
+
+- new helper class Ipv4NixVectorHelper
+
+
+- examples: nix-simple.cc, nms-p2p-nix.cc
+
+
+
+
+New Test Framework
+ Add TestCase, TestSuite classes
+
+- examples: src/core/names-test-suite.cc, src/core/random-number-test-suite.cc, src/test/ns3tcp/ns3tcp-cwnd-test-suite.cc
+
+
+
+
+
+
+Changes to existing API:
+
+- InterferenceHelper
+
The method InterferenceHelper::CalculateTxDuration (uint32_t size, WifiMode payloadMode, WifiPreamble preamble) has been made static, so that the frame duration depends only on the characteristics of the frame (i.e., the function parameters) and not on the particular standard which is used by the receiving PHY. This makes it now possible to correctly calculate the duration of incoming frames in scenarios in which devices using different PHY configurations coexist in the same channel (e.g., a BSS using short preamble and another BSS using long preamble).
+ The following member methods have been added to InterferenceHelper:
+
+ static WifiMode GetPlcpHeaderMode (WifiMode, WifiPreamble);
+ static uint32_t GetPlcpHeaderDurationMicroSeconds (WifiMode, WifiPreamble);
+ static uint32_t GetPlcpPreambleDurationMicroSeconds (WifiMode, WifiPreamble);
+ static uint32_t GetPayloadDurationMicroSeconds (size, WifiMode);
+ The following member methods have been removed from InterferenceHelper:
+
+ void Configure80211aParameters (void);
+ void Configure80211bParameters (void);
+ void Configure80211_10MhzParameters (void);
+ void Configure80211_5MhzParameters (void);
+
+- WifiMode
+
WifiMode now has a WifiPhyStandard attribute which identifies the standard the WifiMode belongs to. To properly set this attribute when creating a new WifiMode, it is now required to explicitly pass a WifiPhyStandard parameter to all WifiModeFactory::CreateXXXX() methods. The WifiPhyStandard value of an existing WifiMode can be retrieved using the new method WifiMode::GetStandard().
+
+- NetDevice
+
In order to have multiple link change callback in NetDevice (i.e. to flush ARP and IPv6 neighbor discovery caches), the following member method has been renamed:
+
+- virtual void SetLinkChangeCallback (Callback<void> callback);
++ virtual void AddLinkChangeCallback (Callback<void> callback);
+Now each NetDevice subclasses have a TracedCallback<> object (list of callbacks) instead of Callback<void> ones.
+
+
+
+
+Changes from ns-3.4 to ns-3.5
+
+Changes to build system:
+
+
+New API:
+
+
+- YansWifiPhyHelper supporting radiotap and prism PCAP output
+
The newly supported pcap formats can be adopted by calling the following new method of YansWifiPhyHelper:
+
+ + void SetPcapFormat (enum PcapFormat format);
+
+where format is one of PCAP_FORMAT_80211_RADIOTAP, PCAP_FORMAT_80211_PRISM or PCAP_FORMAT_80211. By default, PCAP_FORMAT_80211 is used, so the default PCAP format is the same as before.
+
+
+- attributes for class Ipv4
+
class Ipv4 now contains attributes in ipv4.cc; the first one
+is called "IpForward" that will enable/disable Ipv4 forwarding.
+
+
+- packet tags
+
class Packet now contains AddPacketTag, RemovePacketTag and PeekPacketTag
+which can be used to attach a tag to a packet, as opposed to the old
+AddTag method which attached a tag to a set of bytes. The main
+semantic difference is in how these tags behave in the presence of
+fragmentation and reassembly.
+
+
+
+
+Changes to existing API:
+
+
+- Ipv4Interface::GetMtu () deleted
+
The Ipv4Interface API is private to internet-stack module; this method
+was just a pass-through to GetDevice ()->GetMtu ().
+
+
+
+- GlobalRouteManager::PopulateRoutingTables () and RecomputeRoutingTables () are deprecated
+
This API has been moved to the helper API and the above functions will
+be removed in ns-3.6. The new API is:
+
+Ipv4GlobalRoutingHelper::PopulateRoutingTables ();
+Ipv4GlobalRoutingHelper::RecomputeRoutingTables ();
+
+Additionally, these low-level functions in GlobalRouteManager are now public,
+allowing more API flexibility at the low level ns-3 API:
+
+GlobalRouteManager::DeleteGlobalRoutes ();
+GlobalRouteManager::BuildGlobalRoutingDatabase ();
+GlobalRouteManager::InitializeRoutes ();
+
+
+
+
+- CalcChecksum attribute changes
+
Four IPv4 CalcChecksum attributes (which enable the computation of
+checksums that are disabled by default) have been collapsed into one global
+value in class Node. These four calls:
+
+Config::SetDefault ("ns3::Ipv4L3Protocol::CalcChecksum", BooleanValue (true));
+Config::SetDefault ("ns3::Icmpv4L4Protocol::CalcChecksum", BooleanValue (true));
+Config::SetDefault ("ns3::TcpL4Protocol::CalcChecksum", BooleanValue (true));
+Config::SetDefault ("ns3::UdpL4Protocol::CalcChecksum", BooleanValue (true));
+
+are replaced by one call to:
+
+GlobalValue::Bind ("ChecksumEnabled", BooleanValue (true));
+
+
+
+
+- CreateObject changes
+
CreateObject is now able to construct objects with a non-default constructor.
+ If you used to pass attribute lists to CreateObject, you must now use CreateObjectWithAttributes.
+
+
+
+- packet byte tags renaming
+
+ - Packet::AddTag to Packet::AddByteTag
+ - Packet::FindFirstMatchingTag to Packet::FindFirstMatchingByteTag
+ - Packet::RemoveAllTags to Packet::RemoveAllByteTags
+ - Packet::PrintTags to Packet::PrintByteTags
+ - Packet::GetTagIterator to Packet::GetByteTagIterator
+
+
+
+- YansWifiPhyHelper::EnablePcap* methods not static any more
+
To accommodate the possibility of configuring the PCAP format used for wifi promiscuous mode traces, several methods of YansWifiPhyHelper had to be made non-static:
+
+- static void EnablePcap (std::string filename, uint32_t nodeid, uint32_t deviceid);
++ void EnablePcap (std::string filename, uint32_t nodeid, uint32_t deviceid);
+- static void EnablePcap (std::string filename, Ptr<NetDevice> nd);
++ void EnablePcap (std::string filename, Ptr<NetDevice> nd);
+- static void EnablePcap (std::string filename, std::string ndName);
++ void EnablePcap (std::string filename, std::string ndName);
+- static void EnablePcap (std::string filename, NetDeviceContainer d);
++ void EnablePcap (std::string filename, NetDeviceContainer d);
+- static void EnablePcap (std::string filename, NodeContainer n);
++ void EnablePcap (std::string filename, NodeContainer n);
+- static void EnablePcapAll (std::string filename);
++ void EnablePcapAll (std::string filename);
+
+
+
+
+- Wifi Promisc Sniff interface modified
+
+To accommodate support for the radiotap and prism headers in PCAP traces, the interface for promiscuos mode sniff in the wifi device was changed. The new implementation was heavily inspired by the way the madwifi driver handles monitor mode. A distinction between TX and RX events is introduced, to account for the fact that different information is to be put in the radiotap/prism header (e.g., RSSI and noise make sense only for RX packets). The following are the relevant modifications to the WifiPhy class:
+
+- void NotifyPromiscSniff (Ptr<const Packet> packet);
++ void NotifyPromiscSniffRx (Ptr<const Packet> packet, uint16_t channelFreqMhz, uint32_t rate, bool isShortPreamble, double signalDbm, double noiseDbm);
++ void NotifyPromiscSniffTx (Ptr<const Packet> packet, uint16_t channelFreqMhz, uint32_t rate, bool isShortPreamble);
+- TracedCallback<Ptr<const Packet> > m_phyPromiscSnifferTrace;
++ TracedCallback<Ptr<const Packet>, uint16_t, uint32_t, bool, double, double> m_phyPromiscSniffRxTrace;
++ TracedCallback<Ptr<const Packet>, uint16_t, uint32_t, bool> m_phyPromiscSniffTxTrace;
+
+The above mentioned callbacks are expected to be used to call the following method to write Wifi PCAP traces in promiscuous mode:
+
++ void WriteWifiMonitorPacket(Ptr<const Packet> packet, uint16_t channelFreqMhz, uint32_t rate, bool isShortPreamble, bool isTx, double signalDbm, double noiseDbm);
+
+In the above method, the isTx parameter is to be used to differentiate between TX and RX packets. For an example of how to implement these callbacks, see the implementation of PcapSniffTxEvent and PcapSniffRxEvent in src/helper/yans-wifi-helper.cc
+
+
+
+- Routing decoupled from class Ipv4
+
All calls of the form "Ipv4::AddHostRouteTo ()" etc. (i.e. to
+add static routes, both unicast and multicast) have been moved to a new
+class Ipv4StaticRouting. In addition, class Ipv4 now holds only
+one possible routing protocol; the previous way to add routing protocols
+(by ordered list of priority) has been moved to a new class Ipv4ListRouting.
+Class Ipv4 has a new minimal routing API (just to set and get the routing
+protocol):
+
+- virtual void AddRoutingProtocol (Ptr<Ipv4RoutingProtocol> routingProtocol, int16_t priority) = 0;
++ virtual void SetRoutingProtocol (Ptr<Ipv4RoutingProtocol> routingProtocol) = 0;
++ virtual Ptr<Ipv4RoutingProtocol> GetRoutingProtocol (void) const = 0;
+
+
+
+- class Ipv4RoutingProtocol is refactored
+
The abstract base class Ipv4RoutingProtocol has been refactored to
+align with corresponding Linux Ipv4 routing architecture, and has been
+moved from ipv4.h to a new file ipv4-routing-protocol.h. The new
+methods (RouteOutput () and RouteInput ()) are aligned with Linux
+ip_route_output() and ip_route_input(). However,
+the general nature of these calls (synchronous routing lookup for
+locally originated packets, and an asynchronous, callback-based lookup
+for forwarded packets) is still the same.
+
+- typedef Callback<void, bool, const Ipv4Route&, Ptr<Packet>, const Ipv4Header&> RouteReplyCallback;
++ typedef Callback<void, Ptr<Ipv4Route>, Ptr<const Packet>, const Ipv4Header &> UnicastForwardCallback;
++ typedef Callback<void, Ptr<Ipv4MulticastRoute>, Ptr<const Packet>, const Ipv4Header &> MulticastForwardCallback;
++ typedef Callback<void, Ptr<const Packet>, const Ipv4Header &, uint32_t > LocalDeliverCallback;
++ typedef Callback<void, Ptr<const Packet>, const Ipv4Header &> ErrorCallback;
+- virtual bool RequestInterface (Ipv4Address destination, uint32_t& interface) = 0;
++ virtual Ptr<Ipv4Route> RouteOutput (Ptr<Packet> p, const Ipv4Header &header, uint32_t oif, Socket::SocketErrno &errno) = 0;
+- virtual bool RequestRoute (uint32_t interface,
+- const Ipv4Header &ipHeader,
+- Ptr<Packet> packet,
+- RouteReplyCallback routeReply) = 0;
++ virtual bool RouteInput (Ptr<const Packet> p, const Ipv4Header &header, Ptr<const NetDevice> idev,
++ UnicastForwardCallback ucb, MulticastForwardCallback mcb,
++ LocalDeliverCallback lcb, ErrorCallback ecb) = 0;
+
+
+
+- previous class Ipv4Route, Ipv4MulticastRoute renamed; new classes with
+those same names added
+
The previous class Ipv4Route and Ipv4MulticastRoute are used by
+Ipv4StaticRouting and Ipv4GlobalRouting to record internal routing table
+entries, so they were renamed to class Ipv4RoutingTableEntry and
+Ipv4MulticastRoutingTableEntry, respectively. In their place, new
+class Ipv4Route and class Ipv4MulticastRoute have been added. These
+are reference-counted objects that are analogous to Linux struct
+rtable and struct mfc_cache, respectively, to achieve better compatibility
+with Linux routing architecture in the future.
+
+
- class Ipv4 address-to-interface mapping functions changed
+
There was some general cleanup of functions that involve mappings
+from Ipv4Address to either NetDevice or Ipv4 interface index.
+
+- virtual uint32_t FindInterfaceForAddr (Ipv4Address addr) const = 0;
+- virtual uint32_t FindInterfaceForAddr (Ipv4Address addr, Ipv4Mask mask) const = 0;
++ virtual int32_t GetInterfaceForAddress (Ipv4Address address) const = 0;
++ virtual int32_t GetInterfaceForPrefix (Ipv4Address address, Ipv4Mask mask) const = 0;
+- virtual int32_t FindInterfaceForDevice(Ptr<NetDevice> nd) const = 0;
++ virtual int32_t GetInterfaceForDevice (Ptr<const NetDevice> device) const = 0;
+- virtual Ipv4Address GetSourceAddress (Ipv4Address destination) const = 0;
+- virtual bool GetInterfaceForDestination (Ipv4Address dest,
+- virtual uint32_t GetInterfaceByAddress (Ipv4Address addr, Ipv4Mask mask = Ipv4Mask("255.255.255.255"));
+
+
+ - class Ipv4 multicast join API deleted
+
The following methods are not really used in present form since IGMP
+is not being generated, so they have been removed (planned to be replaced
+by multicast socket-based calls in the future):
+
+
+- virtual void JoinMulticastGroup (Ipv4Address origin, Ipv4Address group) = 0;
+- virtual void LeaveMulticastGroup (Ipv4Address origin, Ipv4Address group) = 0;
+
+
+
+ - Deconflict NetDevice::ifIndex and Ipv4::ifIndex (bug 85).
+
All function parameters named "ifIndex" that refer
+to an Ipv4 interface are instead named "interface".
+
+- static const uint32_t Ipv4RoutingProtocol::IF_INDEX_ANY = 0xffffffff;
++ static const uint32_t Ipv4RoutingProtocol::INTERFACE_ANY = 0xffffffff;
+
+- bool Ipv4RoutingProtocol::RequestIfIndex (Ipv4Address destination, uint32_t& ifIndex);
++ bool Ipv4RoutingProtocol::RequestInterface (Ipv4Address destination, uint32_t& interface);
+(N.B. this particular function is planned to be renamed to RouteOutput() in the
+proposed IPv4 routing refactoring)
+
+- uint32_t Ipv4::GetIfIndexByAddress (Ipv4Address addr, Ipv4Mask mask);
++ int_32t Ipv4::GetInterfaceForAddress (Ipv4Address address, Ipv4Mask mask) const;
+
+- bool Ipv4::GetIfIndexForDestination (Ipv4Address dest, uint32_t &ifIndex) const;
++ bool Ipv4::GetInterfaceForDestination (Ipv4Address dest, uint32_t &interface) const;
+(N.B. this function is not needed in the proposed Ipv4 routing refactoring)
+
+
+
+ - Allow multiple IPv4 addresses to be assigned to an interface (bug 188)
+
+ - Add class Ipv4InterfaceAddress:
+ This is a new class to resemble Linux's struct in_ifaddr. It holds IP addressing information, including mask,
+ broadcast address, scope, whether primary or secondary, etc.
+
++ virtual uint32_t AddAddress (uint32_t interface, Ipv4InterfaceAddress address) = 0;
++ virtual Ipv4InterfaceAddress GetAddress (uint32_t interface, uint32_t addressIndex) const = 0;
++ virtual uint32_t GetNAddresses (uint32_t interface) const = 0;
+
+ - Regarding legacy API usage, typically where you once did the following,
+ using the public Ipv4 class interface (e.g.):
+
+ ipv4A->SetAddress (ifIndexA, Ipv4Address ("172.16.1.1"));
+ ipv4A->SetNetworkMask (ifIndexA, Ipv4Mask ("255.255.255.255"));
+
+ you now do:
+
+ Ipv4InterfaceAddress ipv4IfAddrA = Ipv4InterfaceAddress (Ipv4Address ("172.16.1.1"), Ipv4Mask ("255.255.255.255"));
+ ipv4A->AddAddress (ifIndexA, ipv4IfAddrA);
+
+ - At the helper API level, one often gets an address from an interface
+ container. We preserve the legacy GetAddress (uint32_t i) but it
+ is documented that this will return only the first (address index 0)
+ address on the interface, if there are multiple such addresses.
+ We provide also an overloaded variant for the multi-address case:
+
+
+Ipv4Address Ipv4InterfaceContainer::GetAddress (uint32_t i)
++ Ipv4Address Ipv4InterfaceContainer::GetAddress (uint32_t i, uint32_t j)
+
+
+
+
+ - New WifiMacHelper objects
+
The type of wifi MAC is now set by two new specific helpers, NqosWifiMacHelper for non QoS MACs and QosWifiMacHelper for Qos MACs. They are passed as argument to WifiHelper::Install methods.
+
+- void WifiHelper::SetMac (std::string type, std::string n0 = "", const AttributeValue &v0 = EmptyAttributeValue (),...)
+
+- NetDeviceContainer WifiHelper::Install (const WifiPhyHelper &phyHelper, NodeContainer c) const
++ NetDeviceContainer WifiHelper::Install (const WifiPhyHelper &phyHelper, const WifiMacHelper &macHelper, NodeContainer c) const
+
+- NetDeviceContainer WifiHelper::Install (const WifiPhyHelper &phy, Ptr<Node> node) const
++ NetDeviceContainer WifiHelper::Install (const WifiPhyHelper &phy, const WifiMacHelper &mac, Ptr<Node> node) const
+
+- NetDeviceContainer WifiHelper::Install (const WifiPhyHelper &phy, std::string nodeName) const
++ NetDeviceContainer WifiHelper::Install (const WifiPhyHelper &phy, const WifiMacHelper &mac, std::string nodeName) const
+
+ See src/helper/nqos-wifi-mac-helper.h and src/helper/qos-wifi-mac-helper.h for more details.
+
+
+Remove Mac48Address::IsMulticast
+ This method was considered buggy and unsafe to call. Its replacement is Mac48Address::IsGroup.
+
+
+
+
+Changed behavior:
+
+
+
+Changes from ns-3.3 to ns-3.4
+
+Changes to build system:
+
+- A major option regarding the downloading and building of ns-3 has been
+added for ns-3.4 -- the ns-3-allinone feature. This allows a user to
+get the most common options for ns-3 downloaded and built with a minimum
+amount of trouble. See the ns-3 tutorial for a detailed explanation of
+how to use this new feature.
+
+- The build system now runs build items in parallel by default. This includes
+the regression tests.
+
+
+New API:
+
+- XML support has been added to the ConfigStore in src/contrib/config-store.cc
+
+- The ns-2 calendar queue scheduler option has been ported to src/simulator
+
+- A ThreeLogDistancePropagationLossModel has been added to src/devices/wifi
+
+- ConstantAccelerationMobilityModel in src/mobility/constant-acceleration-mobility-model.h
+
+- A new emulation mode is supported with the TapBridge net device (see
+src/devices/tap-bridge)
+
+- A new facility for naming ns-3 Objects is included (see
+src/core/names.{cc,h})
+
+- Wifi multicast support has been added in src/devices/wifi
+
+
+Changes to existing API:
+
+
+- Some fairly significant changes have been made to the API of the
+random variable code. Please see the ns-3 manual and src/core/random-variable.cc
+for details.
+
+- The trace sources in the various NetDevice classes has been completely
+reworked to allow for a consistent set of trace sources across the
+devices. The names of the trace sources have been changed to provide
+some context with respect to the level at which the trace occurred.
+A new set of trace sources has been added which emulates the behavior
+of packet sniffers. These sources have been used to implement tcpdump-
+like functionality and are plumbed up into the helper classes. The
+user-visible changes are the trace source name changes and the ability
+to do promiscuous-mode pcap tracing via helpers. For further information
+regarding these changes, please see the ns-3 manual
+
+- StaticMobilityModel has been renamed ConstantPositionMobilityModel
+StaticSpeedMobilityModel has been renamed ConstantVelocityMobilityModel
+
+- The Callback templates have been extended to support more parameters.
+See src/core/callback.h
+
+- Many helper API have been changed to allow passing Object-based parameters
+as string names to ease working with the object name service.
+
+- The Config APIs now accept path segments that are names defined by the
+object name service.
+
+- Minor changes were made to make the system build under the Intel C++ compiler.
+
+- Trace hooks for association and deassociation to/from an access point were
+added to src/devices/wifi/nqsta-wifi-mac.cc
+
+
+Changed behavior:
+
+
+- The tracing system rework has introduced some significant changes in the
+behavior of some trace sources, specifically in the positioning of trace sources
+in the device code. For example, there were cases where the packet transmit
+trace source was hit before the packet was enqueued on the device transmit quueue.
+This now happens just before the packet is transmitted over the channel medium.
+The scope of the changes is too large to be included here. If you have concerns
+regarding trace semantics, please consult the net device documentation for details.
+As is usual, the ultimate source for documentation is the net device source code.
+
+
+
+Changes from ns-3.2 to ns-3.3
+
+New API:
+
+-
+ns-3 ABORT macros in src/core/abort.h
+Config::MatchContainer
+ConstCast and DynamicCast helper functions for Ptr casting
+StarTopology added to several topology helpers
+NetDevice::IsBridge ()
+
+
+- 17-11-2008; changeset
+4c1c3f6bcd03
+
+-
+The PppHeader previously defined in the point-to-point-net-device code has been
+made public.
+
+
+
+- 17-11-2008; changeset
+16c2970a0344
+
+-
+An emulated net device has been added as enabling technology for ns-3 emulation
+scenarios. See src/devices/emu and examples/emu-udp-echo.cc for details.
+
+
+
+- 17-11-2008; changeset
+4222173d1e6d
+
+-
+Added method InternetStackHelper::EnableAsciiChange to allow allow a user to
+hook ascii trace to the drop trace events in Ipv4L3Protocol and ArpL3Protocol.
+
+
+
+
+Changes to existing API:
+
+
+- NetDevice::MakeMulticastAddress() was renamed to NetDevice::GetMulticast()
+and the original GetMulticast() removed
+
+- Socket API changes:
+
+- return type of SetDataSentCallback () changed from bool to void
+- Socket::Listen() no longer takes a queueLimit argument
+
+
+ - As part of the Wifi Phy rework, there have been several API changes
+at the low level and helper API level.
+
+- At the helper API level, the WifiHelper was split to three classes:
+a WifiHelper, a YansWifiChannel helper, and a YansWifiPhy helper. Some
+functions like Ascii and Pcap tracing functions were moved from class
+WifiHelper to class YansWifiPhyHelper.
+
- At the low-level API, there have been a number of changes to
+make the Phy more modular:
+
+- composite-propagation-loss-model.h is removed
+- DcfManager::NotifyCcaBusyStartNow() has changed name
+- fragmentation related functions (e.g. DcaTxop::GetNFragments()) have
+changed API to account for some implementation changes
+- Interference helper and error rate model added
+- JakesPropagationLossModel::GetLoss() moved to PropagationLoss() class
+- base class WifiChannel made abstract
+- WifiNetDevice::SetChannel() removed
+- a WifiPhyState helper class added
+- addition of the YansWifiChannel and YansWifiPhy classes
+
+
+
+- 17-11-2008; changeset
+dacfd1f07538
+
+-
+Change attribute "RxErrorModel" to "ReceiveErrorModel" in CsmaNetDevice for
+consistency between devices.
+
+
+
+
+changed behavior:
+
+
+- 17-11-2008; changeset
+ed0dfce40459
+
+-
+Relax reasonableness testing in Ipv4AddressHelper::SetBase to allow the
+assignment of /32 addresses.
+
+
+
+- 17-11-2008; changeset
+756887a9bbea
+
+-
+Global routing supports bridge devices.
+
+
+
+
+
+Changes from ns-3.1 to ns-3.2
+
+New API:
+
+
+- 26-08-2008; changeset
+5aa65b1ea001
+
+-
+Add multithreaded and real-time simulator implementation. Allows for emulated
+net devices running in threads other than the main simulation thread to schedule
+events. Allows for pacing the simulation clock at 1x real-time.
+
+
+
+
+- 26-08-2008; changeset
+c69779f5e51e
+
+-
+Add threading and synchronization primitives. Enabling technology for
+multithreaded simulator implementation.
+
+
+
+
+New API in existing classes:
+
+
+- 01-08-2008; changeset
+a18520551cdf
+
+- class ArpCache has two new attributes: MaxRetries
+and a Drop trace. It also has some new public methods but these are
+mostly for internal use.
+
+
+
+
+Changes to existing API:
+
+
+- 05-09-2008; changeset
+aa1fb0f43571
+
+-
+Change naming of MTU and packet size attributes in CSMA and Point-to-Point devices
+After much discussion it was decided that the preferred way to think about
+the different senses of transmission units and encapsulations was to call the
+MAC MTU simply MTU and to use the overall packet size as the PHY-level attribute
+of interest. See the Doxygen of CsmaNetDevice::SetFrameSize and
+PointToPointNetDevice::SetFrameSize for a detailed description.
+
+
+
+- 25-08-2008; changeset
+e5ab96db540e
+
+-
+bug 273: constify packet pointers.
+The normal and the promiscuous receive callbacks of the NetDevice API
+have been changed from:
+
+Callback<bool,Ptr<NetDevice>,Ptr<Packet>,uint16_t,const Address &>
+Callback<bool,Ptr<NetDevice>, Ptr<Packet>, uint16_t,
+ const Address &, const Address &, enum PacketType >
+
+to:
+
+Callback<bool,Ptr<NetDevice>,Ptr<const Packet>,uint16_t,const Address &>
+Callback<bool,Ptr<NetDevice>, Ptr<const Packet>, uint16_t,
+ const Address &, const Address &, enum PacketType >
+
+to avoid the kind of bugs reported in
+bug 273.
+Users who implement a subclass of the NetDevice base class need to change the signature
+of their SetReceiveCallback and SetPromiscReceiveCallback methods.
+
+
+
+
+- 04-08-2008; changeset
+cba7b2b80fe8
+
+-
+Cleanup of MTU confusion and initialization in CsmaNetDevice
+The MTU of the CsmaNetDevice defaulted to 65535. This did not correspond with
+the expected MTU found in Ethernet-like devices. Also there was not clear
+documentation regarding which MTU was being set. There are two MTU here, one
+at the MAC level and one at the PHY level. We split out the MTU setting to make
+this more clear and set the default PHY level MTU to 1500 to be more like
+Ethernet. The encapsulation mode defaults to LLC/SNAP which then puts the
+MAC level MTU at 1492 by default. We allow users to now set the encapsulation
+mode, MAC MTU and PHY MTU while keeping the three values consistent. See the
+Doxygen of CsmaNetDevice::SetMaxPayloadLength for a detailed description of the
+issues and solution.
+
+
+
+- 21-07-2008; changeset
+99698bc858e8
+
+- class NetDevice has added a pure virtual method that
+must be implemented by all subclasses:
+
+virtual void SetPromiscReceiveCallback (PromiscReceiveCallback cb) = 0;
+
+All NetDevices must support this method, and must call this callback
+when processing packets in the receive direction (the appropriate place
+to call this is device-dependent). An approach to stub this out
+temporarily, if you do not care about immediately enabling this
+functionality, would be to add this to your device:
+
+void
+ExampleNetDevice::SetPromiscReceiveCallback
+(NetDevice::PromiscReceiveCallback cb)
+{
+ NS_ASSERT_MSG (false, "No implementation yet for
+SetPromiscReceiveCallback");
+}
+
+To implement this properly, consult the CsmaNetDevice for examples of
+when the m_promiscRxCallback is called.
+
+
+
+- 03-07-2008; changeset
+d5f8e5fae1c6
+
+-
+Miscellaneous cleanup of Udp Helper API, to fix bug 234
+
+class UdpEchoServerHelper
+{
+public:
+- UdpEchoServerHelper ();
+- void SetPort (uint16_t port);
++ UdpEchoServerHelper (uint16_t port);
++
++ void SetAttribute (std::string name, const AttributeValue &value);
+ApplicationContainer Install (NodeContainer c);
+
+class UdpEchoClientHelper
+{
+public:
+- UdpEchoClientHelper ();
++ UdpEchoClientHelper (Ipv4Address ip, uint16_t port);
+- void SetRemote (Ipv4Address ip, uint16_t port);
+- void SetAppAttribute (std::string name, const AttributeValue &value);
++ void SetAttribute (std::string name, const AttributeValue &value);
+ApplicationContainer Install (NodeContainer c);
+
+
+
+
+- 03-07-2008; changeset
+3cdd9d60f7c7
+
+-
+Rename all instances method names using "Set..Parameter" to "Set..Attribute"
+(bug 232)
+
+- How to fix your code: Any use of helper API that was using a method
+"Set...Parameter()" should be changed to read "Set...Attribute()". e.g.
+
+- csma.SetChannelParameter ("DataRate", DataRateValue (5000000));
+- csma.SetChannelParameter ("Delay", TimeValue (MilliSeconds (2)));
++ csma.SetChannelAttribute ("DataRate", DataRateValue (5000000));
++ csma.SetChannelAttribute ("Delay", TimeValue (MilliSeconds (2)));
+
+
+
+
+
+
+Changed behavior:
+
+
+- 07-09-2008; changeset
+5d836ab1523b
+
+
+-
+Implement a finite receive buffer for TCP
+The native TCP model in TcpSocketImpl did not support a finite receive buffer.
+This changeset adds the following functionality in this regard:
+
+-
+Being able to set the receiver buffer size through the attributes system.
+
+-
+This receiver buffer size is now correctly exported in the TCP header as the
+advertised window. Prior to this changeset, the TCP header advertised window
+was set to the maximum size of 2^16 bytes.
+window
+
+-
+The aforementioned window size is correctly used for flow control, i.e. the
+sending TCP will not send more data than available space in the receiver's
+buffer.
+
+-
+In the case of a receiver window collapse, when a advertised zero-window
+packet is received, the sender enters the persist probing state in which
+it sends probe packets with one payload byte at exponentially backed-off
+intervals up to 60s. The receiver will continue to send advertised
+zero-window ACKs of the old data so long as the receiver buffer remains full.
+When the receiver window clears up due to an application read, the TCP
+will finally ACK the probe byte, and update its advertised window appropriately.
+
+
+See
+ bug 239 for
+more.
+
+
+
+- 07-09-2008; changeset
+7afa66c2b291
+
+-
+Add correct FIN exchange behavior during TCP closedown
+The behavior of the native TcpSocketImpl TCP model was such that the final
+FIN exchange was not correct, i.e. calling Socket::Close didn't send a FIN
+packet, and even if it had, the ACK never came back, and even if it had, the
+ACK would have incorrect sequence number. All these various problems have been
+addressed by this changeset. See
+ bug 242 for
+more.
+
+
+
+- 28-07-2008; changeset
+6f68f1044df1
+
+-
+OLSR: HELLO messages hold time changed to 3*hello
+interval from hello interval. This is an important bug fix as
+hold time == refresh time was never intentional, as it leads to
+instability in neighbor detection.
+
+
+
+
+
+
+
diff --git a/code/LICENSE b/code/LICENSE
new file mode 100644
index 0000000..d511905
--- /dev/null
+++ b/code/LICENSE
@@ -0,0 +1,339 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Lesser General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+
+ Copyright (C)
+
+ This program 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 2 of the License, or
+ (at your option) any later version.
+
+ This program 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 this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ , 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.
diff --git a/code/README b/code/README
new file mode 100644
index 0000000..aa88bef
--- /dev/null
+++ b/code/README
@@ -0,0 +1,110 @@
+
+ The Network Simulator, Version 3
+ --------------------------------
+
+Table of Contents:
+------------------
+
+1) An overview
+2) Building ns-3
+3) Running ns-3
+4) Getting access to the ns-3 documentation
+5) Working with the development version of ns-3
+
+Note: Much more substantial information about ns-3 can be found at
+http://www.nsnam.org
+
+1) An Open Source project
+-------------------------
+
+ns-3 is a free open source project aiming to build a discrete-event
+network simulator targeted for simulation research and education.
+This is a collaborative project; we hope that
+the missing pieces of the models we have not yet implemented
+will be contributed by the community in an open collaboration
+process.
+
+Contributing to the ns-3 project is still a very informal
+process because that process depends heavily on the background
+of the people involved, the amount of time they can invest
+and the type of model they want to work on.
+
+Despite this lack of a formal process, there are a number of
+steps which naturally stem from the open-source roots of the
+project. These steps are described in doc/contributing.txt
+
+2) Building ns-3
+----------------
+
+The code for the framework and the default models provided
+by ns-3 is built as a set of libraries. User simulations
+are expected to be written as simple programs that make
+use of these ns-3 libraries.
+
+To build the set of default libraries and the example
+programs included in this package, you need to use the
+tool 'waf'. Detailed information on how use waf is
+included in the file doc/build.txt
+
+However, the real quick and dirty way to get started is to
+type the command "./waf configure; ./waf" the the directory which contains
+this README file. The files built will be copied in the
+build/debug or build/optimized.
+
+The current codebase is expected to build and run on the
+set of platforms listed in the RELEASE_NOTES file.
+
+Other platforms may or may not work: we welcome patches to
+improve the portability of the code to these other platforms.
+
+3) Running ns-3
+---------------
+
+On recent Linux systems, once you have built ns-3, it
+should be easy to run the sample programs with the
+following command:
+
+./waf --run simple-global-routing
+
+That program should generate a simple-global-routing.tr text
+trace file and a set of simple-global-routing-xx-xx.pcap binary
+pcap trace files, which can be read by tcpdump -tt -r filename.pcap
+
+4) Getting access to the ns-3 documentation
+-------------------------------------------
+
+Once you have verified that your build of ns-3 works by running
+the simple-point-to-point example as outlined in 4) above, it is
+quite likely that you will want to get started on reading
+some ns-3 documentation.
+
+All of that documentation should always be available from
+the ns-3 website: http:://www.nsnam.org/ but we
+include some of it in this release for ease of use.
+
+This documentation includes:
+
+ - a tutorial
+
+ - a manual
+
+ - a wiki for user-contributed tips: http://www.nsnam.org/wiki/
+
+ - an API documentation generated using doxygen: this is
+ a reference manual, most likely not very well suited
+ as introductory text:
+ http://www.nsnam.org/doxygen/index.html
+
+5) Working with the development version of ns-3
+-----------------------------------------------
+
+If you want to download and use the development version
+of ns-3, you need to use the tool 'mercurial'. A quick and
+dirty cheat sheet is included in doc/mercurial.txt but
+reading through the mercurial tutorials included on the
+mercurial website is usually a good idea if you are not
+familiar with it.
+
+If you have successfully installed mercurial, you can get
+a copy of the development version with the following command:
+"hg clone http://code.nsnam.org/ns-3-dev"
diff --git a/code/RELEASE_NOTES b/code/RELEASE_NOTES
new file mode 100644
index 0000000..8b9859e
--- /dev/null
+++ b/code/RELEASE_NOTES
@@ -0,0 +1,1129 @@
+
+ ns-3 RELEASE NOTES
+
+This file contains ns-3 release notes (most recent releases first).
+
+All of the ns-3 documentation is accessible from the ns-3 website:
+http://www.nsnam.org including tutorials: http://www.nsnam.org/tutorials.html
+
+Consult the file CHANGES.html for more detailed information about changed
+API and behavior across ns-3 releases.
+
+Release 3.10
+===========
+
+Availability
+------------
+This release is not yet available.
+
+Supported platforms
+-------------------
+ns-3.10 has been tested on the following platforms. Not all features are
+available on all platforms; check the Installation page on the project wiki.
+
+- Linux i686 Ubuntu 10.10
+ - g++-4.4.5
+- Linux x86_64 Ubuntu 8.04.4
+ - g++-3.4.6, g++-4.2.4
+- Linux x86_64 Fedora Core 12
+ - g++-4.4.4
+- Linux x86_64 Fedora Core 10
+ - g++-3.4.6, 4.0.4, 4.1.2, 4.2.4, 4.3.4, 4.4.0
+- OS X Snow Leopard
+ - g++-4.2.1
+- OS X powerpc Leopard
+ - g++-4.0, g++-4.2
+
+New user-visible features
+-------------------------
+
+ - NS-3 PyViz, a live simulation visualizer, has been added. The
+ visualizer interacts with a running simulation, such that it uses no
+ trace files. It can be most useful for debugging purposes, i.e. to
+ figure out if mobility models are what you expect, where packets are
+ being dropped, etc. There is also a builtin interactive python console
+ that can be used to debug the state of the running objects. Although
+ it is mostly written in Python, it works both with Python and pure C++
+ simulations.
+
+ - Wi-Fi MAC high classes have been reorganised in attempt to
+ consolidate shared functionality into a single class. This new
+ class is RegularWifiMac, and it derives from the abstract
+ WifiMac, and is parent of AdhocWifiMac, StaWifiMac, ApWifiMac,
+ and MeshWifiInterfaceMac. The QoS and non-QoS class variants are
+ no longer, with a RegularWifiMac attribute "QosSupported"
+ allowing selection between these two modes of
+ operation.
+
+ - Support for IEEE 802.11g (specifically, rates with Modulation
+ Class ERP-OFDM) has been added to the wifi module. The new
+ WifiModes have names of the form ErpOfdmRatexxMbps, where xx is
+ the rate in Mbps (one of 6, 9, 12, 18, 24, 36, 48, 54), and a
+ WifiPhyStandard enumeration WIFI_PHY_STANDARD_80211g has been
+ added to allow configuration of a Wi-Fi STA supporting ERP-OFDM,
+ HR/DSSS, and DSSS rates (which some call an "802.11b/g" station).
+
+ - Two attributes were added to WaypointMobilityModel. The first
+ "LazyNotify" (default false), if enabled to true, will suppress
+ course change notifications if there are no position updates.
+ The second, "InitialPositionIsWaypoint" (default false), if enabled,
+ will allow an initial call to SetPosition () (before any waypoints
+ have been added) to be treated as the first waypoint.
+
+ - Regression testing is now completely performed within test.py
+ rather than a separate "./waf --regression" that consults
+ reference traces in the ns-3.x-ref-traces directory. In most
+ cases, the example programs whose traces were included in
+ ns-3.x-ref-traces have a corresponding test called from the
+ test.py program. It is still possible to write trace-based
+ regression tests but they are now called from the test.py
+ program.
+
+ - New BulkSendApplication sends data as fast as possible up to
+ MaxBytes or unlimited if MaxBytes is zero. Think OnOff, but
+ without the "off" and without the variable data rate. This
+ application only works with SOCK_STREAM and SOCK_SEQPACKET
+ sockets, for example TCP sockets and not UDP sockets.
+
+ - Extensions to the energy models: 1) a new Rakhmatov Vrudhula
+ non-linear battery model, 2) additional support for modeling
+ energy consumption in WiFi devices, 3) an example for how to add
+ energy models to a WiFi-based simulation (in examples/energy/
+ directory).
+
+ - New methods to print IPv4 routing tables to an output stream.
+
+ - A replacement implementation for TCP for IPv4. TcpSocketBase
+ now replaces TcpSocketImpl. There are subclasses defined for
+ TCP Tahoe, Reno, NewReno, and the original RFC793 without
+ congestion control.
+
+ - Energy support for UAN module and Li-Ion energy model.
+ Now each network node can have an associated energy source
+ from which it consumes energy. The user can specify a custom
+ energy model for the underwater transducer, with default values
+ set for WHOI acoustic transducer. Li-Ion battery model added
+ into energy models folder.
+
+ - Destination-Sequenced Distance Vector (DSDV) routing protocol
+ is a proactive, table-driven routing protocol for MANETs
+ developed by Charles E. Perkins and Pravin Bhagwat in 1994.
+ This implementation is for IPv4 routing and was contributed
+ by ResilNets Research Group.
+
+ - A novel model to simulate LTE networks has been added. It focuses
+ mainly on modeling the E-UTRA part of the system, with a particular
+ attention on the aspects related to the channel, PHY and MAC layers.
+ The most important features available at this moment are (i) a basic
+ implementation of both the UE and the eNB devices, (ii) RRC and
+ entities for both the UE and the eNB, (iii) an Adaptive Modulation
+ and Coding (AMC) scheme for the downlink, (iv) the management of the
+ data radio bearers (with their QoS parameters), the MAC queues and
+ the RLC instances, (v) Channel Quality Indicator (CQI) management,
+ (vi) support for both uplink and downlik packet scheduling,
+ (vii) a PHY layer model with Resource Block level granularity, and
+ (viii) a channel model with the outdoor E-UTRAN propagation loss
+ model.
+
+ - Project documentation has been converted from GNU Texinfo to Sphinx.
+
+Bugs fixed
+----------
+The following lists many of the bugs fixed or small feature additions
+since ns-3.9, in many cases referencing the Bugzilla bug number
+
+ - bug 824 - TCP should implement FastRecovery by default
+ - bug 852 - Add support for 802.11g devices
+ - bug 892 - WaypointMobilityModel incompatible with MobilityHelper::Install
+ - bug 893 - Lazy CourseChange notification for WaypointMobilityModel
+ - bug 903 - TapBridge does not shut down properly
+ - bug 953 - WiMAX channel scanning overflow
+ - bug 967 - Need to decouple Ipv4L4Protocols from Ipv4L3Protocol
+ - bug 978 - Consolidate Wi-Fi MAC high functionality
+ - bug 979 - Multi-octet fields in Wi-Fi headers have wrong endianness
+ - bug 981 - use a cache to keep track of received MPDUs under block ack
+ - bug 983 - handle correctly ADDBA response action frames in QadhocWifiMac
+ - bug 984 - EmuNetDevice should use DIX encapsulation by default
+ - bug 985 - WiMAX Invalid management message type on wimax-simple
+ - bug 988 - MacRxMiddle::SequenceControlSmaller method
+ - bug 990 - Error with an NS_ASSERT at uan-phy-gen.cc
+ - bug 991 - InterferenceHelper assertion failure
+ - bug 992 - Unusual (possibly incorrect assertion) in Packet::Deserialize
+ - bug 993 - MinstrelWifiManager::UpdateStats useless if clause
+ - bug 994 - PointToPointGridHelper useless if clauses
+ - bug 995 - Useless (possibly incorrect) comparison of unsigned int
+ - bug 1004 - module header not rebuilt
+ - bug 1005 - GetSocket() methods for OnOffApplication and PacketSink
+ - bug 1009 - decouple m_finSequence (TcpSocketImpl) from tx sequence numbers
+ - bug 1012 - UAN Throp propagation model bug
+ - bug 1015 - GetChannelFrequencyMhz() does not match with standard
+ - bug 1022 - inappropriate ASSERT in tcp-socket-impl.cc
+ - bug 1025 - wimax-ipv4 script exists with signal SIGSEGV when nbSS>20
+ - bug 1027 - RocketfuelTopologyReader is not working at all
+ - bug 1029 - v4Ping application endian issues
+ - bug 1030 - routing/aodv example fixed
+ - bug 1031 - Wifi hidden terminal example does not work
+ - bug 1032 - Unable to specify multiple Compiler/Linker flags
+
+Known issues
+------------
+In general, known issues are tracked on the project tracker available
+at http://www.nsnam.org/bugzilla/
+
+Windows XP 32 bit Cygwin 1.7.7 does not seem to work because of a
+problem (reported elsewhere) in linking large libraries.
+
+Release 3.9
+===========
+
+Availability
+------------
+This release is immediately available from:
+http://www.nsnam.org/releases/ns-allinone-3.9.tar.bz2
+
+Supported platforms
+-------------------
+ns-3.9 has been tested on the following platforms:
+- Ubuntu 10.04 LTS 32/64-bit gcc-4.4.3
+- Fedora Core 12 64-bit gcc-4.4.3
+- Ubuntu 9.10 32-bit gcc-4.4.1
+- Ubuntu 8.04 LTS 64-bit gcc-4.2.4
+- Fedora Core 5 32-bit gcc-4.1.1
+- Mac OS X Leopard powerpc gcc-4.0.1
+- Windows Cygwin 1.7.5
+
+Not all ns-3 options are available on all platforms; consult the
+wiki for more information:
+http://www.nsnam.org/wiki/index.php/Installation
+
+New user-visible features
+-------------------------
+
+ - A reorganisation of the construction of Wi-Fi transmit rates has
+ been undertaken with the aim of simplifying the task of
+ supporting further IEEE 802.11 PHYs. This work has been completed
+ under the auspices of Bug 871. A consequence of this work is that
+ WifiModes have a new (hopefully future-proof) naming, and
+ simulations which specify rates by name will need updating. The
+ list of new rate names is given in the error message produced
+ when an attempt is made to use any invalid rate name (including
+ those that were previously valid).
+
+ - A new OFDM error rate model for WiFi (NistErrorRateModel); this model
+ has been validated in clear-channel testbed tests. For 802.11b, it
+ uses the same underlying model as the YansErrorRateModel, but it differs
+ from YansErrorRateModel for OFDM modes (802.11a/g). The default
+ YansWifiPhyHelper has been changed to use this model.
+
+ - A new NS-2 mobility trace reader supports BonnMotion, SUMO, TraNS,
+ etc. traces.
+
+ - An energy model for nodes and devices, including an energy source
+ model and device energy models allowing energy-aware devices
+ to notify the energy source about energy consumption.
+
+ - Rocketfuel topology dataset support for existing topology reader
+ Rocketfuel project:
+ http://www.cs.washington.edu/research/networking/rocketfuel/
+
+ - Underwater Acoustic Network (UAN) model, split in to three parts, the
+ channel, PHY, and MAC models to enable researchers to model a variety
+ of underwater network scenarios.
+
+ - the Spectrum framework, which provides support for spectrum-aware
+ Channel and PHY layer modeling. It features a set of classes that
+ allows the mathematical representation of frequency dependent
+ phenomena. Some example channel, propagation and device
+ implementations that make use of this framework are also
+ included.
+
+Bugs fixed
+----------
+The following lists many of the bugs fixed or small feature additions
+since ns-3.8, in many cases referencing the Bugzilla bug number
+
+ - IPv4 global routing code; stub networks were assumed to be /24
+ and added as /24 networks even if the mask is actually different
+ - OLSR was generating messages on non-OLSR interfaces
+ - ICMPv4 objects not properly registered; affected serialization code
+ - bug 231 - SocketAddressTag needs to be removed from a packet before
+ forwarding the packet to the user
+ - bug 385 - Add a generic "sequence number" class
+ - bug 473 - [PATCH] Alternative ns-2 trace reader
+ - bug 665 - Need Tutorial Sectino on Config Path and Tracing Use
+ - bug 671 - add packet-info-tag.cc for IP_PKTINFO/IPV6_PKTINFO
+ - bug 702 - Global routing doesn't respond to interface events
+ - bug 799 - Interference helper is too slow
+ - bug 800 - Erroneous packet sender while using aloha or cw mac in uan module
+ - bug 802 - Minstrel algorithm causes segmentation fault
+ - bug 826 - Using uint64_t instead of Time in DcfManager
+ - bug 828 - PacketSocket::Close does not unregister protocol handler
+ - bug 842 - ns-3-dev crashes using block acks
+ - bug 843 - Most wifi examples change BeaconInterval to unrealistic values
+ - bug 844 - YansWifiPhy::GetPowerDbm off-by-one problem when calculating Tx
+ power
+ - bug 846 - packet.cc triggers deprecated warning
+ - bug 853 - Rates for Wi-Fi control responses are incorrectly selected
+ - bug 854 - Support DROP_QUEUE reason-code in Ipv4FlowProbe
+ - bug 858 - support MSG_PEEK in IPv4/IPv6 raw socket
+ - bug 861 - Forwarding drops (due to no route found) were not being logged
+ in IPv4 or IPv6 ascii traces
+ - bug 869 - suggested test framework enhancements
+ - bug 871 - naming for WifiPhyStandard
+ - bug 873 - Queue occupancy counter not decremented in WifiMacQueue::Remove()
+ - bug 874 - wrong modulation type is selected in the forwardBurst method
+ - bug 875 - "frame includes FCS" flag should be set in Radiotap frame header
+ - bug 879 - source address selection for AODV using DeferredRouteRequest
+ - bug 881 - Reorganise to allow wider use of WifiInformationElement
+ - bug 890 - several rate adaptation algorithms not tested by test.py
+ - bug 900: RawTextConfigLoad::Default does not load configurations
+ - bug 901 - Optimize Mac48Address < != and ==
+ - bug 902 - TCP: handle out-of-order packets during connection shutdown
+ - bug 905 - WimaxNetDevice loses packet uid, tags, and memory optimization
+ - bug 906 - NSC TCP socket fork did not copy txbuffersize over
+ - bug 908 - test.py should exit if waf dies
+ - bug 910 - Change Wi-Fi "AccessClass" to something closer to the standard
+ - bug 911 - IPv4/v6 multicast forwarding not going to all output interfaces
+ - bug 913 - Queue Enqueue/Drop trace sources behavior unintuitive
+ - bug 916 - EnableAsciiAll ("prefix") does not work for YansWifiPhyHelper
+ - bug 918 - samples/main-packet-header.cc is broken
+ - bug 919 - minstrel does not pass valgrind tests
+ - bug 921 - Inconsistent declaration of class/struct Object in object.h
+ - bug 922 - Inconsistent declaration of class/struct in
+ wifi-remote-station-manager.h
+ - bug 923 - Inconsistent declaration of class/struct in mac-low.h
+ - bug 924 - Inconsistent declaration of class/struct in -wifi-managers
+ - bug 925 - Various IPv6 cc files trigger deprecated warning
+ - bug 926 - olsr handling of multicast packets
+ - bug 927 - SimpleOfdmWimaxChannel RxPower computation
+ - bug 930 - examples/topology-read/topology-example-sim.cc uses variable
+ length array
+ - bug 931 - Abnormal exit reports SIGSEGV on failure
+ - bug 932 - Support IP_HDRINCL option for Ipv4RawSocket
+ - bug 933 - Flushing ostream and files on abnormal program exit
+ (ASSERT, ABORT and FATAL_ERROR)
+ - bug 936 - Waf build error for python bindings on "AccessClass"
+ - bug 937 - bugs in ns-3 wimax
+ - bug 939 - EmuNetDevice uses too much memory when reading packet bursts
+ - bug 940 - AODV fails to set up a correct path
+ - bug 941 - Wifi Dcf attributes not reachable through configuration namespace
+ - bug 943 - Add a SO_BROADCAST socket option
+ - bug 944 - change default ErrorRateModel from YansErrorRateModel to
+ NistErrorRateModel
+ - bug 946 - Rocketfuel topology dataset support for topology reader
+ - bug 949 - Node::NonPromiscReceiveFromDevice reports a meaningless
+ destination address to user callbacks
+ - bug 950 - PointToPointNetDevice says promisc support is not implemented
+ but it is
+ - bug 955 - Install NSC for NS3 in a Itanium Architecture (ia64) with Linux 2.6.16.6
+ - bug 956 - Bindings failure in core (traced-value) with older gcc
+ - bug 958 - WiFi uses wrong default values for MTU, FragmentationThreshold
+ and RtsCtsThreshold
+ - bug 959 - Simulation never finishes when using RealtimeSimulatorImpl
+ - bug 960 - V4Ping does not generate checksum
+ - bug 961 - Problem with MPI activation
+ - bug 964 - AODV does not work with host addressed interfaces
+ - bug 965 - Problem building /src/core/callback.cc
+ - bug 966 - AODV originates new RREQ on each packet, when doesn't have
+ valid route
+ - bug 969 - No SocketList is present in UdpL4Protocol class
+ - bug 971 - fix AODV header Print functions
+ - bug 972 - [flow monitor] assertion fails in pv4-flow-probe.cc
+
+Known issues
+------------
+
+Release 3.8
+===========
+
+Availability
+------------
+This release is immediately available from:
+http://www.nsnam.org/releases/ns-allinone-3.8.tar.bz2
+
+Supported platforms
+-------------------
+ns-3.8 has been tested on the following platforms:
+ - linux x86 gcc 4.4.0, 4.3.2, 4.2, 4.1.1, 4.1 and 3.4.6 (debug and optimized)
+ - linux x86_64 gcc 4.4.0, 4.3.2, 4.2.4, 4.2.3, 4.2.1, 4.1.3, 3.4.6 (debug and optimized)
+ - MacOS X ppc gcc 4.0.x and 4.2.x (debug and optimized)
+ - cygwin gcc 4.3.4 (debug and optimized)
+
+Not all ns-3 options are available on all platforms; consult the
+wiki for more information:
+http://www.nsnam.org/wiki/index.php/Installation
+
+New user-visible features
+-------------------------
+ a) WiMAX net device: Allow to simulated IEEE 802.16 point to multi-point based networks
+
+ b) Distributed simulation for point-to-point networks using the Message
+ Passing Interface (MPI) standard.
+
+ c) Matrix propagation loss model uses a two-dimensional matrix of path loss indexed
+ by source and destination nodes.
+
+ d) Topology read system: Allows quick and easy creation of large topologies by reading
+ Inet or Orbis files
+
+ e) Gauss-Markov mobility model: Adds 3-d adaptation of Gauss-Markov mobility model which
+ has both memory and variability
+
+ f) Steady-state random waypoint mobility model: Based on random waypoint mobility (RWM) model for case when
+ speed, pause and position are uniformly distributed random variables. However, initial values of these
+ parameters are not from uniform distribution but from stationary distribution of RWM model.
+
+ g) Two-ray ground propagation loss model: Calculates the crossover distance under which Friis is used.
+ The antenna height is set to the nodes z coordinate, but can be added to using the model parameter
+ SetHeightAboveZ, which will affect ALL stations
+
+
+API changes from ns-3.7
+-----------------------
+API changes for this release are documented in the file CHANGES.html.
+
+Bugs fixed
+----------
+The following lists many of the bugs that were fixed since ns-3.7, in
+many cases referencing the Bugzilla bug number
+ - bug 155 - std::ostream & os" parameters not Python friendly
+ - bug 184 - GtkConfigStore do not support ConfigureDefault
+ - bug 407 - OLSR is missing HNA support
+ - bug 414 - No ReceiveErrorModel in SimpleNetDevice
+ - bug 602 - WifiRemoteStation lacks information about the access class of outgoing packets
+ - bug 622 - [PATCH] Friendly names for pcap traces
+ - bug 683 - Helper methods for pcap tracing with explicit filenames
+ - bug 706 - Backoff counting when starting NS.
+ - bug 720 - TapBridge creation fails from a script outside the ns3 tree
+ - bug 731 - Send function in point-to-point-net-device fails to check the return value of the Dequeue function
+ - bug 747 - Listening TCP socket closes on RST
+ - bug 748 - Cloned TCP socket uses wrong source address
+ - bug 772 - AODV is unable to correctly buffer packets waiting for route reply
+ - bug 777 - AODV ignores specified outgoing interface in RouteOutput()
+ - bug 778 - OLSR ignores specified outgoing interface in RouteOutput()
+ - bug 787 - Addition of Two Ray Ground model to propagation loss model and tests
+ - bug 788 - OLSR_NEIGH_HOLD_TIME should be 3 times OLSR_REFRESH_INTERVAL
+ - bug 789 - [PATCH] Globalrouting externalroutes to use the new GetRootExitDirections()
+ - bug 794 - Ipv4Mask constructor for "/yy"-notation is wrong
+ - bug 796 - TCP bug in ns-3-dev branch : Crash detected during retesting of Chord on ns-3-dev branch
+ - bug 797 - Enhancements to src/core/random-variable.cc/h
+ - bug 801 - ns-3.7 and SVN not coexisting nicely
+ - bug 802 - Minstrel algorithm causes segmentation fault
+ - bug 804 - null-pointer references in 3.7 internet stack
+ - bug 806 - TCP doesn't work over a CSMA link
+ - bug 807 - ns2-mobility-helper.cc: node id parsed wrong
+ - bug 809 - Missing Python binding for Ipv4GlobalRouting::GetRoute
+ - bug 810 - In TCP, Socket::GetSockName() does not return the local socket address
+ - bug 812 - Assert when getting socket in RecvReply for AODV
+ - bug 813 - Nqos AP sends packet to non associated STA
+ - bug 814 - Function logging causing assert in wireless examples
+ - bug 815 - waf shell file descriptor leak
+ - bug 816 - tap-creator deadlock when python bindings enabled
+ - bug 817 - Pareto rng constructors using scale and shape instead of mean and shape
+ - bug 818 - TCP Socket implementation does not set ACK flag on retransmits
+ - bug 819 - Build break when gtk not installed
+ - bug 820 - Bad things happen in test.py when logging is enabled
+ - bug 821 - AODV asserts with function logging enabled
+ - bug 822 - Move Mtu attribute from NetDevice base class to subclasses
+ - bug 825 - UDP-Client-server's packet loss counter not properly reset
+ - bug 828 - PacketSocket::Close does not unregister protocol handler
+ - bug 829 - TCP unbound memory problem (pending data)
+ - bug 833 - OnOffApplication with PacketSocket: sniffs all traffic
+ - bug 834 - Incorrect signature of Ipv4FlowProbe::DropLogger
+ - bug 835 - Unlimited receive queues in sockets == evil
+ - bug 836 - Delay is incremented over time with BsUplinkSchedulerSimple and BsUplinkSchedulerRtps
+ - bug 838 - ns-3 can't compile on MacOS with 32bit processor
+ - bug 839 - TestSuite wimax-ss-mac-layer crashes on Darwin 9.8.0 Power Macintosh
+ - bug 840 - BS scheduler does not support fragmentation for UGS flows
+ - bug 841 - Multicast transmission breaks with QoS Wifi
+ - bug 844 - YansWifiPhy::GetPowerDbm off-by-one problem when calculating Tx power
+ - bug 847 - Segfaults on BaseStationNetDevice with OnOffApplication and rtPS sched
+ - bug 849 - stray patch files in lwip directory
+ - bug 850 - Ipv4GlobalRouting::LookupGlobal bug
+ - bug 855 - waf dies badly when switching from debug to optimized build or vice versa
+ - bug 856 - initialize vbl
+ - bug 857 - Link-Local Multicast handle in Ipv4 Output processing
+ - bug 859 - Output interface estimation for the source address bound socket in IPv4 Raw socket
+ - bug 860 - waf sometimes dies while executing ns3header or gen_ns3_module_header tasks in case of
+ parallel jobs
+ - bug 862 - NotifyInterfaceUp() Adds network route even when netmask is /32
+ - bug 863 - Wrong Scalar arithmetics
+ - bug 864 - Invalid return value in UdpSocketImpl::Send and Ipv4RawSocketImpl::Send
+ - bug 865 - Ipv4RawSocketImpl::RecvFrom does not return from address all the time.
+ - bug 866 - WiMAX mobility models not aggregated to Node
+ - bug 867 - Minor bug in Ipv4L3Protocol::Send()
+ - bug 868 - invalid packet size after Ipv4L3Protocol::Send
+ - bug 872 - ns3::PcapFileWrapper::Write explodes stack
+ - bug 873 - Queue occupancy counter not decremented in WifiMacQueue::Remove()
+ - bug 876 - Tcp socket does not handle ShutdownRecv correctly
+ - bug 877 - python bindings broken with multiple inheritance ?
+ - bug 880 - Node sending a packet to itself via 127.0.0.1 aborts
+ - bug 885 - Error in Ascii tracing in Python examples
+ - bug 888 - Writing ascii trace to addtional tests fails
+ - bug 891 - WiMAX device helper does not include propagation loss model by default
+ - bug 894 - ./waf --run error message upon segfault
+ - bug 895 - SimpleOfdmWimaxPhy SNR computation
+ - bug 899 - EmuNetDevice::SetPromiscReceiveCallback not implemented
+
+Known issues
+------------
+ns-3 builds have been known to fail on the following platforms:
+ - gcc 3.3 and earlier
+ - optimized builds on gcc 3.4.4 and 3.4.5
+ - optimized builds on linux x86 gcc 4.0.x
+
+
+Release 3.7
+===========
+
+Availability
+------------
+This release is immediately available from:
+http://www.nsnam.org/releases/ns-allinone-3.7.tar.bz2
+
+Supported platforms
+-------------------
+ns-3.7 has been tested on the following platforms:
+ - linux x86 gcc 4.4.0, 4.3.2, 4.2, 4.1.1, 4.1 and 3.4.6 (debug and optimized)
+ - linux x86_64 gcc 4.4.0, 4.3.2, 4.2.4, 4.2.3, 4.2.1, 4.1.3, 3.4.6 (debug and optimized)
+ - MacOS X ppc gcc 4.0.x and 4.2.x (debug and optimized)
+ - cygwin gcc 3.4.4 (debug only), gcc 4.3.2 (debug and optimized)
+
+Unofficially supported platform
+-------------------
+- mingw gcc 3.4.5 (debug only)
+
+Not all ns-3 options are available on all platforms; consult the
+wiki for more information:
+http://www.nsnam.org/wiki/index.php/Installation
+
+New user-visible features
+-------------------------
+
+ a) Ad hoc On-Demand Distance Vector (AODV) routing model (RFC 3561)
+
+ b) IPv6 extensions support to add IPv6 extensions and options. Two
+ examples (fragmentation and loose routing) are available.
+
+ c) NetAnim interface: Provides an interface to the Qt-based NetAnim
+ animator, which supports static, point-to-point topology-based
+ packet animations.
+
+ d) New topology helpers have been introduced
+ - PointToPointDumbbellHelper
+ - PointToPointGridHelper
+ - PointToPointStarHelper
+ - CsmaStarHelper
+
+ e) Equal-cost multipath for global routing: Enables quagga's equal
+ cost multipath for Ipv4GlobalRouting, and adds an attribute that
+ can enable it with random packet distribution policy across
+ equal cost routes.
+
+ f) Binding sockets to devices: A method analogous to a SO_BINDTODEVICE
+ socket option has been introduced to class Socket
+
+ g) Object::DoStart: Users who need to complete their object setup at
+ the start of a simulation can override this virtual method, perform their
+ adhoc setup, and then, must chain up to their parent.
+
+ h) Ipv4::IsDestinationAddress method added to support checks of whether a
+ destination address should be accepted as one of the host's own
+ addresses.
+
+ i) UniformDiscPositionAllocator added; distributes uniformly the nodes
+ within a disc of given radius.
+
+ j) ChannelNumber attribute added to YansWifiPhy. Now it is possible to
+ setup wifi channel using WifiPhyHelper::Set() method.
+
+ k) WaypointMobilityModel provides a method to add mobility as a set of
+ (time, position) pairs
+
+ l) 802.11p WiFi standards
+
+ m) UDP Client/Server application
+
+ n) Support transactions in the SQLite output interface, making it usable for larger amounts of data
+
+API changes from ns-3.6
+-----------------------
+API changes for this release are documented in the file CHANGES.html.
+
+Bugs fixed
+----------
+The following lists many of the bugs that were fixed since ns-3.6, in
+many cases referencing the Bugzilla bug number
+ - bug 752: Object::DoStart is not executed for objects created at t > 0
+ - bug 767: Incorrect modulation for 802.11a modes
+ - bug 725: wifi fragmentation and RTS cannot be used at the same time
+ - bug 782: CreateTap () requires IP address in modes other than
+ CONFIGURE_LOCAL.
+ - bug 769: Queue::GetTotalReceived{Bytes,Packets}() broken
+ - bug 738 ReceiveErrorModel called too late
+ - Fix NSC improper response to FIN
+ - Fixed bug in serialization of PbbAddressBlock.
+ - Fix bug 780 (problem in RoutingTableComputation with asymetric links),
+ while adding debugging methods to OLSR.
+ - bug 759: Ipv6 uses wrong outgoing interface.
+ - bug 770: IPv6 size calculation for unknown options is wrong.
+ - bug 771: Radvd does not set ttl value.
+ - Fix bug 606: Arp depends on IP routing system
+ - pad out CSMA payloads to 46 bytes if needed
+ - Drop CSMA packets with CRC errors, rescan, dox tweaks
+ - Add FCS capability to CSMA
+ - Mesh:Dot11s: fixed airtime metric
+ - Get emu working again: Add Dix/Llc option, add and use contextual
+ realtime schedule ops, don't refcount realtime simulator impl
+ - bug 695 - DcfManager::UpdateBackoff () uses slow HighPrecision::Div()
+ - bug 674 - EIFS is not handled correctly in DcfManager::GetAccessGrantStart
+ - bug 739 - OLSR: Strange HTime value in HELLO messages
+ - bug 746 - UDP source address is not set to bound address
+ - bug 735 Update Olsr for local delivery
+ - bug 740 OLSR MprCompute () works wrong: fixed
+ - bug 729 Enable IPv6 over PPP.
+ - bug 645: fixes for opening stats file with OMNeT++
+ - bug 689: default energy detection and CCA thresholds are changed to be
+ more realistic.
+ - bug 733: OLSR MPR Computation give incorrect result
+ - Mesh: HWMP: fixed proactive routes
+ - Mesh: fixed FLAME PATH_UPDATE procedure, fixed mesh.cc
+
+Known issues
+------------
+ns-3 builds have been known to fail on the following platforms:
+ - gcc 3.3 and earlier
+ - optimized builds on gcc 3.4.4 and 3.4.5
+ - optimized builds on linux x86 gcc 4.0.x
+
+
+Release 3.6
+===========
+
+Availability
+------------
+This release is immediately available from:
+http://www.nsnam.org/releases/ns-allinone-3.6.tar.bz2
+
+Supported platforms
+-------------------
+ns-3.6 has been tested on the following platforms:
+ - linux x86 gcc 4.4.1, 4.2, 4.1, and, 3.4.6.
+ - linux x86_64 gcc 4.4.0, 4.3.2, 4.2.3, 4.2.1, 4.1.3, 3.4.6
+ - MacOS X ppc and x86 (gcc 4.0.x and 4.2.x)
+ - cygwin gcc 3.4.4 (debug only), gcc 4.3.2 (debug and optimized)
+
+Not all ns-3 options are available on all platforms; consult the
+wiki for more information:
+http://www.nsnam.org/wiki/index.php/Installation
+
+New user-visible features
+-------------------------
+
+ a) 802.11 models:
+ - Add an implementation of the minstrel rate control algorithm
+ (Duy Nguyen for gsoc)
+ - AthstatsHelper: enables the wifi device to produce periodic
+ reports similar to the ones generated by madwifi's
+ athstats tool (Nicola Baldo)
+ - 10MHz and 5MHz channel width supported by 802.11a model
+ (Ramon Bauza and Kirill Andreev)
+ - Channel switching support. YansWifiPhy can now switch among
+ different channels (Ramon Bauza and Pavel Boyko)
+
+ b) IPv6 models:
+ - IPv6 interface;
+ - IPv6 layer;
+ - IPv6 raw socket;
+ - Static IPv6 routing;
+ - ICMPv6 layer;
+ - Some ICMPv6 error messages (destination unreachable, ...);
+ - Neighbor Discovery Protocol (NS/NA, RS/RA, redirection);
+ - Ping6 application (send Echo request);
+ - Radvd application (send RA);
+ - Examples (ping6, simple-routing-ping6, radvd, radvd-two-prefix,
+ icmpv6-redirect).
+
+ c) Wireless Mesh Networking models:
+ - General multi-interface mesh stack infrastructure (devices/mesh module).
+ - IEEE 802.11s (Draft 3.0) model including Peering Management Protocol and HWMP.
+ - Forwarding Layer for Meshing (FLAME) protocol.
+
+ d) Nix-vector routing:
+ - Ipv4NixVectorHelper
+ - Examples (nix-simple, nms-p2p-nix)
+
+ e) New Test Framework
+ - Use test.py instead of ./waf check or ./waf --regression
+ - Previous unit tests have been ported to new framework.
+ - Examples are tested for run-ability.
+
+ f) A new Flow Monitor module
+ - To very easily measure flow metrics in a simulation
+ - No need to use trace callbacks or parsing trace files
+
+API changes from ns-3.5
+-----------------------
+API changes for this release are documented in the file CHANGES.html.
+
+Known issues
+------------
+ns-3.6 build is known to fail on the following platforms:
+ - gcc 3.3 and earlier
+ - optimized builds on gcc 3.4.4 and 3.4.5
+ - optimized builds on linux x86 gcc 4.0.x
+
+Release 3.5
+===========
+
+Availability
+------------
+This release is immediately available from:
+http://www.nsnam.org/releases/ns-allinone-3.5.tar.bz2
+
+Supported platforms
+-------------------
+ns-3.5 has been tested on the following platforms:
+ - linux x86 gcc 4.2, 4.1, and, 3.4.6.
+ - linux x86_64 gcc 4.4.0, 4.3.2, 4.2.3, 4.2.1, 4.1.3, 3.4.6
+ - MacOS X ppc and x86 (gcc 4.0.x and 4.2.x)
+ - cygwin gcc 3.4.4 (debug only), gcc 4.3.2 (debug and optimized)
+ - mingw gcc 3.4.5 (debug only)
+
+Not all ns-3 options are available on all platforms; consult the
+wiki for more information:
+http://www.nsnam.org/wiki/index.php/Installation
+
+New user-visible features
+-------------------------
+
+ a) 802.11 MAC:
+ - EDCA multi-qos-class support (Mirko Banchi)
+ - 802.11n initial support for A-MSDU frame aggregation (Mirko Banchi)
+ - aarf-cd and cara rate control algorithms (Federico Maguolo)
+ b) 802.11 PHY:
+ - 802.11b PHY support (Gary Pei)
+ - Nakagami propagation loss model (Timo Bingmann)
+ - radiotap and prism headers for PCAP output (Nicola Baldo)
+ c) RandomVariable:
+ - GammaVariable and ErlangVariable (Timo Bingmann)
+ - ZipfVariable (Francesco Malandrino)
+ d) UdpEcho: allows setting the payload of echo packets
+ e) Ipv4/Ipv4RoutingProtocol: allow fine-grained control over
+ routing policy and arbitrary composition of routing protocols
+
+API changes from ns-3.4
+-----------------------
+API changes for this release are documented in the file CHANGES.html. The
+internal API and composition of the IPv4 stack underwent significant
+refactoring in this release cycle.
+
+Known issues
+------------
+ns-3 build is known to fail on the following platforms:
+ - gcc 3.3 and earlier
+ - optimized builds on gcc 3.4.4 and 3.4.5
+ - optimized builds on linux x86 gcc 4.0.x
+
+Future releases
+---------------
+Our next release, which is expected to happen in 2 to 4 months from now, will
+feature the merging of some of our projects currently in development including
+fuller IPv6 support, some smaller features such as a new Global ARP
+package, and possibly a new Testing and Validation suite.
+
+Release 3.4
+===========
+
+Availability
+------------
+This release is immediately available from:
+http://www.nsnam.org/releases/ns-allinone-3.4.tar.bz2
+
+Supported platforms
+-------------------
+ns-3.4 has been tested on the following platforms:
+ - linux x86 gcc 4.2, 4.1, and, 3.4.6.
+ - linux x86_64 gcc 4.3.2, 4.2.3, 4.2.1, 4.1.3, 3.4.6
+ - MacOS X ppc and x86
+ - cygwin gcc 3.4.4 (debug only)
+
+Not all ns-3 options are available on all platforms; consult the
+wiki for more information:
+http://www.nsnam.org/wiki/index.php/Installation
+
+New user-visible features
+-------------------------
+ a) Wifi models: Timo Bingman contributed a ThreeLogDistance and a Nakagami
+ propagation loss model based on the ns-2 models. Fabian Mauchle contributed
+ multicast support.
+
+ b) Object Name Service: A facility allowing ns-3 Objects to be assigned
+ names has been added.
+
+ c) Tap Bridge: A second option for integrating ns-3 with real-world hosts
+ has been added. This allows for real hosts to talk over ns-3 net devices
+ and simulated networks.
+
+ d) A new build option (ns-3-allinone) has been provided to make it easier for
+ users to download and bulid commonly used ns-3 configurations.
+
+ e) The ns-3 calendar queue scheduler has been ported to ns-3.
+
+ f) XML support has been added to the ConfigStore.
+
+API changes from ns-3.3
+-----------------------
+API changes for this release are documented in the file CHANGES.html
+
+Known issues
+------------
+ns-3 build is known to fail on the following platforms:
+ - gcc 3.3 and earlier
+ - optimized builds on gcc 3.4.4 and 3.4.5
+ - optimized builds on linux x86 gcc 4.0.x
+ - optimized builds on Ubuntu 8.10 alpha 5 x86 gcc4.3.2
+ - MinGW
+
+The IPv4 API defined in src/node/ipv4.h is expected to undergo major changes
+in preparation of the merge of the IPv6 API and implementation.
+
+Future releases
+---------------
+Our next release, which is expected to happen in 2 to 4 months from now, will
+feature the merging of some of our projects currently in development including
+fuller IPv6 support, and IPv4 and routing protocol refactoring, and some smaller
+features such as a new Global ARP package and possibly a new Testing and Validation
+suite,
+
+Release 3.3
+===========
+
+Availability
+------------
+This release is immediately available from:
+http://www.nsnam.org/releases/ns-3.3.tar.bz2
+
+Supported platforms
+-------------------
+ns-3.3 has been tested on the following platforms:
+ - linux x86 gcc 4.2, 4.1, and, 3.4.6.
+ - linux x86_64 gcc 4.3.2, 4.2.3, 4.2.1, 4.1.3, 3.4.6
+ - MacOS X ppc and x86
+ - cygwin gcc 3.4.4 (debug only)
+
+Not all ns-3 options are available on all platforms; consult the
+wiki for more information:
+http://www.nsnam.org/wiki/index.php/Installation
+
+New user-visible features
+-------------------------
+ a) Emulated Net Device
+ A new net device has been added as enabling technology for ns-3 emulation
+ scenarios. See src/devices/emu and examples/emu-udp-echo.cc for details.
+
+ b) ICMP Support
+ Support for several ICMP messages has been added to ns-3. See
+ src/internet-stack/icmpv4.h for details.
+
+ c) IPv6 Address Support
+ New clases to support IPv6 addresses has been added to the system. This
+ is enabling technology for fuller IPv6 support scheduled for ns-3.4.
+
+ d) A flow-id tag has been added to the contributed code section
+
+ e) Star topologies can be created from the topology helper functions
+
+ f) The global routing code has been made dynamic (not just limited to
+ (pre-simulation computation) and supports stub network interfaces and
+ bridge net devices
+
+ g) A MatchContainer has been added to the configuration subsystem
+
+API changes from ns-3.2
+-----------------------
+API changes for this release are documented in the file CHANGES.html
+
+Known issues
+------------
+ns-3 build is known to fail on the following platforms:
+ - gcc 3.3 and earlier
+ - optimized builds on gcc 3.4.4 and 3.4.5
+ - optimized builds on linux x86 gcc 4.0.x
+ - optimized builds on Ubuntu 8.10 alpha 5 x86 gcc4.3.2
+ - MinGW
+
+The IPv4 API defined in src/node/ipv4.h is expected to undergo major changes
+in preparation of the merge of the IPv6 API and implementation.
+
+Future releases
+---------------
+Our next release, which is expected to happen in 2 to 4 months from now, will
+feature the merging of some of our projects currently in development including
+fuller IPv6 support, and IPv4 and routing protocol refactoring, and some smaller
+features such as an object naming facility and a new Global ARP package.
+
+Release 3.2
+===========
+
+Availability
+------------
+This release is immediately available from:
+http://www.nsnam.org/releases/ns-3.2.tar.bz2
+
+Supported platforms
+-------------------
+ns-3.2 has been tested on the following platforms:
+ - linux x86 gcc 4.2, 4.1, and, 3.4.6.
+ - linux x86_64 gcc 4.3.2, 4.2.3, 4.2.1, 4.1.3, 3.4.6
+ - MacOS X ppc and x86
+ - cygwin gcc 3.4.4 (debug only)
+
+Not all ns-3 options are available on all platforms; consult the
+wiki for more information:
+http://www.nsnam.org/wiki/index.php/Installation
+
+New user-visible features
+-------------------------
+ a) Learning bridge (IEEE 802.1D)
+ It is now possible to bridge together multiple layer 2 devices to
+ create larger layer 2 networks. The Wifi and Csma models support
+ this new mode of operation. (contributed by Gustavo Carneiro)
+
+ b) Python bindings
+ It is now possible to write simulation scripts in python using our
+ python bindings (contributed by Gustavo Carneiro).
+
+ c) Real-time simulator
+ It is now possible to run simulations synchronized on the real-world
+ wall-clock time (contributed by Craig Dowell).
+
+ d) Network Simulation Cradle
+ It is now possible to use the Network Simulation Cradle
+ (http://www.wand.net.nz/~stj2/nsc/) in ns-3 and run simulations
+ using various versions of kernel TCP network stacks. (contributed
+ by Florian Westphal as part of his Google Summer of Code work)
+
+ e) A statistics framework
+ Joseph Kopena contributed a statistics framework which can be used
+ keep track of simulation data in persistent storage across multiple
+ runs (database and ascii file backends are available).
+ More information on the wiki:
+ http://www.nsnam.org/wiki/index.php/Statistical_Framework_for_Network_Simulation
+
+API changes from ns-3.1
+-----------------------
+API changes for this release are documented in the file CHANGES.html
+
+Known issues
+------------
+ns-3 build is known to fail on the following platforms:
+ - gcc 3.3 and earlier
+ - optimized builds on gcc 3.4.4 and 3.4.5
+ - optimized builds on linux x86 gcc 4.0.x
+ - optimized builds on Ubuntu 8.10 alpha 5 x86 gcc4.3.2
+ - MinGW
+
+The IPv4 API defined in src/node/ipv4.h is expected to undergo major changes
+in preparation of the merge of the IPv6 API and implementation.
+
+Future releases
+---------------
+Our next release, which is expected to happen in 2 to 4 months from now, will
+feature the merging of some of our projects currently in development: IPv6,
+emulation, and synchronous posix sockets.
+
+Release 3.1 (2008/06/30)
+========================
+
+The first ns-3 stable release
+-----------------------------
+
+This release is immediately available from:
+http://www.nsnam.org/releases/ns-3.1.tar.bz2
+
+We dedicate this initial ns-3 release to our late contributor and friend,
+Federico Maguolo.
+
+What is ns-3 ?
+--------------
+
+ns-3 is a new discrete-event network simulator designed for supporting network
+research and education. ns-3 features a solid, well documented C++ core and
+models for TCP/IP (IPv4), several link types including WiFi, and mobility
+models.
+
+ns-3 is an open source project released under the GNU GPLv2 license which
+allows anyone to use ns-3 without having to pay any license fee or royalties.
+ns-3 is actively seeking new contributors to extend the range of supported
+models and/or to maintain existing models.
+
+Where to get more information about ns-3
+----------------------------------------
+
+All the ns-3 documentation, is accessible from the ns-3 website:
+http://www.nsnam.org
+
+Including, tutorials:
+http://www.nsnam.org/tutorials.html
+
+Supported platforms
+-------------------
+
+ns-3 is regularly tested on the following platforms:
+ - linux x86 gcc 4.2, 4.1, and, 3.4.6.
+ - linux x86_64 gcc 4.1.3, 4.2.1, 3.4.6
+ - MacOS X ppc and x86
+ - cygwin gcc 3.4.4 (debug only)
+
+Known issues
+------------
+
+ns-3 is known to fail on the following platforms:
+ - gcc 3.3 and earlier
+ - optimized builds on gcc 3.4.4 and 3.4.5
+ - optimized builds on linux x86 gcc 4.0.x
+
+The IPv4 API defined in src/node/ipv4.h is expected to undergo major changes
+in preparation of the merge of the IPv6 API and implementation.
+
+Future releases
+---------------
+
+Our next release, which is expected to happen in 2 to 4 months from now, will
+feature the merging of some of our projects currently in development: python
+scripting, IPv6, emulation, a statistics framework and synchronous posix
+sockets.
+
+Release 3.0.13 (2008/06/02)
+===========================
+- point to point links generate ppp pcap traces
+- point to point links support asymmetrical data rates.
+- generate doxygen documentation for all attributes and trace sources
+- add ConfigStore and GtkConfigStore to contrib module
+- socket API now support tx and rx buffers: implemented for UDP and TCP
+- ARP cache now supports per-entry pending queues
+- lots of bugfixes and implementation and API cleanups
+
+Warning: among API changes in this release, Application::Start and
+Application::Stop now interprets the time argument as a relative
+instead of absolute simulation time, to align with how Simulator::Schedule
+behaves. Any code that calls these APIs in the middle of the simulation
+will need to be adapted.
+
+The API of Simulator::StopAt (time) has also changed. Now it is
+called Simulator::Stop (time), and takes a relative time, instead of
+absolute.
+
+Release 3.0.12 (2008/04/07)
+===========================
+ - Add Attribute support to the TypeId metadata system and add
+attribute support to all in-tree models
+ - Add a mid-level helper API to build simulation topologies
+and perform simple ascii and pcap link-level tracing.
+ - Large amount of structural changes to accomodate the needs
+of the upcoming python bindings
+ - new rate control algorithm (RRAA) and a jakes propagation model
+in the 802.11 model (Federico Maguolo).
+ - regression test framework added
+ - TCP delayed acknowledgements and multitasking server
+
+Release 3.0.11 (2008/02/15)
+===========================
+ - Initial port of GTNetS TCP implementation (initial version
+that does not support multitasking or delayed acknowledgments yet,
+but supports a reliable stream service)
+ - Changes to the ns-3 object model to create a TypeId-based
+metadata system
+ - lots of bug fixes throughout the system
+ - tutorial updates
+
+Release 3.0.10 (2008/01/15)
+===========================
+ - Add tutorial document content;
+ - Valgrind option for "waf" tool;
+ - Doxygen organization changes.
+
+Release 3.0.9 (2007/12/15)
+==========================
+ - A 802.11 model ported from Yans. This model supports:
+ * a rather extensive PHY model
+ * log-distance and friis propagation model
+ * a simple set of rate control algorithms (ARF, Ideal,
+ AARF, constant-rate)
+ * adhoc and infrastructure mode (beacon+assoc)
+ - Use smart pointer for Packet in the APIs
+ - A new contrib directory with helper classes:
+ EventGarbageCollector, Gnuplot
+ - Tracing support for Applications
+ - many bugs fixed
+
+Release 3.0.8 (2007/11/15)
+==========================
+ - A simple error model
+ - Source files for ns-3 tutorial
+
+Release 3.0.7 (2007/10/15)
+==========================
+ - OLSR routing protocol
+ - A timer class
+ - Additional mobility models (random waypoint, random 2D walk)
+ - A mobility visualization tool
+
+Release 3.0.6 (2007/09/15)
+==========================
+ - Static multicast IPv4 routing
+ - Logging overhaul (NS_LOG macros)
+ - Refactoring of tracing subsystem
+ - Tutorial document started
+
+Release 3.0.5 (2007/08/15)
+==========================
+
+ - Refactoring to support win32-based unix environments (Cygwin, mingw)
+ - "Packet socket" for allowing applications to access NetDevices directly
+ - Generalized, polymorphic Address class
+ - Add CSMA NetDevice model (from Emmanuelle Laprise)
+ - Modularize IPv4 routing support (from Gustavo Carneiro)
+ - Add mobility framework and basic mobility models
+ - Global unicast centralized routing
+
+Release 3.0.4 (2007/07/15)
+==========================
+
+ - Enable waf as the default build system.
+ - Per-packet metadata: a system to track which headers and trailers
+ are added to a packet
+ - Simplifications to point-to-point devices and channel
+
+Release 3.0.3 (2007/06/15)
+==========================
+
+ - Enable Waf for release tarballs: users can now build ns-3
+ with the "waf" tool. See doc/build-waf.txt.
+ - Add support for variable time precision: it is now possible
+ to run a simulation with an accuracy which is higher or lower
+ than a nanosecond: seconds, milliseconds, microseconds,
+ femtoseconds and picoseconds are supported.
+ - Optimize and rework the COM framework, solidify the component
+ manager
+ - Many small API cleanups
+
+Release 3.0.2 (2007/05/18)
+==========================
+
+ - Implement a new memory management infrastructure based
+ on reference counting and smart pointers (the latter being
+ optional)
+
+ - Implement a COM-like framework with support for QueryInterface
+ to provide object extensibility
+
+ - Add support for a BSD-style socket API for user applications
+
+Release 3.0.1 (2007/03/31)
+==========================
+
+ - First public release; not yet pre-alpha.
+
+ - Simple UDP-based simulation script (examples/simple-p2p.cc)
diff --git a/code/VERSION b/code/VERSION
new file mode 100644
index 0000000..1b8ef09
--- /dev/null
+++ b/code/VERSION
@@ -0,0 +1 @@
+3-dev
diff --git a/code/bindings/python/apidefs/gcc-ILP32/callbacks_list.py b/code/bindings/python/apidefs/gcc-ILP32/callbacks_list.py
new file mode 100644
index 0000000..baa3427
--- /dev/null
+++ b/code/bindings/python/apidefs/gcc-ILP32/callbacks_list.py
@@ -0,0 +1,36 @@
+callback_classes = [
+ ['void', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
+ ['void', 'ns3::Ptr', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
+ ['void', 'ns3::Ptr', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
+ ['bool', 'ns3::Ptr', 'ns3::Address const&', 'ns3::Address const&', 'unsigned short', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
+ ['void', 'int', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
+ ['void', 'ns3::Ptr', 'double', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
+ ['void', 'ns3::Ptr', 'double', 'ns3::UanTxMode', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
+ ['void', 'ns3::Ptr', 'ns3::UanAddress const&', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
+ ['void', 'ns3::Ptr', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
+ ['void', 'ns3::Mac48Address', 'ns3::Mac48Address', 'unsigned int', 'bool', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
+ ['void', 'unsigned int', 'ns3::Mac48Address', 'ns3::Mac48Address', 'ns3::dot11s::PeerLink::PeerState', 'ns3::dot11s::PeerLink::PeerState', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
+ ['unsigned int', 'ns3::Mac48Address', 'ns3::Ptr', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
+ ['void', 'ns3::Ptr', 'ns3::WifiMacHeader const*', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
+ ['void', 'ns3::Ptr', 'ns3::Ipv4Address', 'ns3::Ipv4Address', 'unsigned char', 'ns3::Ptr', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
+ ['std::vector >', 'unsigned int', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
+ ['void', 'bool', 'ns3::Ptr', 'ns3::Mac48Address', 'ns3::Mac48Address', 'unsigned short', 'unsigned int', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
+ ['bool', 'std::string', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
+ ['void', 'bool', 'unsigned long long', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
+ ['void', 'ns3::Ptr', 'ns3::Ipv4Header const&', 'ns3::Socket::SocketErrno', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
+ ['void', 'ns3::Ptr', 'ns3::Ptr', 'ns3::Ipv4Header const&', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
+ ['void', 'ns3::Ptr', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
+ ['void', 'ns3::Ptr', 'unsigned int', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
+ ['void', 'ns3::Ptr', 'ns3::Address const&', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
+ ['bool', 'ns3::Ptr', 'ns3::Address const&', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
+ ['void', 'ns3::WifiMacHeader const&', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
+ ['void', 'ns3::Ipv4Address', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
+ ['void', 'ns3::Ptr', 'ns3::Ipv4Address', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
+ ['bool', 'ns3::Ptr', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
+ ['bool', 'ns3::Ptr', 'ns3::Ptr', 'unsigned short', 'ns3::Address const&', 'ns3::Address const&', 'ns3::NetDevice::PacketType', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
+ ['bool', 'ns3::Ptr', 'ns3::Ptr', 'unsigned short', 'ns3::Address const&', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
+ ['void', 'ns3::Ptr', 'ns3::Mac48Address', 'ns3::Mac48Address', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
+ ['void', 'ns3::Mac48Address', 'unsigned char', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
+ ['void', 'ns3::Mac48Address', 'unsigned char', 'bool', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
+ ['void', 'ns3::Ptr', 'ns3::Ptr', 'unsigned short', 'ns3::Address const&', 'ns3::Address const&', 'ns3::NetDevice::PacketType', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
+]
diff --git a/code/bindings/python/apidefs/gcc-ILP32/ns3_module_aodv.py b/code/bindings/python/apidefs/gcc-ILP32/ns3_module_aodv.py
new file mode 100644
index 0000000..537cb0a
--- /dev/null
+++ b/code/bindings/python/apidefs/gcc-ILP32/ns3_module_aodv.py
@@ -0,0 +1,1121 @@
+from pybindgen import Module, FileCodeSink, param, retval, cppclass, typehandlers
+
+def register_types(module):
+ root_module = module.get_root()
+
+
+ ## Register a nested module for the namespace Config
+
+ nested_module = module.add_cpp_namespace('Config')
+ register_types_ns3_Config(nested_module)
+
+
+ ## Register a nested module for the namespace FatalImpl
+
+ nested_module = module.add_cpp_namespace('FatalImpl')
+ register_types_ns3_FatalImpl(nested_module)
+
+
+ ## Register a nested module for the namespace addressUtils
+
+ nested_module = module.add_cpp_namespace('addressUtils')
+ register_types_ns3_addressUtils(nested_module)
+
+
+ ## Register a nested module for the namespace aodv
+
+ nested_module = module.add_cpp_namespace('aodv')
+ register_types_ns3_aodv(nested_module)
+
+
+ ## Register a nested module for the namespace dot11s
+
+ nested_module = module.add_cpp_namespace('dot11s')
+ register_types_ns3_dot11s(nested_module)
+
+
+ ## Register a nested module for the namespace dsdv
+
+ nested_module = module.add_cpp_namespace('dsdv')
+ register_types_ns3_dsdv(nested_module)
+
+
+ ## Register a nested module for the namespace flame
+
+ nested_module = module.add_cpp_namespace('flame')
+ register_types_ns3_flame(nested_module)
+
+
+ ## Register a nested module for the namespace internal
+
+ nested_module = module.add_cpp_namespace('internal')
+ register_types_ns3_internal(nested_module)
+
+
+ ## Register a nested module for the namespace olsr
+
+ nested_module = module.add_cpp_namespace('olsr')
+ register_types_ns3_olsr(nested_module)
+
+
+def register_types_ns3_Config(module):
+ root_module = module.get_root()
+
+
+def register_types_ns3_FatalImpl(module):
+ root_module = module.get_root()
+
+
+def register_types_ns3_addressUtils(module):
+ root_module = module.get_root()
+
+
+def register_types_ns3_aodv(module):
+ root_module = module.get_root()
+
+ ## aodv-packet.h: ns3::aodv::MessageType [enumeration]
+ module.add_enum('MessageType', ['AODVTYPE_RREQ', 'AODVTYPE_RREP', 'AODVTYPE_RERR', 'AODVTYPE_RREP_ACK'])
+ ## aodv-rtable.h: ns3::aodv::RouteFlags [enumeration]
+ module.add_enum('RouteFlags', ['VALID', 'INVALID', 'IN_SEARCH'])
+ ## aodv-dpd.h: ns3::aodv::DuplicatePacketDetection [class]
+ module.add_class('DuplicatePacketDetection')
+ ## aodv-id-cache.h: ns3::aodv::IdCache [class]
+ module.add_class('IdCache')
+ ## aodv-neighbor.h: ns3::aodv::Neighbors [class]
+ module.add_class('Neighbors')
+ ## aodv-neighbor.h: ns3::aodv::Neighbors::Neighbor [struct]
+ module.add_class('Neighbor', outer_class=root_module['ns3::aodv::Neighbors'])
+ ## aodv-rqueue.h: ns3::aodv::QueueEntry [class]
+ module.add_class('QueueEntry')
+ ## aodv-rqueue.h: ns3::aodv::RequestQueue [class]
+ module.add_class('RequestQueue')
+ ## aodv-packet.h: ns3::aodv::RerrHeader [class]
+ module.add_class('RerrHeader', parent=root_module['ns3::Header'])
+ ## aodv-routing-protocol.h: ns3::aodv::RoutingProtocol [class]
+ module.add_class('RoutingProtocol', parent=root_module['ns3::Ipv4RoutingProtocol'])
+ ## aodv-rtable.h: ns3::aodv::RoutingTable [class]
+ module.add_class('RoutingTable')
+ ## aodv-rtable.h: ns3::aodv::RoutingTableEntry [class]
+ module.add_class('RoutingTableEntry')
+ ## aodv-packet.h: ns3::aodv::RrepAckHeader [class]
+ module.add_class('RrepAckHeader', parent=root_module['ns3::Header'])
+ ## aodv-packet.h: ns3::aodv::RrepHeader [class]
+ module.add_class('RrepHeader', parent=root_module['ns3::Header'])
+ ## aodv-packet.h: ns3::aodv::RreqHeader [class]
+ module.add_class('RreqHeader', parent=root_module['ns3::Header'])
+ ## aodv-packet.h: ns3::aodv::TypeHeader [class]
+ module.add_class('TypeHeader', parent=root_module['ns3::Header'])
+
+def register_types_ns3_dot11s(module):
+ root_module = module.get_root()
+
+
+def register_types_ns3_dsdv(module):
+ root_module = module.get_root()
+
+
+def register_types_ns3_flame(module):
+ root_module = module.get_root()
+
+
+def register_types_ns3_internal(module):
+ root_module = module.get_root()
+
+
+def register_types_ns3_olsr(module):
+ root_module = module.get_root()
+
+
+def register_methods(root_module):
+ register_Ns3AodvDuplicatePacketDetection_methods(root_module, root_module['ns3::aodv::DuplicatePacketDetection'])
+ register_Ns3AodvIdCache_methods(root_module, root_module['ns3::aodv::IdCache'])
+ register_Ns3AodvNeighbors_methods(root_module, root_module['ns3::aodv::Neighbors'])
+ register_Ns3AodvNeighborsNeighbor_methods(root_module, root_module['ns3::aodv::Neighbors::Neighbor'])
+ register_Ns3AodvQueueEntry_methods(root_module, root_module['ns3::aodv::QueueEntry'])
+ register_Ns3AodvRequestQueue_methods(root_module, root_module['ns3::aodv::RequestQueue'])
+ register_Ns3AodvRerrHeader_methods(root_module, root_module['ns3::aodv::RerrHeader'])
+ register_Ns3AodvRoutingProtocol_methods(root_module, root_module['ns3::aodv::RoutingProtocol'])
+ register_Ns3AodvRoutingTable_methods(root_module, root_module['ns3::aodv::RoutingTable'])
+ register_Ns3AodvRoutingTableEntry_methods(root_module, root_module['ns3::aodv::RoutingTableEntry'])
+ register_Ns3AodvRrepAckHeader_methods(root_module, root_module['ns3::aodv::RrepAckHeader'])
+ register_Ns3AodvRrepHeader_methods(root_module, root_module['ns3::aodv::RrepHeader'])
+ register_Ns3AodvRreqHeader_methods(root_module, root_module['ns3::aodv::RreqHeader'])
+ register_Ns3AodvTypeHeader_methods(root_module, root_module['ns3::aodv::TypeHeader'])
+ return
+
+def register_Ns3AodvDuplicatePacketDetection_methods(root_module, cls):
+ ## aodv-dpd.h: ns3::aodv::DuplicatePacketDetection::DuplicatePacketDetection(ns3::aodv::DuplicatePacketDetection const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::aodv::DuplicatePacketDetection const &', 'arg0')])
+ ## aodv-dpd.h: ns3::aodv::DuplicatePacketDetection::DuplicatePacketDetection(ns3::Time lifetime) [constructor]
+ cls.add_constructor([param('ns3::Time', 'lifetime')])
+ ## aodv-dpd.h: ns3::Time ns3::aodv::DuplicatePacketDetection::GetLifetime() const [member function]
+ cls.add_method('GetLifetime',
+ 'ns3::Time',
+ [],
+ is_const=True)
+ ## aodv-dpd.h: bool ns3::aodv::DuplicatePacketDetection::IsDuplicate(ns3::Ptr p, ns3::Ipv4Header const & header) [member function]
+ cls.add_method('IsDuplicate',
+ 'bool',
+ [param('ns3::Ptr< ns3::Packet const >', 'p'), param('ns3::Ipv4Header const &', 'header')])
+ ## aodv-dpd.h: void ns3::aodv::DuplicatePacketDetection::SetLifetime(ns3::Time lifetime) [member function]
+ cls.add_method('SetLifetime',
+ 'void',
+ [param('ns3::Time', 'lifetime')])
+ return
+
+def register_Ns3AodvIdCache_methods(root_module, cls):
+ ## aodv-id-cache.h: ns3::aodv::IdCache::IdCache(ns3::aodv::IdCache const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::aodv::IdCache const &', 'arg0')])
+ ## aodv-id-cache.h: ns3::aodv::IdCache::IdCache(ns3::Time lifetime) [constructor]
+ cls.add_constructor([param('ns3::Time', 'lifetime')])
+ ## aodv-id-cache.h: ns3::Time ns3::aodv::IdCache::GetLifeTime() const [member function]
+ cls.add_method('GetLifeTime',
+ 'ns3::Time',
+ [],
+ is_const=True)
+ ## aodv-id-cache.h: uint32_t ns3::aodv::IdCache::GetSize() [member function]
+ cls.add_method('GetSize',
+ 'uint32_t',
+ [])
+ ## aodv-id-cache.h: bool ns3::aodv::IdCache::IsDuplicate(ns3::Ipv4Address addr, uint32_t id) [member function]
+ cls.add_method('IsDuplicate',
+ 'bool',
+ [param('ns3::Ipv4Address', 'addr'), param('uint32_t', 'id')])
+ ## aodv-id-cache.h: void ns3::aodv::IdCache::Purge() [member function]
+ cls.add_method('Purge',
+ 'void',
+ [])
+ ## aodv-id-cache.h: void ns3::aodv::IdCache::SetLifetime(ns3::Time lifetime) [member function]
+ cls.add_method('SetLifetime',
+ 'void',
+ [param('ns3::Time', 'lifetime')])
+ return
+
+def register_Ns3AodvNeighbors_methods(root_module, cls):
+ ## aodv-neighbor.h: ns3::aodv::Neighbors::Neighbors(ns3::aodv::Neighbors const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::aodv::Neighbors const &', 'arg0')])
+ ## aodv-neighbor.h: ns3::aodv::Neighbors::Neighbors(ns3::Time delay) [constructor]
+ cls.add_constructor([param('ns3::Time', 'delay')])
+ ## aodv-neighbor.h: void ns3::aodv::Neighbors::AddArpCache(ns3::Ptr arg0) [member function]
+ cls.add_method('AddArpCache',
+ 'void',
+ [param('ns3::Ptr< ns3::ArpCache >', 'arg0')])
+ ## aodv-neighbor.h: void ns3::aodv::Neighbors::Clear() [member function]
+ cls.add_method('Clear',
+ 'void',
+ [])
+ ## aodv-neighbor.h: void ns3::aodv::Neighbors::DelArpCache(ns3::Ptr arg0) [member function]
+ cls.add_method('DelArpCache',
+ 'void',
+ [param('ns3::Ptr< ns3::ArpCache >', 'arg0')])
+ ## aodv-neighbor.h: ns3::Callback ns3::aodv::Neighbors::GetCallback() const [member function]
+ cls.add_method('GetCallback',
+ 'ns3::Callback< void, ns3::Ipv4Address, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
+ [],
+ is_const=True)
+ ## aodv-neighbor.h: ns3::Time ns3::aodv::Neighbors::GetExpireTime(ns3::Ipv4Address addr) [member function]
+ cls.add_method('GetExpireTime',
+ 'ns3::Time',
+ [param('ns3::Ipv4Address', 'addr')])
+ ## aodv-neighbor.h: ns3::Callback ns3::aodv::Neighbors::GetTxErrorCallback() const [member function]
+ cls.add_method('GetTxErrorCallback',
+ 'ns3::Callback< void, ns3::WifiMacHeader const &, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
+ [],
+ is_const=True)
+ ## aodv-neighbor.h: bool ns3::aodv::Neighbors::IsNeighbor(ns3::Ipv4Address addr) [member function]
+ cls.add_method('IsNeighbor',
+ 'bool',
+ [param('ns3::Ipv4Address', 'addr')])
+ ## aodv-neighbor.h: void ns3::aodv::Neighbors::Purge() [member function]
+ cls.add_method('Purge',
+ 'void',
+ [])
+ ## aodv-neighbor.h: void ns3::aodv::Neighbors::ScheduleTimer() [member function]
+ cls.add_method('ScheduleTimer',
+ 'void',
+ [])
+ ## aodv-neighbor.h: void ns3::aodv::Neighbors::SetCallback(ns3::Callback cb) [member function]
+ cls.add_method('SetCallback',
+ 'void',
+ [param('ns3::Callback< void, ns3::Ipv4Address, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')])
+ ## aodv-neighbor.h: void ns3::aodv::Neighbors::Update(ns3::Ipv4Address addr, ns3::Time expire) [member function]
+ cls.add_method('Update',
+ 'void',
+ [param('ns3::Ipv4Address', 'addr'), param('ns3::Time', 'expire')])
+ return
+
+def register_Ns3AodvNeighborsNeighbor_methods(root_module, cls):
+ ## aodv-neighbor.h: ns3::aodv::Neighbors::Neighbor::Neighbor(ns3::aodv::Neighbors::Neighbor const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::aodv::Neighbors::Neighbor const &', 'arg0')])
+ ## aodv-neighbor.h: ns3::aodv::Neighbors::Neighbor::Neighbor(ns3::Ipv4Address ip, ns3::Mac48Address mac, ns3::Time t) [constructor]
+ cls.add_constructor([param('ns3::Ipv4Address', 'ip'), param('ns3::Mac48Address', 'mac'), param('ns3::Time', 't')])
+ ## aodv-neighbor.h: ns3::aodv::Neighbors::Neighbor::close [variable]
+ cls.add_instance_attribute('close', 'bool', is_const=False)
+ ## aodv-neighbor.h: ns3::aodv::Neighbors::Neighbor::m_expireTime [variable]
+ cls.add_instance_attribute('m_expireTime', 'ns3::Time', is_const=False)
+ ## aodv-neighbor.h: ns3::aodv::Neighbors::Neighbor::m_hardwareAddress [variable]
+ cls.add_instance_attribute('m_hardwareAddress', 'ns3::Mac48Address', is_const=False)
+ ## aodv-neighbor.h: ns3::aodv::Neighbors::Neighbor::m_neighborAddress [variable]
+ cls.add_instance_attribute('m_neighborAddress', 'ns3::Ipv4Address', is_const=False)
+ return
+
+def register_Ns3AodvQueueEntry_methods(root_module, cls):
+ cls.add_binary_comparison_operator('==')
+ ## aodv-rqueue.h: ns3::aodv::QueueEntry::QueueEntry(ns3::aodv::QueueEntry const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::aodv::QueueEntry const &', 'arg0')])
+ ## aodv-rqueue.h: ns3::aodv::QueueEntry::QueueEntry(ns3::Ptr pa=0, ns3::Ipv4Header const & h=ns3::Ipv4Header(), ns3::Callback, ns3::Ptr, ns3::Ipv4Header const&, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty> ucb=ns3::Callback, ns3::Ptr, const ns3::Ipv4Header&, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty>(), ns3::Callback, ns3::Ipv4Header const&, ns3::Socket::SocketErrno, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty> ecb=ns3::Callback, const ns3::Ipv4Header&, ns3::Socket::SocketErrno, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty>(), ns3::Time exp=ns3::Simulator::Now( )) [constructor]
+ cls.add_constructor([param('ns3::Ptr< ns3::Packet const >', 'pa', default_value='0'), param('ns3::Ipv4Header const &', 'h', default_value='ns3::Ipv4Header()'), param('ns3::Callback< void, ns3::Ptr< ns3::Ipv4Route >, ns3::Ptr< ns3::Packet const >, ns3::Ipv4Header const &, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'ucb', default_value='ns3::Callback, ns3::Ptr, const ns3::Ipv4Header&, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty>()'), param('ns3::Callback< void, ns3::Ptr< ns3::Packet const >, ns3::Ipv4Header const &, ns3::Socket::SocketErrno, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'ecb', default_value='ns3::Callback, const ns3::Ipv4Header&, ns3::Socket::SocketErrno, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty>()'), param('ns3::Time', 'exp', default_value='ns3::Simulator::Now( )')])
+ ## aodv-rqueue.h: ns3::Callback, ns3::Ipv4Header const&, ns3::Socket::SocketErrno, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty> ns3::aodv::QueueEntry::GetErrorCallback() const [member function]
+ cls.add_method('GetErrorCallback',
+ 'ns3::Callback< void, ns3::Ptr< ns3::Packet const >, ns3::Ipv4Header const &, ns3::Socket::SocketErrno, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
+ [],
+ is_const=True)
+ ## aodv-rqueue.h: ns3::Time ns3::aodv::QueueEntry::GetExpireTime() const [member function]
+ cls.add_method('GetExpireTime',
+ 'ns3::Time',
+ [],
+ is_const=True)
+ ## aodv-rqueue.h: ns3::Ipv4Header ns3::aodv::QueueEntry::GetIpv4Header() const [member function]
+ cls.add_method('GetIpv4Header',
+ 'ns3::Ipv4Header',
+ [],
+ is_const=True)
+ ## aodv-rqueue.h: ns3::Ptr ns3::aodv::QueueEntry::GetPacket() const [member function]
+ cls.add_method('GetPacket',
+ 'ns3::Ptr< ns3::Packet const >',
+ [],
+ is_const=True)
+ ## aodv-rqueue.h: ns3::Callback, ns3::Ptr, ns3::Ipv4Header const&, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty> ns3::aodv::QueueEntry::GetUnicastForwardCallback() const [member function]
+ cls.add_method('GetUnicastForwardCallback',
+ 'ns3::Callback< void, ns3::Ptr< ns3::Ipv4Route >, ns3::Ptr< ns3::Packet const >, ns3::Ipv4Header const &, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
+ [],
+ is_const=True)
+ ## aodv-rqueue.h: void ns3::aodv::QueueEntry::SetErrorCallback(ns3::Callback, ns3::Ipv4Header const&, ns3::Socket::SocketErrno, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty> ecb) [member function]
+ cls.add_method('SetErrorCallback',
+ 'void',
+ [param('ns3::Callback< void, ns3::Ptr< ns3::Packet const >, ns3::Ipv4Header const &, ns3::Socket::SocketErrno, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'ecb')])
+ ## aodv-rqueue.h: void ns3::aodv::QueueEntry::SetExpireTime(ns3::Time exp) [member function]
+ cls.add_method('SetExpireTime',
+ 'void',
+ [param('ns3::Time', 'exp')])
+ ## aodv-rqueue.h: void ns3::aodv::QueueEntry::SetIpv4Header(ns3::Ipv4Header h) [member function]
+ cls.add_method('SetIpv4Header',
+ 'void',
+ [param('ns3::Ipv4Header', 'h')])
+ ## aodv-rqueue.h: void ns3::aodv::QueueEntry::SetPacket(ns3::Ptr p) [member function]
+ cls.add_method('SetPacket',
+ 'void',
+ [param('ns3::Ptr< ns3::Packet const >', 'p')])
+ ## aodv-rqueue.h: void ns3::aodv::QueueEntry::SetUnicastForwardCallback(ns3::Callback, ns3::Ptr, ns3::Ipv4Header const&, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty> ucb) [member function]
+ cls.add_method('SetUnicastForwardCallback',
+ 'void',
+ [param('ns3::Callback< void, ns3::Ptr< ns3::Ipv4Route >, ns3::Ptr< ns3::Packet const >, ns3::Ipv4Header const &, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'ucb')])
+ return
+
+def register_Ns3AodvRequestQueue_methods(root_module, cls):
+ ## aodv-rqueue.h: ns3::aodv::RequestQueue::RequestQueue(ns3::aodv::RequestQueue const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::aodv::RequestQueue const &', 'arg0')])
+ ## aodv-rqueue.h: ns3::aodv::RequestQueue::RequestQueue(uint32_t maxLen, ns3::Time routeToQueueTimeout) [constructor]
+ cls.add_constructor([param('uint32_t', 'maxLen'), param('ns3::Time', 'routeToQueueTimeout')])
+ ## aodv-rqueue.h: bool ns3::aodv::RequestQueue::Dequeue(ns3::Ipv4Address dst, ns3::aodv::QueueEntry & entry) [member function]
+ cls.add_method('Dequeue',
+ 'bool',
+ [param('ns3::Ipv4Address', 'dst'), param('ns3::aodv::QueueEntry &', 'entry')])
+ ## aodv-rqueue.h: void ns3::aodv::RequestQueue::DropPacketWithDst(ns3::Ipv4Address dst) [member function]
+ cls.add_method('DropPacketWithDst',
+ 'void',
+ [param('ns3::Ipv4Address', 'dst')])
+ ## aodv-rqueue.h: bool ns3::aodv::RequestQueue::Enqueue(ns3::aodv::QueueEntry & entry) [member function]
+ cls.add_method('Enqueue',
+ 'bool',
+ [param('ns3::aodv::QueueEntry &', 'entry')])
+ ## aodv-rqueue.h: bool ns3::aodv::RequestQueue::Find(ns3::Ipv4Address dst) [member function]
+ cls.add_method('Find',
+ 'bool',
+ [param('ns3::Ipv4Address', 'dst')])
+ ## aodv-rqueue.h: uint32_t ns3::aodv::RequestQueue::GetMaxQueueLen() const [member function]
+ cls.add_method('GetMaxQueueLen',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## aodv-rqueue.h: ns3::Time ns3::aodv::RequestQueue::GetQueueTimeout() const [member function]
+ cls.add_method('GetQueueTimeout',
+ 'ns3::Time',
+ [],
+ is_const=True)
+ ## aodv-rqueue.h: uint32_t ns3::aodv::RequestQueue::GetSize() [member function]
+ cls.add_method('GetSize',
+ 'uint32_t',
+ [])
+ ## aodv-rqueue.h: void ns3::aodv::RequestQueue::SetMaxQueueLen(uint32_t len) [member function]
+ cls.add_method('SetMaxQueueLen',
+ 'void',
+ [param('uint32_t', 'len')])
+ ## aodv-rqueue.h: void ns3::aodv::RequestQueue::SetQueueTimeout(ns3::Time t) [member function]
+ cls.add_method('SetQueueTimeout',
+ 'void',
+ [param('ns3::Time', 't')])
+ return
+
+def register_Ns3AodvRerrHeader_methods(root_module, cls):
+ cls.add_output_stream_operator()
+ cls.add_binary_comparison_operator('==')
+ ## aodv-packet.h: ns3::aodv::RerrHeader::RerrHeader(ns3::aodv::RerrHeader const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::aodv::RerrHeader const &', 'arg0')])
+ ## aodv-packet.h: ns3::aodv::RerrHeader::RerrHeader() [constructor]
+ cls.add_constructor([])
+ ## aodv-packet.h: bool ns3::aodv::RerrHeader::AddUnDestination(ns3::Ipv4Address dst, uint32_t seqNo) [member function]
+ cls.add_method('AddUnDestination',
+ 'bool',
+ [param('ns3::Ipv4Address', 'dst'), param('uint32_t', 'seqNo')])
+ ## aodv-packet.h: void ns3::aodv::RerrHeader::Clear() [member function]
+ cls.add_method('Clear',
+ 'void',
+ [])
+ ## aodv-packet.h: uint32_t ns3::aodv::RerrHeader::Deserialize(ns3::Buffer::Iterator start) [member function]
+ cls.add_method('Deserialize',
+ 'uint32_t',
+ [param('ns3::Buffer::Iterator', 'start')],
+ is_virtual=True)
+ ## aodv-packet.h: uint8_t ns3::aodv::RerrHeader::GetDestCount() const [member function]
+ cls.add_method('GetDestCount',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## aodv-packet.h: ns3::TypeId ns3::aodv::RerrHeader::GetInstanceTypeId() const [member function]
+ cls.add_method('GetInstanceTypeId',
+ 'ns3::TypeId',
+ [],
+ is_const=True, is_virtual=True)
+ ## aodv-packet.h: bool ns3::aodv::RerrHeader::GetNoDelete() const [member function]
+ cls.add_method('GetNoDelete',
+ 'bool',
+ [],
+ is_const=True)
+ ## aodv-packet.h: uint32_t ns3::aodv::RerrHeader::GetSerializedSize() const [member function]
+ cls.add_method('GetSerializedSize',
+ 'uint32_t',
+ [],
+ is_const=True, is_virtual=True)
+ ## aodv-packet.h: static ns3::TypeId ns3::aodv::RerrHeader::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## aodv-packet.h: void ns3::aodv::RerrHeader::Print(std::ostream & os) const [member function]
+ cls.add_method('Print',
+ 'void',
+ [param('std::ostream &', 'os')],
+ is_const=True, is_virtual=True)
+ ## aodv-packet.h: bool ns3::aodv::RerrHeader::RemoveUnDestination(std::pair & un) [member function]
+ cls.add_method('RemoveUnDestination',
+ 'bool',
+ [param('std::pair< ns3::Ipv4Address, unsigned int > &', 'un')])
+ ## aodv-packet.h: void ns3::aodv::RerrHeader::Serialize(ns3::Buffer::Iterator i) const [member function]
+ cls.add_method('Serialize',
+ 'void',
+ [param('ns3::Buffer::Iterator', 'i')],
+ is_const=True, is_virtual=True)
+ ## aodv-packet.h: void ns3::aodv::RerrHeader::SetNoDelete(bool f) [member function]
+ cls.add_method('SetNoDelete',
+ 'void',
+ [param('bool', 'f')])
+ return
+
+def register_Ns3AodvRoutingProtocol_methods(root_module, cls):
+ ## aodv-routing-protocol.h: ns3::aodv::RoutingProtocol::RoutingProtocol(ns3::aodv::RoutingProtocol const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::aodv::RoutingProtocol const &', 'arg0')])
+ ## aodv-routing-protocol.h: ns3::aodv::RoutingProtocol::RoutingProtocol() [constructor]
+ cls.add_constructor([])
+ ## aodv-routing-protocol.h: void ns3::aodv::RoutingProtocol::DoDispose() [member function]
+ cls.add_method('DoDispose',
+ 'void',
+ [],
+ is_virtual=True)
+ ## aodv-routing-protocol.h: bool ns3::aodv::RoutingProtocol::GetBroadcastEnable() const [member function]
+ cls.add_method('GetBroadcastEnable',
+ 'bool',
+ [],
+ is_const=True)
+ ## aodv-routing-protocol.h: bool ns3::aodv::RoutingProtocol::GetDesinationOnlyFlag() const [member function]
+ cls.add_method('GetDesinationOnlyFlag',
+ 'bool',
+ [],
+ is_const=True)
+ ## aodv-routing-protocol.h: bool ns3::aodv::RoutingProtocol::GetGratuitousReplyFlag() const [member function]
+ cls.add_method('GetGratuitousReplyFlag',
+ 'bool',
+ [],
+ is_const=True)
+ ## aodv-routing-protocol.h: bool ns3::aodv::RoutingProtocol::GetHelloEnable() const [member function]
+ cls.add_method('GetHelloEnable',
+ 'bool',
+ [],
+ is_const=True)
+ ## aodv-routing-protocol.h: uint32_t ns3::aodv::RoutingProtocol::GetMaxQueueLen() const [member function]
+ cls.add_method('GetMaxQueueLen',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## aodv-routing-protocol.h: ns3::Time ns3::aodv::RoutingProtocol::GetMaxQueueTime() const [member function]
+ cls.add_method('GetMaxQueueTime',
+ 'ns3::Time',
+ [],
+ is_const=True)
+ ## aodv-routing-protocol.h: static ns3::TypeId ns3::aodv::RoutingProtocol::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## aodv-routing-protocol.h: void ns3::aodv::RoutingProtocol::NotifyAddAddress(uint32_t interface, ns3::Ipv4InterfaceAddress address) [member function]
+ cls.add_method('NotifyAddAddress',
+ 'void',
+ [param('uint32_t', 'interface'), param('ns3::Ipv4InterfaceAddress', 'address')],
+ is_virtual=True)
+ ## aodv-routing-protocol.h: void ns3::aodv::RoutingProtocol::NotifyInterfaceDown(uint32_t interface) [member function]
+ cls.add_method('NotifyInterfaceDown',
+ 'void',
+ [param('uint32_t', 'interface')],
+ is_virtual=True)
+ ## aodv-routing-protocol.h: void ns3::aodv::RoutingProtocol::NotifyInterfaceUp(uint32_t interface) [member function]
+ cls.add_method('NotifyInterfaceUp',
+ 'void',
+ [param('uint32_t', 'interface')],
+ is_virtual=True)
+ ## aodv-routing-protocol.h: void ns3::aodv::RoutingProtocol::NotifyRemoveAddress(uint32_t interface, ns3::Ipv4InterfaceAddress address) [member function]
+ cls.add_method('NotifyRemoveAddress',
+ 'void',
+ [param('uint32_t', 'interface'), param('ns3::Ipv4InterfaceAddress', 'address')],
+ is_virtual=True)
+ ## aodv-routing-protocol.h: void ns3::aodv::RoutingProtocol::PrintRoutingTable(ns3::Ptr stream) const [member function]
+ cls.add_method('PrintRoutingTable',
+ 'void',
+ [param('ns3::Ptr< ns3::OutputStreamWrapper >', 'stream')],
+ is_const=True, is_virtual=True)
+ ## aodv-routing-protocol.h: bool ns3::aodv::RoutingProtocol::RouteInput(ns3::Ptr p, ns3::Ipv4Header const & header, ns3::Ptr idev, ns3::Callback, ns3::Ptr, ns3::Ipv4Header const&, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty> ucb, ns3::Callback,ns3::Ptr,const ns3::Ipv4Header&,ns3::empty,ns3::empty,ns3::empty,ns3::empty,ns3::empty,ns3::empty> mcb, ns3::Callback,const ns3::Ipv4Header&,unsigned int,ns3::empty,ns3::empty,ns3::empty,ns3::empty,ns3::empty,ns3::empty> lcb, ns3::Callback, ns3::Ipv4Header const&, ns3::Socket::SocketErrno, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty> ecb) [member function]
+ cls.add_method('RouteInput',
+ 'bool',
+ [param('ns3::Ptr< ns3::Packet const >', 'p'), param('ns3::Ipv4Header const &', 'header'), param('ns3::Ptr< ns3::NetDevice const >', 'idev'), param('ns3::Callback< void, ns3::Ptr< ns3::Ipv4Route >, ns3::Ptr< ns3::Packet const >, ns3::Ipv4Header const &, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'ucb'), param('ns3::Callback< void, ns3::Ptr< ns3::Ipv4MulticastRoute >, ns3::Ptr< ns3::Packet const >, ns3::Ipv4Header const &, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'mcb'), param('ns3::Callback< void, ns3::Ptr< ns3::Packet const >, ns3::Ipv4Header const &, unsigned int, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'lcb'), param('ns3::Callback< void, ns3::Ptr< ns3::Packet const >, ns3::Ipv4Header const &, ns3::Socket::SocketErrno, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'ecb')],
+ is_virtual=True)
+ ## aodv-routing-protocol.h: ns3::Ptr ns3::aodv::RoutingProtocol::RouteOutput(ns3::Ptr p, ns3::Ipv4Header const & header, ns3::Ptr oif, ns3::Socket::SocketErrno & sockerr) [member function]
+ cls.add_method('RouteOutput',
+ 'ns3::Ptr< ns3::Ipv4Route >',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv4Header const &', 'header'), param('ns3::Ptr< ns3::NetDevice >', 'oif'), param('ns3::Socket::SocketErrno &', 'sockerr')],
+ is_virtual=True)
+ ## aodv-routing-protocol.h: void ns3::aodv::RoutingProtocol::SetBroadcastEnable(bool f) [member function]
+ cls.add_method('SetBroadcastEnable',
+ 'void',
+ [param('bool', 'f')])
+ ## aodv-routing-protocol.h: void ns3::aodv::RoutingProtocol::SetDesinationOnlyFlag(bool f) [member function]
+ cls.add_method('SetDesinationOnlyFlag',
+ 'void',
+ [param('bool', 'f')])
+ ## aodv-routing-protocol.h: void ns3::aodv::RoutingProtocol::SetGratuitousReplyFlag(bool f) [member function]
+ cls.add_method('SetGratuitousReplyFlag',
+ 'void',
+ [param('bool', 'f')])
+ ## aodv-routing-protocol.h: void ns3::aodv::RoutingProtocol::SetHelloEnable(bool f) [member function]
+ cls.add_method('SetHelloEnable',
+ 'void',
+ [param('bool', 'f')])
+ ## aodv-routing-protocol.h: void ns3::aodv::RoutingProtocol::SetIpv4(ns3::Ptr ipv4) [member function]
+ cls.add_method('SetIpv4',
+ 'void',
+ [param('ns3::Ptr< ns3::Ipv4 >', 'ipv4')],
+ is_virtual=True)
+ ## aodv-routing-protocol.h: void ns3::aodv::RoutingProtocol::SetMaxQueueLen(uint32_t len) [member function]
+ cls.add_method('SetMaxQueueLen',
+ 'void',
+ [param('uint32_t', 'len')])
+ ## aodv-routing-protocol.h: void ns3::aodv::RoutingProtocol::SetMaxQueueTime(ns3::Time t) [member function]
+ cls.add_method('SetMaxQueueTime',
+ 'void',
+ [param('ns3::Time', 't')])
+ ## aodv-routing-protocol.h: ns3::aodv::RoutingProtocol::AODV_PORT [variable]
+ cls.add_static_attribute('AODV_PORT', 'uint32_t const', is_const=True)
+ return
+
+def register_Ns3AodvRoutingTable_methods(root_module, cls):
+ ## aodv-rtable.h: ns3::aodv::RoutingTable::RoutingTable(ns3::aodv::RoutingTable const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::aodv::RoutingTable const &', 'arg0')])
+ ## aodv-rtable.h: ns3::aodv::RoutingTable::RoutingTable(ns3::Time t) [constructor]
+ cls.add_constructor([param('ns3::Time', 't')])
+ ## aodv-rtable.h: bool ns3::aodv::RoutingTable::AddRoute(ns3::aodv::RoutingTableEntry & r) [member function]
+ cls.add_method('AddRoute',
+ 'bool',
+ [param('ns3::aodv::RoutingTableEntry &', 'r')])
+ ## aodv-rtable.h: void ns3::aodv::RoutingTable::Clear() [member function]
+ cls.add_method('Clear',
+ 'void',
+ [])
+ ## aodv-rtable.h: void ns3::aodv::RoutingTable::DeleteAllRoutesFromInterface(ns3::Ipv4InterfaceAddress iface) [member function]
+ cls.add_method('DeleteAllRoutesFromInterface',
+ 'void',
+ [param('ns3::Ipv4InterfaceAddress', 'iface')])
+ ## aodv-rtable.h: bool ns3::aodv::RoutingTable::DeleteRoute(ns3::Ipv4Address dst) [member function]
+ cls.add_method('DeleteRoute',
+ 'bool',
+ [param('ns3::Ipv4Address', 'dst')])
+ ## aodv-rtable.h: ns3::Time ns3::aodv::RoutingTable::GetBadLinkLifetime() const [member function]
+ cls.add_method('GetBadLinkLifetime',
+ 'ns3::Time',
+ [],
+ is_const=True)
+ ## aodv-rtable.h: void ns3::aodv::RoutingTable::GetListOfDestinationWithNextHop(ns3::Ipv4Address nextHop, std::map, std::allocator > > & unreachable) [member function]
+ cls.add_method('GetListOfDestinationWithNextHop',
+ 'void',
+ [param('ns3::Ipv4Address', 'nextHop'), param('std::map< ns3::Ipv4Address, unsigned int > &', 'unreachable')])
+ ## aodv-rtable.h: void ns3::aodv::RoutingTable::InvalidateRoutesWithDst(std::map, std::allocator > > const & unreachable) [member function]
+ cls.add_method('InvalidateRoutesWithDst',
+ 'void',
+ [param('std::map< ns3::Ipv4Address, unsigned int > const &', 'unreachable')])
+ ## aodv-rtable.h: bool ns3::aodv::RoutingTable::LookupRoute(ns3::Ipv4Address dst, ns3::aodv::RoutingTableEntry & rt) [member function]
+ cls.add_method('LookupRoute',
+ 'bool',
+ [param('ns3::Ipv4Address', 'dst'), param('ns3::aodv::RoutingTableEntry &', 'rt')])
+ ## aodv-rtable.h: bool ns3::aodv::RoutingTable::LookupValidRoute(ns3::Ipv4Address dst, ns3::aodv::RoutingTableEntry & rt) [member function]
+ cls.add_method('LookupValidRoute',
+ 'bool',
+ [param('ns3::Ipv4Address', 'dst'), param('ns3::aodv::RoutingTableEntry &', 'rt')])
+ ## aodv-rtable.h: bool ns3::aodv::RoutingTable::MarkLinkAsUnidirectional(ns3::Ipv4Address neighbor, ns3::Time blacklistTimeout) [member function]
+ cls.add_method('MarkLinkAsUnidirectional',
+ 'bool',
+ [param('ns3::Ipv4Address', 'neighbor'), param('ns3::Time', 'blacklistTimeout')])
+ ## aodv-rtable.h: void ns3::aodv::RoutingTable::Print(ns3::Ptr stream) const [member function]
+ cls.add_method('Print',
+ 'void',
+ [param('ns3::Ptr< ns3::OutputStreamWrapper >', 'stream')],
+ is_const=True)
+ ## aodv-rtable.h: void ns3::aodv::RoutingTable::Purge() [member function]
+ cls.add_method('Purge',
+ 'void',
+ [])
+ ## aodv-rtable.h: void ns3::aodv::RoutingTable::SetBadLinkLifetime(ns3::Time t) [member function]
+ cls.add_method('SetBadLinkLifetime',
+ 'void',
+ [param('ns3::Time', 't')])
+ ## aodv-rtable.h: bool ns3::aodv::RoutingTable::SetEntryState(ns3::Ipv4Address dst, ns3::aodv::RouteFlags state) [member function]
+ cls.add_method('SetEntryState',
+ 'bool',
+ [param('ns3::Ipv4Address', 'dst'), param('ns3::aodv::RouteFlags', 'state')])
+ ## aodv-rtable.h: bool ns3::aodv::RoutingTable::Update(ns3::aodv::RoutingTableEntry & rt) [member function]
+ cls.add_method('Update',
+ 'bool',
+ [param('ns3::aodv::RoutingTableEntry &', 'rt')])
+ return
+
+def register_Ns3AodvRoutingTableEntry_methods(root_module, cls):
+ ## aodv-rtable.h: ns3::aodv::RoutingTableEntry::RoutingTableEntry(ns3::aodv::RoutingTableEntry const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::aodv::RoutingTableEntry const &', 'arg0')])
+ ## aodv-rtable.h: ns3::aodv::RoutingTableEntry::RoutingTableEntry(ns3::Ptr dev=0, ns3::Ipv4Address dst=ns3::Ipv4Address(), bool vSeqNo=false, uint32_t m_seqNo=0, ns3::Ipv4InterfaceAddress iface=ns3::Ipv4InterfaceAddress(), uint16_t hops=0, ns3::Ipv4Address nextHop=ns3::Ipv4Address(), ns3::Time lifetime=ns3::Simulator::Now( )) [constructor]
+ cls.add_constructor([param('ns3::Ptr< ns3::NetDevice >', 'dev', default_value='0'), param('ns3::Ipv4Address', 'dst', default_value='ns3::Ipv4Address()'), param('bool', 'vSeqNo', default_value='false'), param('uint32_t', 'm_seqNo', default_value='0'), param('ns3::Ipv4InterfaceAddress', 'iface', default_value='ns3::Ipv4InterfaceAddress()'), param('uint16_t', 'hops', default_value='0'), param('ns3::Ipv4Address', 'nextHop', default_value='ns3::Ipv4Address()'), param('ns3::Time', 'lifetime', default_value='ns3::Simulator::Now( )')])
+ ## aodv-rtable.h: void ns3::aodv::RoutingTableEntry::DeleteAllPrecursors() [member function]
+ cls.add_method('DeleteAllPrecursors',
+ 'void',
+ [])
+ ## aodv-rtable.h: bool ns3::aodv::RoutingTableEntry::DeletePrecursor(ns3::Ipv4Address id) [member function]
+ cls.add_method('DeletePrecursor',
+ 'bool',
+ [param('ns3::Ipv4Address', 'id')])
+ ## aodv-rtable.h: ns3::Time ns3::aodv::RoutingTableEntry::GetBlacklistTimeout() const [member function]
+ cls.add_method('GetBlacklistTimeout',
+ 'ns3::Time',
+ [],
+ is_const=True)
+ ## aodv-rtable.h: ns3::Ipv4Address ns3::aodv::RoutingTableEntry::GetDestination() const [member function]
+ cls.add_method('GetDestination',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
+ ## aodv-rtable.h: ns3::aodv::RouteFlags ns3::aodv::RoutingTableEntry::GetFlag() const [member function]
+ cls.add_method('GetFlag',
+ 'ns3::aodv::RouteFlags',
+ [],
+ is_const=True)
+ ## aodv-rtable.h: uint16_t ns3::aodv::RoutingTableEntry::GetHop() const [member function]
+ cls.add_method('GetHop',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## aodv-rtable.h: ns3::Ipv4InterfaceAddress ns3::aodv::RoutingTableEntry::GetInterface() const [member function]
+ cls.add_method('GetInterface',
+ 'ns3::Ipv4InterfaceAddress',
+ [],
+ is_const=True)
+ ## aodv-rtable.h: ns3::Time ns3::aodv::RoutingTableEntry::GetLifeTime() const [member function]
+ cls.add_method('GetLifeTime',
+ 'ns3::Time',
+ [],
+ is_const=True)
+ ## aodv-rtable.h: ns3::Ipv4Address ns3::aodv::RoutingTableEntry::GetNextHop() const [member function]
+ cls.add_method('GetNextHop',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
+ ## aodv-rtable.h: ns3::Ptr ns3::aodv::RoutingTableEntry::GetOutputDevice() const [member function]
+ cls.add_method('GetOutputDevice',
+ 'ns3::Ptr< ns3::NetDevice >',
+ [],
+ is_const=True)
+ ## aodv-rtable.h: void ns3::aodv::RoutingTableEntry::GetPrecursors(std::vector > & prec) const [member function]
+ cls.add_method('GetPrecursors',
+ 'void',
+ [param('std::vector< ns3::Ipv4Address > &', 'prec')],
+ is_const=True)
+ ## aodv-rtable.h: ns3::Ptr ns3::aodv::RoutingTableEntry::GetRoute() const [member function]
+ cls.add_method('GetRoute',
+ 'ns3::Ptr< ns3::Ipv4Route >',
+ [],
+ is_const=True)
+ ## aodv-rtable.h: uint8_t ns3::aodv::RoutingTableEntry::GetRreqCnt() const [member function]
+ cls.add_method('GetRreqCnt',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## aodv-rtable.h: uint32_t ns3::aodv::RoutingTableEntry::GetSeqNo() const [member function]
+ cls.add_method('GetSeqNo',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## aodv-rtable.h: bool ns3::aodv::RoutingTableEntry::GetValidSeqNo() const [member function]
+ cls.add_method('GetValidSeqNo',
+ 'bool',
+ [],
+ is_const=True)
+ ## aodv-rtable.h: void ns3::aodv::RoutingTableEntry::IncrementRreqCnt() [member function]
+ cls.add_method('IncrementRreqCnt',
+ 'void',
+ [])
+ ## aodv-rtable.h: bool ns3::aodv::RoutingTableEntry::InsertPrecursor(ns3::Ipv4Address id) [member function]
+ cls.add_method('InsertPrecursor',
+ 'bool',
+ [param('ns3::Ipv4Address', 'id')])
+ ## aodv-rtable.h: void ns3::aodv::RoutingTableEntry::Invalidate(ns3::Time badLinkLifetime) [member function]
+ cls.add_method('Invalidate',
+ 'void',
+ [param('ns3::Time', 'badLinkLifetime')])
+ ## aodv-rtable.h: bool ns3::aodv::RoutingTableEntry::IsPrecursorListEmpty() const [member function]
+ cls.add_method('IsPrecursorListEmpty',
+ 'bool',
+ [],
+ is_const=True)
+ ## aodv-rtable.h: bool ns3::aodv::RoutingTableEntry::IsUnidirectional() const [member function]
+ cls.add_method('IsUnidirectional',
+ 'bool',
+ [],
+ is_const=True)
+ ## aodv-rtable.h: bool ns3::aodv::RoutingTableEntry::LookupPrecursor(ns3::Ipv4Address id) [member function]
+ cls.add_method('LookupPrecursor',
+ 'bool',
+ [param('ns3::Ipv4Address', 'id')])
+ ## aodv-rtable.h: void ns3::aodv::RoutingTableEntry::Print(ns3::Ptr stream) const [member function]
+ cls.add_method('Print',
+ 'void',
+ [param('ns3::Ptr< ns3::OutputStreamWrapper >', 'stream')],
+ is_const=True)
+ ## aodv-rtable.h: void ns3::aodv::RoutingTableEntry::SetBalcklistTimeout(ns3::Time t) [member function]
+ cls.add_method('SetBalcklistTimeout',
+ 'void',
+ [param('ns3::Time', 't')])
+ ## aodv-rtable.h: void ns3::aodv::RoutingTableEntry::SetFlag(ns3::aodv::RouteFlags flag) [member function]
+ cls.add_method('SetFlag',
+ 'void',
+ [param('ns3::aodv::RouteFlags', 'flag')])
+ ## aodv-rtable.h: void ns3::aodv::RoutingTableEntry::SetHop(uint16_t hop) [member function]
+ cls.add_method('SetHop',
+ 'void',
+ [param('uint16_t', 'hop')])
+ ## aodv-rtable.h: void ns3::aodv::RoutingTableEntry::SetInterface(ns3::Ipv4InterfaceAddress iface) [member function]
+ cls.add_method('SetInterface',
+ 'void',
+ [param('ns3::Ipv4InterfaceAddress', 'iface')])
+ ## aodv-rtable.h: void ns3::aodv::RoutingTableEntry::SetLifeTime(ns3::Time lt) [member function]
+ cls.add_method('SetLifeTime',
+ 'void',
+ [param('ns3::Time', 'lt')])
+ ## aodv-rtable.h: void ns3::aodv::RoutingTableEntry::SetNextHop(ns3::Ipv4Address nextHop) [member function]
+ cls.add_method('SetNextHop',
+ 'void',
+ [param('ns3::Ipv4Address', 'nextHop')])
+ ## aodv-rtable.h: void ns3::aodv::RoutingTableEntry::SetOutputDevice(ns3::Ptr dev) [member function]
+ cls.add_method('SetOutputDevice',
+ 'void',
+ [param('ns3::Ptr< ns3::NetDevice >', 'dev')])
+ ## aodv-rtable.h: void ns3::aodv::RoutingTableEntry::SetRoute(ns3::Ptr r) [member function]
+ cls.add_method('SetRoute',
+ 'void',
+ [param('ns3::Ptr< ns3::Ipv4Route >', 'r')])
+ ## aodv-rtable.h: void ns3::aodv::RoutingTableEntry::SetRreqCnt(uint8_t n) [member function]
+ cls.add_method('SetRreqCnt',
+ 'void',
+ [param('uint8_t', 'n')])
+ ## aodv-rtable.h: void ns3::aodv::RoutingTableEntry::SetSeqNo(uint32_t sn) [member function]
+ cls.add_method('SetSeqNo',
+ 'void',
+ [param('uint32_t', 'sn')])
+ ## aodv-rtable.h: void ns3::aodv::RoutingTableEntry::SetUnidirectional(bool u) [member function]
+ cls.add_method('SetUnidirectional',
+ 'void',
+ [param('bool', 'u')])
+ ## aodv-rtable.h: void ns3::aodv::RoutingTableEntry::SetValidSeqNo(bool s) [member function]
+ cls.add_method('SetValidSeqNo',
+ 'void',
+ [param('bool', 's')])
+ ## aodv-rtable.h: ns3::aodv::RoutingTableEntry::m_ackTimer [variable]
+ cls.add_instance_attribute('m_ackTimer', 'ns3::Timer', is_const=False)
+ return
+
+def register_Ns3AodvRrepAckHeader_methods(root_module, cls):
+ cls.add_output_stream_operator()
+ cls.add_binary_comparison_operator('==')
+ ## aodv-packet.h: ns3::aodv::RrepAckHeader::RrepAckHeader(ns3::aodv::RrepAckHeader const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::aodv::RrepAckHeader const &', 'arg0')])
+ ## aodv-packet.h: ns3::aodv::RrepAckHeader::RrepAckHeader() [constructor]
+ cls.add_constructor([])
+ ## aodv-packet.h: uint32_t ns3::aodv::RrepAckHeader::Deserialize(ns3::Buffer::Iterator start) [member function]
+ cls.add_method('Deserialize',
+ 'uint32_t',
+ [param('ns3::Buffer::Iterator', 'start')],
+ is_virtual=True)
+ ## aodv-packet.h: ns3::TypeId ns3::aodv::RrepAckHeader::GetInstanceTypeId() const [member function]
+ cls.add_method('GetInstanceTypeId',
+ 'ns3::TypeId',
+ [],
+ is_const=True, is_virtual=True)
+ ## aodv-packet.h: uint32_t ns3::aodv::RrepAckHeader::GetSerializedSize() const [member function]
+ cls.add_method('GetSerializedSize',
+ 'uint32_t',
+ [],
+ is_const=True, is_virtual=True)
+ ## aodv-packet.h: static ns3::TypeId ns3::aodv::RrepAckHeader::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## aodv-packet.h: void ns3::aodv::RrepAckHeader::Print(std::ostream & os) const [member function]
+ cls.add_method('Print',
+ 'void',
+ [param('std::ostream &', 'os')],
+ is_const=True, is_virtual=True)
+ ## aodv-packet.h: void ns3::aodv::RrepAckHeader::Serialize(ns3::Buffer::Iterator start) const [member function]
+ cls.add_method('Serialize',
+ 'void',
+ [param('ns3::Buffer::Iterator', 'start')],
+ is_const=True, is_virtual=True)
+ return
+
+def register_Ns3AodvRrepHeader_methods(root_module, cls):
+ cls.add_output_stream_operator()
+ cls.add_binary_comparison_operator('==')
+ ## aodv-packet.h: ns3::aodv::RrepHeader::RrepHeader(ns3::aodv::RrepHeader const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::aodv::RrepHeader const &', 'arg0')])
+ ## aodv-packet.h: ns3::aodv::RrepHeader::RrepHeader(uint8_t prefixSize=0, uint8_t hopCount=0, ns3::Ipv4Address dst=ns3::Ipv4Address(), uint32_t dstSeqNo=0, ns3::Ipv4Address origin=ns3::Ipv4Address(), ns3::Time lifetime=ns3::MilliSeconds( )) [constructor]
+ cls.add_constructor([param('uint8_t', 'prefixSize', default_value='0'), param('uint8_t', 'hopCount', default_value='0'), param('ns3::Ipv4Address', 'dst', default_value='ns3::Ipv4Address()'), param('uint32_t', 'dstSeqNo', default_value='0'), param('ns3::Ipv4Address', 'origin', default_value='ns3::Ipv4Address()'), param('ns3::Time', 'lifetime', default_value='ns3::MilliSeconds(0)')])
+ ## aodv-packet.h: uint32_t ns3::aodv::RrepHeader::Deserialize(ns3::Buffer::Iterator start) [member function]
+ cls.add_method('Deserialize',
+ 'uint32_t',
+ [param('ns3::Buffer::Iterator', 'start')],
+ is_virtual=True)
+ ## aodv-packet.h: bool ns3::aodv::RrepHeader::GetAckRequired() const [member function]
+ cls.add_method('GetAckRequired',
+ 'bool',
+ [],
+ is_const=True)
+ ## aodv-packet.h: ns3::Ipv4Address ns3::aodv::RrepHeader::GetDst() const [member function]
+ cls.add_method('GetDst',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
+ ## aodv-packet.h: uint32_t ns3::aodv::RrepHeader::GetDstSeqno() const [member function]
+ cls.add_method('GetDstSeqno',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## aodv-packet.h: uint8_t ns3::aodv::RrepHeader::GetHopCount() const [member function]
+ cls.add_method('GetHopCount',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## aodv-packet.h: ns3::TypeId ns3::aodv::RrepHeader::GetInstanceTypeId() const [member function]
+ cls.add_method('GetInstanceTypeId',
+ 'ns3::TypeId',
+ [],
+ is_const=True, is_virtual=True)
+ ## aodv-packet.h: ns3::Time ns3::aodv::RrepHeader::GetLifeTime() const [member function]
+ cls.add_method('GetLifeTime',
+ 'ns3::Time',
+ [],
+ is_const=True)
+ ## aodv-packet.h: ns3::Ipv4Address ns3::aodv::RrepHeader::GetOrigin() const [member function]
+ cls.add_method('GetOrigin',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
+ ## aodv-packet.h: uint8_t ns3::aodv::RrepHeader::GetPrefixSize() const [member function]
+ cls.add_method('GetPrefixSize',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## aodv-packet.h: uint32_t ns3::aodv::RrepHeader::GetSerializedSize() const [member function]
+ cls.add_method('GetSerializedSize',
+ 'uint32_t',
+ [],
+ is_const=True, is_virtual=True)
+ ## aodv-packet.h: static ns3::TypeId ns3::aodv::RrepHeader::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## aodv-packet.h: void ns3::aodv::RrepHeader::Print(std::ostream & os) const [member function]
+ cls.add_method('Print',
+ 'void',
+ [param('std::ostream &', 'os')],
+ is_const=True, is_virtual=True)
+ ## aodv-packet.h: void ns3::aodv::RrepHeader::Serialize(ns3::Buffer::Iterator start) const [member function]
+ cls.add_method('Serialize',
+ 'void',
+ [param('ns3::Buffer::Iterator', 'start')],
+ is_const=True, is_virtual=True)
+ ## aodv-packet.h: void ns3::aodv::RrepHeader::SetAckRequired(bool f) [member function]
+ cls.add_method('SetAckRequired',
+ 'void',
+ [param('bool', 'f')])
+ ## aodv-packet.h: void ns3::aodv::RrepHeader::SetDst(ns3::Ipv4Address a) [member function]
+ cls.add_method('SetDst',
+ 'void',
+ [param('ns3::Ipv4Address', 'a')])
+ ## aodv-packet.h: void ns3::aodv::RrepHeader::SetDstSeqno(uint32_t s) [member function]
+ cls.add_method('SetDstSeqno',
+ 'void',
+ [param('uint32_t', 's')])
+ ## aodv-packet.h: void ns3::aodv::RrepHeader::SetHello(ns3::Ipv4Address src, uint32_t srcSeqNo, ns3::Time lifetime) [member function]
+ cls.add_method('SetHello',
+ 'void',
+ [param('ns3::Ipv4Address', 'src'), param('uint32_t', 'srcSeqNo'), param('ns3::Time', 'lifetime')])
+ ## aodv-packet.h: void ns3::aodv::RrepHeader::SetHopCount(uint8_t count) [member function]
+ cls.add_method('SetHopCount',
+ 'void',
+ [param('uint8_t', 'count')])
+ ## aodv-packet.h: void ns3::aodv::RrepHeader::SetLifeTime(ns3::Time t) [member function]
+ cls.add_method('SetLifeTime',
+ 'void',
+ [param('ns3::Time', 't')])
+ ## aodv-packet.h: void ns3::aodv::RrepHeader::SetOrigin(ns3::Ipv4Address a) [member function]
+ cls.add_method('SetOrigin',
+ 'void',
+ [param('ns3::Ipv4Address', 'a')])
+ ## aodv-packet.h: void ns3::aodv::RrepHeader::SetPrefixSize(uint8_t sz) [member function]
+ cls.add_method('SetPrefixSize',
+ 'void',
+ [param('uint8_t', 'sz')])
+ return
+
+def register_Ns3AodvRreqHeader_methods(root_module, cls):
+ cls.add_output_stream_operator()
+ cls.add_binary_comparison_operator('==')
+ ## aodv-packet.h: ns3::aodv::RreqHeader::RreqHeader(ns3::aodv::RreqHeader const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::aodv::RreqHeader const &', 'arg0')])
+ ## aodv-packet.h: ns3::aodv::RreqHeader::RreqHeader(uint8_t flags=0, uint8_t reserved=0, uint8_t hopCount=0, uint32_t requestID=0, ns3::Ipv4Address dst=ns3::Ipv4Address(), uint32_t dstSeqNo=0, ns3::Ipv4Address origin=ns3::Ipv4Address(), uint32_t originSeqNo=0) [constructor]
+ cls.add_constructor([param('uint8_t', 'flags', default_value='0'), param('uint8_t', 'reserved', default_value='0'), param('uint8_t', 'hopCount', default_value='0'), param('uint32_t', 'requestID', default_value='0'), param('ns3::Ipv4Address', 'dst', default_value='ns3::Ipv4Address()'), param('uint32_t', 'dstSeqNo', default_value='0'), param('ns3::Ipv4Address', 'origin', default_value='ns3::Ipv4Address()'), param('uint32_t', 'originSeqNo', default_value='0')])
+ ## aodv-packet.h: uint32_t ns3::aodv::RreqHeader::Deserialize(ns3::Buffer::Iterator start) [member function]
+ cls.add_method('Deserialize',
+ 'uint32_t',
+ [param('ns3::Buffer::Iterator', 'start')],
+ is_virtual=True)
+ ## aodv-packet.h: bool ns3::aodv::RreqHeader::GetDestinationOnly() const [member function]
+ cls.add_method('GetDestinationOnly',
+ 'bool',
+ [],
+ is_const=True)
+ ## aodv-packet.h: ns3::Ipv4Address ns3::aodv::RreqHeader::GetDst() const [member function]
+ cls.add_method('GetDst',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
+ ## aodv-packet.h: uint32_t ns3::aodv::RreqHeader::GetDstSeqno() const [member function]
+ cls.add_method('GetDstSeqno',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## aodv-packet.h: bool ns3::aodv::RreqHeader::GetGratiousRrep() const [member function]
+ cls.add_method('GetGratiousRrep',
+ 'bool',
+ [],
+ is_const=True)
+ ## aodv-packet.h: uint8_t ns3::aodv::RreqHeader::GetHopCount() const [member function]
+ cls.add_method('GetHopCount',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## aodv-packet.h: uint32_t ns3::aodv::RreqHeader::GetId() const [member function]
+ cls.add_method('GetId',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## aodv-packet.h: ns3::TypeId ns3::aodv::RreqHeader::GetInstanceTypeId() const [member function]
+ cls.add_method('GetInstanceTypeId',
+ 'ns3::TypeId',
+ [],
+ is_const=True, is_virtual=True)
+ ## aodv-packet.h: ns3::Ipv4Address ns3::aodv::RreqHeader::GetOrigin() const [member function]
+ cls.add_method('GetOrigin',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
+ ## aodv-packet.h: uint32_t ns3::aodv::RreqHeader::GetOriginSeqno() const [member function]
+ cls.add_method('GetOriginSeqno',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## aodv-packet.h: uint32_t ns3::aodv::RreqHeader::GetSerializedSize() const [member function]
+ cls.add_method('GetSerializedSize',
+ 'uint32_t',
+ [],
+ is_const=True, is_virtual=True)
+ ## aodv-packet.h: static ns3::TypeId ns3::aodv::RreqHeader::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## aodv-packet.h: bool ns3::aodv::RreqHeader::GetUnknownSeqno() const [member function]
+ cls.add_method('GetUnknownSeqno',
+ 'bool',
+ [],
+ is_const=True)
+ ## aodv-packet.h: void ns3::aodv::RreqHeader::Print(std::ostream & os) const [member function]
+ cls.add_method('Print',
+ 'void',
+ [param('std::ostream &', 'os')],
+ is_const=True, is_virtual=True)
+ ## aodv-packet.h: void ns3::aodv::RreqHeader::Serialize(ns3::Buffer::Iterator start) const [member function]
+ cls.add_method('Serialize',
+ 'void',
+ [param('ns3::Buffer::Iterator', 'start')],
+ is_const=True, is_virtual=True)
+ ## aodv-packet.h: void ns3::aodv::RreqHeader::SetDestinationOnly(bool f) [member function]
+ cls.add_method('SetDestinationOnly',
+ 'void',
+ [param('bool', 'f')])
+ ## aodv-packet.h: void ns3::aodv::RreqHeader::SetDst(ns3::Ipv4Address a) [member function]
+ cls.add_method('SetDst',
+ 'void',
+ [param('ns3::Ipv4Address', 'a')])
+ ## aodv-packet.h: void ns3::aodv::RreqHeader::SetDstSeqno(uint32_t s) [member function]
+ cls.add_method('SetDstSeqno',
+ 'void',
+ [param('uint32_t', 's')])
+ ## aodv-packet.h: void ns3::aodv::RreqHeader::SetGratiousRrep(bool f) [member function]
+ cls.add_method('SetGratiousRrep',
+ 'void',
+ [param('bool', 'f')])
+ ## aodv-packet.h: void ns3::aodv::RreqHeader::SetHopCount(uint8_t count) [member function]
+ cls.add_method('SetHopCount',
+ 'void',
+ [param('uint8_t', 'count')])
+ ## aodv-packet.h: void ns3::aodv::RreqHeader::SetId(uint32_t id) [member function]
+ cls.add_method('SetId',
+ 'void',
+ [param('uint32_t', 'id')])
+ ## aodv-packet.h: void ns3::aodv::RreqHeader::SetOrigin(ns3::Ipv4Address a) [member function]
+ cls.add_method('SetOrigin',
+ 'void',
+ [param('ns3::Ipv4Address', 'a')])
+ ## aodv-packet.h: void ns3::aodv::RreqHeader::SetOriginSeqno(uint32_t s) [member function]
+ cls.add_method('SetOriginSeqno',
+ 'void',
+ [param('uint32_t', 's')])
+ ## aodv-packet.h: void ns3::aodv::RreqHeader::SetUnknownSeqno(bool f) [member function]
+ cls.add_method('SetUnknownSeqno',
+ 'void',
+ [param('bool', 'f')])
+ return
+
+def register_Ns3AodvTypeHeader_methods(root_module, cls):
+ cls.add_output_stream_operator()
+ cls.add_binary_comparison_operator('==')
+ ## aodv-packet.h: ns3::aodv::TypeHeader::TypeHeader(ns3::aodv::TypeHeader const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::aodv::TypeHeader const &', 'arg0')])
+ ## aodv-packet.h: ns3::aodv::TypeHeader::TypeHeader(ns3::aodv::MessageType t) [constructor]
+ cls.add_constructor([param('ns3::aodv::MessageType', 't')])
+ ## aodv-packet.h: uint32_t ns3::aodv::TypeHeader::Deserialize(ns3::Buffer::Iterator start) [member function]
+ cls.add_method('Deserialize',
+ 'uint32_t',
+ [param('ns3::Buffer::Iterator', 'start')],
+ is_virtual=True)
+ ## aodv-packet.h: ns3::aodv::MessageType ns3::aodv::TypeHeader::Get() const [member function]
+ cls.add_method('Get',
+ 'ns3::aodv::MessageType',
+ [],
+ is_const=True)
+ ## aodv-packet.h: ns3::TypeId ns3::aodv::TypeHeader::GetInstanceTypeId() const [member function]
+ cls.add_method('GetInstanceTypeId',
+ 'ns3::TypeId',
+ [],
+ is_const=True, is_virtual=True)
+ ## aodv-packet.h: uint32_t ns3::aodv::TypeHeader::GetSerializedSize() const [member function]
+ cls.add_method('GetSerializedSize',
+ 'uint32_t',
+ [],
+ is_const=True, is_virtual=True)
+ ## aodv-packet.h: static ns3::TypeId ns3::aodv::TypeHeader::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## aodv-packet.h: bool ns3::aodv::TypeHeader::IsValid() const [member function]
+ cls.add_method('IsValid',
+ 'bool',
+ [],
+ is_const=True)
+ ## aodv-packet.h: void ns3::aodv::TypeHeader::Print(std::ostream & os) const [member function]
+ cls.add_method('Print',
+ 'void',
+ [param('std::ostream &', 'os')],
+ is_const=True, is_virtual=True)
+ ## aodv-packet.h: void ns3::aodv::TypeHeader::Serialize(ns3::Buffer::Iterator start) const [member function]
+ cls.add_method('Serialize',
+ 'void',
+ [param('ns3::Buffer::Iterator', 'start')],
+ is_const=True, is_virtual=True)
+ return
+
+def register_functions(root_module):
+ module = root_module
+ register_functions_ns3_Config(module.get_submodule('Config'), root_module)
+ register_functions_ns3_FatalImpl(module.get_submodule('FatalImpl'), root_module)
+ register_functions_ns3_addressUtils(module.get_submodule('addressUtils'), root_module)
+ register_functions_ns3_aodv(module.get_submodule('aodv'), root_module)
+ register_functions_ns3_dot11s(module.get_submodule('dot11s'), root_module)
+ register_functions_ns3_dsdv(module.get_submodule('dsdv'), root_module)
+ register_functions_ns3_flame(module.get_submodule('flame'), root_module)
+ register_functions_ns3_internal(module.get_submodule('internal'), root_module)
+ register_functions_ns3_olsr(module.get_submodule('olsr'), root_module)
+ return
+
+def register_functions_ns3_Config(module, root_module):
+ return
+
+def register_functions_ns3_FatalImpl(module, root_module):
+ return
+
+def register_functions_ns3_addressUtils(module, root_module):
+ return
+
+def register_functions_ns3_aodv(module, root_module):
+ return
+
+def register_functions_ns3_dot11s(module, root_module):
+ return
+
+def register_functions_ns3_dsdv(module, root_module):
+ return
+
+def register_functions_ns3_flame(module, root_module):
+ return
+
+def register_functions_ns3_internal(module, root_module):
+ return
+
+def register_functions_ns3_olsr(module, root_module):
+ return
+
diff --git a/code/bindings/python/apidefs/gcc-ILP32/ns3_module_bridge.py b/code/bindings/python/apidefs/gcc-ILP32/ns3_module_bridge.py
new file mode 100644
index 0000000..a37d20d
--- /dev/null
+++ b/code/bindings/python/apidefs/gcc-ILP32/ns3_module_bridge.py
@@ -0,0 +1,139 @@
+from pybindgen import Module, FileCodeSink, param, retval, cppclass, typehandlers
+
+def register_types(module):
+ root_module = module.get_root()
+
+
+ ## Register a nested module for the namespace Config
+
+ nested_module = module.add_cpp_namespace('Config')
+ register_types_ns3_Config(nested_module)
+
+
+ ## Register a nested module for the namespace FatalImpl
+
+ nested_module = module.add_cpp_namespace('FatalImpl')
+ register_types_ns3_FatalImpl(nested_module)
+
+
+ ## Register a nested module for the namespace addressUtils
+
+ nested_module = module.add_cpp_namespace('addressUtils')
+ register_types_ns3_addressUtils(nested_module)
+
+
+ ## Register a nested module for the namespace aodv
+
+ nested_module = module.add_cpp_namespace('aodv')
+ register_types_ns3_aodv(nested_module)
+
+
+ ## Register a nested module for the namespace dot11s
+
+ nested_module = module.add_cpp_namespace('dot11s')
+ register_types_ns3_dot11s(nested_module)
+
+
+ ## Register a nested module for the namespace dsdv
+
+ nested_module = module.add_cpp_namespace('dsdv')
+ register_types_ns3_dsdv(nested_module)
+
+
+ ## Register a nested module for the namespace flame
+
+ nested_module = module.add_cpp_namespace('flame')
+ register_types_ns3_flame(nested_module)
+
+
+ ## Register a nested module for the namespace internal
+
+ nested_module = module.add_cpp_namespace('internal')
+ register_types_ns3_internal(nested_module)
+
+
+ ## Register a nested module for the namespace olsr
+
+ nested_module = module.add_cpp_namespace('olsr')
+ register_types_ns3_olsr(nested_module)
+
+
+def register_types_ns3_Config(module):
+ root_module = module.get_root()
+
+
+def register_types_ns3_FatalImpl(module):
+ root_module = module.get_root()
+
+
+def register_types_ns3_addressUtils(module):
+ root_module = module.get_root()
+
+
+def register_types_ns3_aodv(module):
+ root_module = module.get_root()
+
+
+def register_types_ns3_dot11s(module):
+ root_module = module.get_root()
+
+
+def register_types_ns3_dsdv(module):
+ root_module = module.get_root()
+
+
+def register_types_ns3_flame(module):
+ root_module = module.get_root()
+
+
+def register_types_ns3_internal(module):
+ root_module = module.get_root()
+
+
+def register_types_ns3_olsr(module):
+ root_module = module.get_root()
+
+
+def register_methods(root_module):
+ return
+
+def register_functions(root_module):
+ module = root_module
+ register_functions_ns3_Config(module.get_submodule('Config'), root_module)
+ register_functions_ns3_FatalImpl(module.get_submodule('FatalImpl'), root_module)
+ register_functions_ns3_addressUtils(module.get_submodule('addressUtils'), root_module)
+ register_functions_ns3_aodv(module.get_submodule('aodv'), root_module)
+ register_functions_ns3_dot11s(module.get_submodule('dot11s'), root_module)
+ register_functions_ns3_dsdv(module.get_submodule('dsdv'), root_module)
+ register_functions_ns3_flame(module.get_submodule('flame'), root_module)
+ register_functions_ns3_internal(module.get_submodule('internal'), root_module)
+ register_functions_ns3_olsr(module.get_submodule('olsr'), root_module)
+ return
+
+def register_functions_ns3_Config(module, root_module):
+ return
+
+def register_functions_ns3_FatalImpl(module, root_module):
+ return
+
+def register_functions_ns3_addressUtils(module, root_module):
+ return
+
+def register_functions_ns3_aodv(module, root_module):
+ return
+
+def register_functions_ns3_dot11s(module, root_module):
+ return
+
+def register_functions_ns3_dsdv(module, root_module):
+ return
+
+def register_functions_ns3_flame(module, root_module):
+ return
+
+def register_functions_ns3_internal(module, root_module):
+ return
+
+def register_functions_ns3_olsr(module, root_module):
+ return
+
diff --git a/code/bindings/python/apidefs/gcc-ILP32/ns3_module_bulk_send.py b/code/bindings/python/apidefs/gcc-ILP32/ns3_module_bulk_send.py
new file mode 100644
index 0000000..fffa271
--- /dev/null
+++ b/code/bindings/python/apidefs/gcc-ILP32/ns3_module_bulk_send.py
@@ -0,0 +1,178 @@
+from pybindgen import Module, FileCodeSink, param, retval, cppclass, typehandlers
+
+def register_types(module):
+ root_module = module.get_root()
+
+ ## bulk-send-application.h: ns3::BulkSendApplication [class]
+ module.add_class('BulkSendApplication', parent=root_module['ns3::Application'])
+
+ ## Register a nested module for the namespace Config
+
+ nested_module = module.add_cpp_namespace('Config')
+ register_types_ns3_Config(nested_module)
+
+
+ ## Register a nested module for the namespace FatalImpl
+
+ nested_module = module.add_cpp_namespace('FatalImpl')
+ register_types_ns3_FatalImpl(nested_module)
+
+
+ ## Register a nested module for the namespace addressUtils
+
+ nested_module = module.add_cpp_namespace('addressUtils')
+ register_types_ns3_addressUtils(nested_module)
+
+
+ ## Register a nested module for the namespace aodv
+
+ nested_module = module.add_cpp_namespace('aodv')
+ register_types_ns3_aodv(nested_module)
+
+
+ ## Register a nested module for the namespace dot11s
+
+ nested_module = module.add_cpp_namespace('dot11s')
+ register_types_ns3_dot11s(nested_module)
+
+
+ ## Register a nested module for the namespace dsdv
+
+ nested_module = module.add_cpp_namespace('dsdv')
+ register_types_ns3_dsdv(nested_module)
+
+
+ ## Register a nested module for the namespace flame
+
+ nested_module = module.add_cpp_namespace('flame')
+ register_types_ns3_flame(nested_module)
+
+
+ ## Register a nested module for the namespace internal
+
+ nested_module = module.add_cpp_namespace('internal')
+ register_types_ns3_internal(nested_module)
+
+
+ ## Register a nested module for the namespace olsr
+
+ nested_module = module.add_cpp_namespace('olsr')
+ register_types_ns3_olsr(nested_module)
+
+
+def register_types_ns3_Config(module):
+ root_module = module.get_root()
+
+
+def register_types_ns3_FatalImpl(module):
+ root_module = module.get_root()
+
+
+def register_types_ns3_addressUtils(module):
+ root_module = module.get_root()
+
+
+def register_types_ns3_aodv(module):
+ root_module = module.get_root()
+
+
+def register_types_ns3_dot11s(module):
+ root_module = module.get_root()
+
+
+def register_types_ns3_dsdv(module):
+ root_module = module.get_root()
+
+
+def register_types_ns3_flame(module):
+ root_module = module.get_root()
+
+
+def register_types_ns3_internal(module):
+ root_module = module.get_root()
+
+
+def register_types_ns3_olsr(module):
+ root_module = module.get_root()
+
+
+def register_methods(root_module):
+ register_Ns3BulkSendApplication_methods(root_module, root_module['ns3::BulkSendApplication'])
+ return
+
+def register_Ns3BulkSendApplication_methods(root_module, cls):
+ ## bulk-send-application.h: ns3::BulkSendApplication::BulkSendApplication(ns3::BulkSendApplication const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::BulkSendApplication const &', 'arg0')])
+ ## bulk-send-application.h: ns3::BulkSendApplication::BulkSendApplication() [constructor]
+ cls.add_constructor([])
+ ## bulk-send-application.h: ns3::Ptr ns3::BulkSendApplication::GetSocket() const [member function]
+ cls.add_method('GetSocket',
+ 'ns3::Ptr< ns3::Socket >',
+ [],
+ is_const=True)
+ ## bulk-send-application.h: static ns3::TypeId ns3::BulkSendApplication::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## bulk-send-application.h: void ns3::BulkSendApplication::SetMaxBytes(uint32_t maxBytes) [member function]
+ cls.add_method('SetMaxBytes',
+ 'void',
+ [param('uint32_t', 'maxBytes')])
+ ## bulk-send-application.h: void ns3::BulkSendApplication::DoDispose() [member function]
+ cls.add_method('DoDispose',
+ 'void',
+ [],
+ visibility='protected', is_virtual=True)
+ ## bulk-send-application.h: void ns3::BulkSendApplication::StartApplication() [member function]
+ cls.add_method('StartApplication',
+ 'void',
+ [],
+ visibility='private', is_virtual=True)
+ ## bulk-send-application.h: void ns3::BulkSendApplication::StopApplication() [member function]
+ cls.add_method('StopApplication',
+ 'void',
+ [],
+ visibility='private', is_virtual=True)
+ return
+
+def register_functions(root_module):
+ module = root_module
+ register_functions_ns3_Config(module.get_submodule('Config'), root_module)
+ register_functions_ns3_FatalImpl(module.get_submodule('FatalImpl'), root_module)
+ register_functions_ns3_addressUtils(module.get_submodule('addressUtils'), root_module)
+ register_functions_ns3_aodv(module.get_submodule('aodv'), root_module)
+ register_functions_ns3_dot11s(module.get_submodule('dot11s'), root_module)
+ register_functions_ns3_dsdv(module.get_submodule('dsdv'), root_module)
+ register_functions_ns3_flame(module.get_submodule('flame'), root_module)
+ register_functions_ns3_internal(module.get_submodule('internal'), root_module)
+ register_functions_ns3_olsr(module.get_submodule('olsr'), root_module)
+ return
+
+def register_functions_ns3_Config(module, root_module):
+ return
+
+def register_functions_ns3_FatalImpl(module, root_module):
+ return
+
+def register_functions_ns3_addressUtils(module, root_module):
+ return
+
+def register_functions_ns3_aodv(module, root_module):
+ return
+
+def register_functions_ns3_dot11s(module, root_module):
+ return
+
+def register_functions_ns3_dsdv(module, root_module):
+ return
+
+def register_functions_ns3_flame(module, root_module):
+ return
+
+def register_functions_ns3_internal(module, root_module):
+ return
+
+def register_functions_ns3_olsr(module, root_module):
+ return
+
diff --git a/code/bindings/python/apidefs/gcc-ILP32/ns3_module_common.py b/code/bindings/python/apidefs/gcc-ILP32/ns3_module_common.py
new file mode 100644
index 0000000..2d14dae
--- /dev/null
+++ b/code/bindings/python/apidefs/gcc-ILP32/ns3_module_common.py
@@ -0,0 +1,2442 @@
+from pybindgen import Module, FileCodeSink, param, retval, cppclass, typehandlers
+
+def register_types(module):
+ root_module = module.get_root()
+
+ ## error-model.h: ns3::ErrorUnit [enumeration]
+ module.add_enum('ErrorUnit', ['EU_BIT', 'EU_BYTE', 'EU_PKT'])
+ ## spectrum-model.h: ns3::BandInfo [struct]
+ module.add_class('BandInfo')
+ ## buffer.h: ns3::Buffer [class]
+ module.add_class('Buffer')
+ ## buffer.h: ns3::Buffer::Iterator [class]
+ module.add_class('Iterator', outer_class=root_module['ns3::Buffer'])
+ ## packet.h: ns3::ByteTagIterator [class]
+ module.add_class('ByteTagIterator')
+ ## packet.h: ns3::ByteTagIterator::Item [class]
+ module.add_class('Item', outer_class=root_module['ns3::ByteTagIterator'])
+ ## byte-tag-list.h: ns3::ByteTagList [class]
+ module.add_class('ByteTagList')
+ ## byte-tag-list.h: ns3::ByteTagList::Iterator [class]
+ module.add_class('Iterator', outer_class=root_module['ns3::ByteTagList'])
+ ## byte-tag-list.h: ns3::ByteTagList::Iterator::Item [struct]
+ module.add_class('Item', outer_class=root_module['ns3::ByteTagList::Iterator'])
+ ## data-rate.h: ns3::DataRate [class]
+ module.add_class('DataRate')
+ ## packet-metadata.h: ns3::PacketMetadata [class]
+ module.add_class('PacketMetadata')
+ ## packet-metadata.h: ns3::PacketMetadata::Item [struct]
+ module.add_class('Item', outer_class=root_module['ns3::PacketMetadata'])
+ ## packet-metadata.h: ns3::PacketMetadata::Item [enumeration]
+ module.add_enum('', ['PAYLOAD', 'HEADER', 'TRAILER'], outer_class=root_module['ns3::PacketMetadata::Item'])
+ ## packet-metadata.h: ns3::PacketMetadata::ItemIterator [class]
+ module.add_class('ItemIterator', outer_class=root_module['ns3::PacketMetadata'])
+ ## packet.h: ns3::PacketTagIterator [class]
+ module.add_class('PacketTagIterator')
+ ## packet.h: ns3::PacketTagIterator::Item [class]
+ module.add_class('Item', outer_class=root_module['ns3::PacketTagIterator'])
+ ## packet-tag-list.h: ns3::PacketTagList [class]
+ module.add_class('PacketTagList')
+ ## packet-tag-list.h: ns3::PacketTagList::TagData [struct]
+ module.add_class('TagData', outer_class=root_module['ns3::PacketTagList'])
+ ## pcap-file.h: ns3::PcapFile [class]
+ module.add_class('PcapFile')
+ ## sequence-number.h: ns3::SequenceNumber [class]
+ module.add_class('SequenceNumber32')
+ ## spectrum-type.h: ns3::SpectrumType [class]
+ module.add_class('SpectrumType')
+ ## spectrum-type.h: ns3::SpectrumTypeFactory [class]
+ module.add_class('SpectrumTypeFactory')
+ ## tag.h: ns3::Tag [class]
+ module.add_class('Tag', parent=root_module['ns3::ObjectBase'])
+ ## tag-buffer.h: ns3::TagBuffer [class]
+ module.add_class('TagBuffer')
+ ## chunk.h: ns3::Chunk [class]
+ module.add_class('Chunk', parent=root_module['ns3::ObjectBase'])
+ ## header.h: ns3::Header [class]
+ module.add_class('Header', parent=root_module['ns3::Chunk'])
+ ## packet-burst.h: ns3::PacketBurst [class]
+ module.add_class('PacketBurst', parent=root_module['ns3::Object'])
+ ## pcap-file-wrapper.h: ns3::PcapFileWrapper [class]
+ module.add_class('PcapFileWrapper', parent=root_module['ns3::Object'])
+ ## propagation-delay-model.h: ns3::PropagationDelayModel [class]
+ module.add_class('PropagationDelayModel', parent=root_module['ns3::Object'])
+ ## propagation-loss-model.h: ns3::PropagationLossModel [class]
+ module.add_class('PropagationLossModel', parent=root_module['ns3::Object'])
+ ## propagation-delay-model.h: ns3::RandomPropagationDelayModel [class]
+ module.add_class('RandomPropagationDelayModel', parent=root_module['ns3::PropagationDelayModel'])
+ ## propagation-loss-model.h: ns3::RandomPropagationLossModel [class]
+ module.add_class('RandomPropagationLossModel', parent=root_module['ns3::PropagationLossModel'])
+ ## propagation-loss-model.h: ns3::RangePropagationLossModel [class]
+ module.add_class('RangePropagationLossModel', parent=root_module['ns3::PropagationLossModel'])
+ ## simple-ref-count.h: ns3::SimpleRefCount > [class]
+ module.add_class('SimpleRefCount', automatic_type_narrowing=True, template_parameters=['ns3::NixVector', 'ns3::empty', 'ns3::DefaultDeleter'], parent=root_module['ns3::empty'], memory_policy=cppclass.ReferenceCountingMethodsPolicy(incref_method='Ref', decref_method='Unref', peekref_method='GetReferenceCount'))
+ ## simple-ref-count.h: ns3::SimpleRefCount > [class]
+ module.add_class('SimpleRefCount', automatic_type_narrowing=True, template_parameters=['ns3::OutputStreamWrapper', 'ns3::empty', 'ns3::DefaultDeleter'], parent=root_module['ns3::empty'], memory_policy=cppclass.ReferenceCountingMethodsPolicy(incref_method='Ref', decref_method='Unref', peekref_method='GetReferenceCount'))
+ ## simple-ref-count.h: ns3::SimpleRefCount > [class]
+ module.add_class('SimpleRefCount', automatic_type_narrowing=True, template_parameters=['ns3::Packet', 'ns3::empty', 'ns3::DefaultDeleter'], parent=root_module['ns3::empty'], memory_policy=cppclass.ReferenceCountingMethodsPolicy(incref_method='Ref', decref_method='Unref', peekref_method='GetReferenceCount'))
+ ## simple-ref-count.h: ns3::SimpleRefCount > [class]
+ module.add_class('SimpleRefCount', automatic_type_narrowing=True, template_parameters=['ns3::SpectrumConverter', 'ns3::empty', 'ns3::DefaultDeleter'], parent=root_module['ns3::empty'], memory_policy=cppclass.ReferenceCountingMethodsPolicy(incref_method='Ref', decref_method='Unref', peekref_method='GetReferenceCount'))
+ ## simple-ref-count.h: ns3::SimpleRefCount > [class]
+ module.add_class('SimpleRefCount', automatic_type_narrowing=True, template_parameters=['ns3::SpectrumModel', 'ns3::empty', 'ns3::DefaultDeleter'], parent=root_module['ns3::empty'], memory_policy=cppclass.ReferenceCountingMethodsPolicy(incref_method='Ref', decref_method='Unref', peekref_method='GetReferenceCount'))
+ ## simple-ref-count.h: ns3::SimpleRefCount > [class]
+ module.add_class('SimpleRefCount', automatic_type_narrowing=True, template_parameters=['ns3::SpectrumValue', 'ns3::empty', 'ns3::DefaultDeleter'], parent=root_module['ns3::empty'], memory_policy=cppclass.ReferenceCountingMethodsPolicy(incref_method='Ref', decref_method='Unref', peekref_method='GetReferenceCount'))
+ ## spectrum-converter.h: ns3::SpectrumConverter [class]
+ module.add_class('SpectrumConverter', parent=root_module['ns3::SimpleRefCount< ns3::SpectrumConverter, ns3::empty, ns3::DefaultDeleter >'])
+ ## spectrum-model.h: ns3::SpectrumModel [class]
+ module.add_class('SpectrumModel', parent=root_module['ns3::SimpleRefCount< ns3::SpectrumModel, ns3::empty, ns3::DefaultDeleter >'])
+ ## spectrum-propagation-loss-model.h: ns3::SpectrumPropagationLossModel [class]
+ module.add_class('SpectrumPropagationLossModel', parent=root_module['ns3::Object'])
+ ## spectrum-value.h: ns3::SpectrumValue [class]
+ module.add_class('SpectrumValue', parent=root_module['ns3::SimpleRefCount< ns3::SpectrumValue, ns3::empty, ns3::DefaultDeleter >'])
+ ## propagation-loss-model.h: ns3::ThreeLogDistancePropagationLossModel [class]
+ module.add_class('ThreeLogDistancePropagationLossModel', parent=root_module['ns3::PropagationLossModel'])
+ ## trailer.h: ns3::Trailer [class]
+ module.add_class('Trailer', parent=root_module['ns3::Chunk'])
+ ## propagation-loss-model.h: ns3::TwoRayGroundPropagationLossModel [class]
+ module.add_class('TwoRayGroundPropagationLossModel', parent=root_module['ns3::PropagationLossModel'])
+ ## propagation-delay-model.h: ns3::ConstantSpeedPropagationDelayModel [class]
+ module.add_class('ConstantSpeedPropagationDelayModel', parent=root_module['ns3::PropagationDelayModel'])
+ ## cost231-propagation-loss-model.h: ns3::Cost231PropagationLossModel [class]
+ module.add_class('Cost231PropagationLossModel', parent=root_module['ns3::PropagationLossModel'])
+ ## cost231-propagation-loss-model.h: ns3::Cost231PropagationLossModel::Environment [enumeration]
+ module.add_enum('Environment', ['SubUrban', 'MediumCity', 'Metropolitan'], outer_class=root_module['ns3::Cost231PropagationLossModel'])
+ ## data-rate.h: ns3::DataRateChecker [class]
+ module.add_class('DataRateChecker', parent=root_module['ns3::AttributeChecker'])
+ ## data-rate.h: ns3::DataRateValue [class]
+ module.add_class('DataRateValue', parent=root_module['ns3::AttributeValue'])
+ ## error-model.h: ns3::ErrorModel [class]
+ module.add_class('ErrorModel', parent=root_module['ns3::Object'])
+ ## propagation-loss-model.h: ns3::FixedRssLossModel [class]
+ module.add_class('FixedRssLossModel', parent=root_module['ns3::PropagationLossModel'])
+ ## propagation-loss-model.h: ns3::FriisPropagationLossModel [class]
+ module.add_class('FriisPropagationLossModel', parent=root_module['ns3::PropagationLossModel'])
+ ## friis-spectrum-propagation-loss.h: ns3::FriisSpectrumPropagationLossModel [class]
+ module.add_class('FriisSpectrumPropagationLossModel', parent=root_module['ns3::SpectrumPropagationLossModel'])
+ ## jakes-propagation-loss-model.h: ns3::JakesPropagationLossModel [class]
+ module.add_class('JakesPropagationLossModel', parent=root_module['ns3::PropagationLossModel'])
+ ## error-model.h: ns3::ListErrorModel [class]
+ module.add_class('ListErrorModel', parent=root_module['ns3::ErrorModel'])
+ ## propagation-loss-model.h: ns3::LogDistancePropagationLossModel [class]
+ module.add_class('LogDistancePropagationLossModel', parent=root_module['ns3::PropagationLossModel'])
+ ## propagation-loss-model.h: ns3::MatrixPropagationLossModel [class]
+ module.add_class('MatrixPropagationLossModel', parent=root_module['ns3::PropagationLossModel'])
+ ## propagation-loss-model.h: ns3::NakagamiPropagationLossModel [class]
+ module.add_class('NakagamiPropagationLossModel', parent=root_module['ns3::PropagationLossModel'])
+ ## nix-vector.h: ns3::NixVector [class]
+ module.add_class('NixVector', parent=root_module['ns3::SimpleRefCount< ns3::NixVector, ns3::empty, ns3::DefaultDeleter >'])
+ ## output-stream-wrapper.h: ns3::OutputStreamWrapper [class]
+ module.add_class('OutputStreamWrapper', parent=root_module['ns3::SimpleRefCount< ns3::OutputStreamWrapper, ns3::empty, ns3::DefaultDeleter >'])
+ ## packet.h: ns3::Packet [class]
+ module.add_class('Packet', parent=root_module['ns3::SimpleRefCount< ns3::Packet, ns3::empty, ns3::DefaultDeleter >'])
+ ## error-model.h: ns3::RateErrorModel [class]
+ module.add_class('RateErrorModel', parent=root_module['ns3::ErrorModel'])
+ ## error-model.h: ns3::ReceiveListErrorModel [class]
+ module.add_class('ReceiveListErrorModel', parent=root_module['ns3::ErrorModel'])
+ module.add_container('ns3::SpectrumConverterMap_t', ('unsigned int', 'ns3::SpectrumConverter'), container_type='map')
+ module.add_container('ns3::Bands', 'ns3::BandInfo', container_type='vector')
+ typehandlers.add_type_alias('ns3::SequenceNumber< short unsigned int, short int >', 'ns3::SequenceNumber16')
+ typehandlers.add_type_alias('ns3::SequenceNumber< short unsigned int, short int >*', 'ns3::SequenceNumber16*')
+ typehandlers.add_type_alias('ns3::SequenceNumber< short unsigned int, short int >&', 'ns3::SequenceNumber16&')
+ typehandlers.add_type_alias('ns3::SequenceNumber< unsigned int, int >', 'ns3::SequenceNumber32')
+ typehandlers.add_type_alias('ns3::SequenceNumber< unsigned int, int >*', 'ns3::SequenceNumber32*')
+ typehandlers.add_type_alias('ns3::SequenceNumber< unsigned int, int >&', 'ns3::SequenceNumber32&')
+ typehandlers.add_type_alias('std::vector< double, std::allocator< double > >', 'ns3::Values')
+ typehandlers.add_type_alias('std::vector< double, std::allocator< double > >*', 'ns3::Values*')
+ typehandlers.add_type_alias('std::vector< double, std::allocator< double > >&', 'ns3::Values&')
+ typehandlers.add_type_alias('uint32_t', 'ns3::SpectrumModelUid_t')
+ typehandlers.add_type_alias('uint32_t*', 'ns3::SpectrumModelUid_t*')
+ typehandlers.add_type_alias('uint32_t&', 'ns3::SpectrumModelUid_t&')
+ typehandlers.add_type_alias('std::vector< ns3::BandInfo, std::allocator< ns3::BandInfo > >', 'ns3::Bands')
+ typehandlers.add_type_alias('std::vector< ns3::BandInfo, std::allocator< ns3::BandInfo > >*', 'ns3::Bands*')
+ typehandlers.add_type_alias('std::vector< ns3::BandInfo, std::allocator< ns3::BandInfo > >&', 'ns3::Bands&')
+
+ ## Register a nested module for the namespace Config
+
+ nested_module = module.add_cpp_namespace('Config')
+ register_types_ns3_Config(nested_module)
+
+
+ ## Register a nested module for the namespace FatalImpl
+
+ nested_module = module.add_cpp_namespace('FatalImpl')
+ register_types_ns3_FatalImpl(nested_module)
+
+
+ ## Register a nested module for the namespace addressUtils
+
+ nested_module = module.add_cpp_namespace('addressUtils')
+ register_types_ns3_addressUtils(nested_module)
+
+
+ ## Register a nested module for the namespace aodv
+
+ nested_module = module.add_cpp_namespace('aodv')
+ register_types_ns3_aodv(nested_module)
+
+
+ ## Register a nested module for the namespace dot11s
+
+ nested_module = module.add_cpp_namespace('dot11s')
+ register_types_ns3_dot11s(nested_module)
+
+
+ ## Register a nested module for the namespace dsdv
+
+ nested_module = module.add_cpp_namespace('dsdv')
+ register_types_ns3_dsdv(nested_module)
+
+
+ ## Register a nested module for the namespace flame
+
+ nested_module = module.add_cpp_namespace('flame')
+ register_types_ns3_flame(nested_module)
+
+
+ ## Register a nested module for the namespace internal
+
+ nested_module = module.add_cpp_namespace('internal')
+ register_types_ns3_internal(nested_module)
+
+
+ ## Register a nested module for the namespace olsr
+
+ nested_module = module.add_cpp_namespace('olsr')
+ register_types_ns3_olsr(nested_module)
+
+
+def register_types_ns3_Config(module):
+ root_module = module.get_root()
+
+
+def register_types_ns3_FatalImpl(module):
+ root_module = module.get_root()
+
+
+def register_types_ns3_addressUtils(module):
+ root_module = module.get_root()
+
+
+def register_types_ns3_aodv(module):
+ root_module = module.get_root()
+
+
+def register_types_ns3_dot11s(module):
+ root_module = module.get_root()
+
+
+def register_types_ns3_dsdv(module):
+ root_module = module.get_root()
+
+
+def register_types_ns3_flame(module):
+ root_module = module.get_root()
+
+
+def register_types_ns3_internal(module):
+ root_module = module.get_root()
+
+
+def register_types_ns3_olsr(module):
+ root_module = module.get_root()
+
+
+def register_methods(root_module):
+ register_Ns3BandInfo_methods(root_module, root_module['ns3::BandInfo'])
+ register_Ns3Buffer_methods(root_module, root_module['ns3::Buffer'])
+ register_Ns3BufferIterator_methods(root_module, root_module['ns3::Buffer::Iterator'])
+ register_Ns3ByteTagIterator_methods(root_module, root_module['ns3::ByteTagIterator'])
+ register_Ns3ByteTagIteratorItem_methods(root_module, root_module['ns3::ByteTagIterator::Item'])
+ register_Ns3ByteTagList_methods(root_module, root_module['ns3::ByteTagList'])
+ register_Ns3ByteTagListIterator_methods(root_module, root_module['ns3::ByteTagList::Iterator'])
+ register_Ns3ByteTagListIteratorItem_methods(root_module, root_module['ns3::ByteTagList::Iterator::Item'])
+ register_Ns3DataRate_methods(root_module, root_module['ns3::DataRate'])
+ register_Ns3PacketMetadata_methods(root_module, root_module['ns3::PacketMetadata'])
+ register_Ns3PacketMetadataItem_methods(root_module, root_module['ns3::PacketMetadata::Item'])
+ register_Ns3PacketMetadataItemIterator_methods(root_module, root_module['ns3::PacketMetadata::ItemIterator'])
+ register_Ns3PacketTagIterator_methods(root_module, root_module['ns3::PacketTagIterator'])
+ register_Ns3PacketTagIteratorItem_methods(root_module, root_module['ns3::PacketTagIterator::Item'])
+ register_Ns3PacketTagList_methods(root_module, root_module['ns3::PacketTagList'])
+ register_Ns3PacketTagListTagData_methods(root_module, root_module['ns3::PacketTagList::TagData'])
+ register_Ns3PcapFile_methods(root_module, root_module['ns3::PcapFile'])
+ register_Ns3SequenceNumber32_methods(root_module, root_module['ns3::SequenceNumber32'])
+ register_Ns3SpectrumType_methods(root_module, root_module['ns3::SpectrumType'])
+ register_Ns3SpectrumTypeFactory_methods(root_module, root_module['ns3::SpectrumTypeFactory'])
+ register_Ns3Tag_methods(root_module, root_module['ns3::Tag'])
+ register_Ns3TagBuffer_methods(root_module, root_module['ns3::TagBuffer'])
+ register_Ns3Chunk_methods(root_module, root_module['ns3::Chunk'])
+ register_Ns3Header_methods(root_module, root_module['ns3::Header'])
+ register_Ns3PacketBurst_methods(root_module, root_module['ns3::PacketBurst'])
+ register_Ns3PcapFileWrapper_methods(root_module, root_module['ns3::PcapFileWrapper'])
+ register_Ns3PropagationDelayModel_methods(root_module, root_module['ns3::PropagationDelayModel'])
+ register_Ns3PropagationLossModel_methods(root_module, root_module['ns3::PropagationLossModel'])
+ register_Ns3RandomPropagationDelayModel_methods(root_module, root_module['ns3::RandomPropagationDelayModel'])
+ register_Ns3RandomPropagationLossModel_methods(root_module, root_module['ns3::RandomPropagationLossModel'])
+ register_Ns3RangePropagationLossModel_methods(root_module, root_module['ns3::RangePropagationLossModel'])
+ register_Ns3SpectrumConverter_methods(root_module, root_module['ns3::SpectrumConverter'])
+ register_Ns3SpectrumModel_methods(root_module, root_module['ns3::SpectrumModel'])
+ register_Ns3SpectrumPropagationLossModel_methods(root_module, root_module['ns3::SpectrumPropagationLossModel'])
+ register_Ns3SpectrumValue_methods(root_module, root_module['ns3::SpectrumValue'])
+ register_Ns3ThreeLogDistancePropagationLossModel_methods(root_module, root_module['ns3::ThreeLogDistancePropagationLossModel'])
+ register_Ns3Trailer_methods(root_module, root_module['ns3::Trailer'])
+ register_Ns3TwoRayGroundPropagationLossModel_methods(root_module, root_module['ns3::TwoRayGroundPropagationLossModel'])
+ register_Ns3ConstantSpeedPropagationDelayModel_methods(root_module, root_module['ns3::ConstantSpeedPropagationDelayModel'])
+ register_Ns3Cost231PropagationLossModel_methods(root_module, root_module['ns3::Cost231PropagationLossModel'])
+ register_Ns3DataRateChecker_methods(root_module, root_module['ns3::DataRateChecker'])
+ register_Ns3DataRateValue_methods(root_module, root_module['ns3::DataRateValue'])
+ register_Ns3ErrorModel_methods(root_module, root_module['ns3::ErrorModel'])
+ register_Ns3FixedRssLossModel_methods(root_module, root_module['ns3::FixedRssLossModel'])
+ register_Ns3FriisPropagationLossModel_methods(root_module, root_module['ns3::FriisPropagationLossModel'])
+ register_Ns3FriisSpectrumPropagationLossModel_methods(root_module, root_module['ns3::FriisSpectrumPropagationLossModel'])
+ register_Ns3JakesPropagationLossModel_methods(root_module, root_module['ns3::JakesPropagationLossModel'])
+ register_Ns3ListErrorModel_methods(root_module, root_module['ns3::ListErrorModel'])
+ register_Ns3LogDistancePropagationLossModel_methods(root_module, root_module['ns3::LogDistancePropagationLossModel'])
+ register_Ns3MatrixPropagationLossModel_methods(root_module, root_module['ns3::MatrixPropagationLossModel'])
+ register_Ns3NakagamiPropagationLossModel_methods(root_module, root_module['ns3::NakagamiPropagationLossModel'])
+ register_Ns3NixVector_methods(root_module, root_module['ns3::NixVector'])
+ register_Ns3OutputStreamWrapper_methods(root_module, root_module['ns3::OutputStreamWrapper'])
+ register_Ns3Packet_methods(root_module, root_module['ns3::Packet'])
+ register_Ns3RateErrorModel_methods(root_module, root_module['ns3::RateErrorModel'])
+ register_Ns3ReceiveListErrorModel_methods(root_module, root_module['ns3::ReceiveListErrorModel'])
+ return
+
+def register_Ns3BandInfo_methods(root_module, cls):
+ ## spectrum-model.h: ns3::BandInfo::BandInfo() [constructor]
+ cls.add_constructor([])
+ ## spectrum-model.h: ns3::BandInfo::BandInfo(ns3::BandInfo const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::BandInfo const &', 'arg0')])
+ ## spectrum-model.h: ns3::BandInfo::fc [variable]
+ cls.add_instance_attribute('fc', 'double', is_const=False)
+ ## spectrum-model.h: ns3::BandInfo::fh [variable]
+ cls.add_instance_attribute('fh', 'double', is_const=False)
+ ## spectrum-model.h: ns3::BandInfo::fl [variable]
+ cls.add_instance_attribute('fl', 'double', is_const=False)
+ return
+
+def register_Ns3Buffer_methods(root_module, cls):
+ ## buffer.h: ns3::Buffer::Buffer() [constructor]
+ cls.add_constructor([])
+ ## buffer.h: ns3::Buffer::Buffer(uint32_t dataSize) [constructor]
+ cls.add_constructor([param('uint32_t', 'dataSize')])
+ ## buffer.h: ns3::Buffer::Buffer(uint32_t dataSize, bool initialize) [constructor]
+ cls.add_constructor([param('uint32_t', 'dataSize'), param('bool', 'initialize')])
+ ## buffer.h: ns3::Buffer::Buffer(ns3::Buffer const & o) [copy constructor]
+ cls.add_constructor([param('ns3::Buffer const &', 'o')])
+ ## buffer.h: bool ns3::Buffer::AddAtEnd(uint32_t end) [member function]
+ cls.add_method('AddAtEnd',
+ 'bool',
+ [param('uint32_t', 'end')])
+ ## buffer.h: void ns3::Buffer::AddAtEnd(ns3::Buffer const & o) [member function]
+ cls.add_method('AddAtEnd',
+ 'void',
+ [param('ns3::Buffer const &', 'o')])
+ ## buffer.h: bool ns3::Buffer::AddAtStart(uint32_t start) [member function]
+ cls.add_method('AddAtStart',
+ 'bool',
+ [param('uint32_t', 'start')])
+ ## buffer.h: ns3::Buffer::Iterator ns3::Buffer::Begin() const [member function]
+ cls.add_method('Begin',
+ 'ns3::Buffer::Iterator',
+ [],
+ is_const=True)
+ ## buffer.h: void ns3::Buffer::CopyData(std::ostream * os, uint32_t size) const [member function]
+ cls.add_method('CopyData',
+ 'void',
+ [param('std::ostream *', 'os'), param('uint32_t', 'size')],
+ is_const=True)
+ ## buffer.h: uint32_t ns3::Buffer::CopyData(uint8_t * buffer, uint32_t size) const [member function]
+ cls.add_method('CopyData',
+ 'uint32_t',
+ [param('uint8_t *', 'buffer'), param('uint32_t', 'size')],
+ is_const=True)
+ ## buffer.h: ns3::Buffer ns3::Buffer::CreateFragment(uint32_t start, uint32_t length) const [member function]
+ cls.add_method('CreateFragment',
+ 'ns3::Buffer',
+ [param('uint32_t', 'start'), param('uint32_t', 'length')],
+ is_const=True)
+ ## buffer.h: ns3::Buffer ns3::Buffer::CreateFullCopy() const [member function]
+ cls.add_method('CreateFullCopy',
+ 'ns3::Buffer',
+ [],
+ is_const=True)
+ ## buffer.h: uint32_t ns3::Buffer::Deserialize(uint8_t const * buffer, uint32_t size) [member function]
+ cls.add_method('Deserialize',
+ 'uint32_t',
+ [param('uint8_t const *', 'buffer'), param('uint32_t', 'size')])
+ ## buffer.h: ns3::Buffer::Iterator ns3::Buffer::End() const [member function]
+ cls.add_method('End',
+ 'ns3::Buffer::Iterator',
+ [],
+ is_const=True)
+ ## buffer.h: int32_t ns3::Buffer::GetCurrentEndOffset() const [member function]
+ cls.add_method('GetCurrentEndOffset',
+ 'int32_t',
+ [],
+ is_const=True)
+ ## buffer.h: int32_t ns3::Buffer::GetCurrentStartOffset() const [member function]
+ cls.add_method('GetCurrentStartOffset',
+ 'int32_t',
+ [],
+ is_const=True)
+ ## buffer.h: uint32_t ns3::Buffer::GetSerializedSize() const [member function]
+ cls.add_method('GetSerializedSize',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## buffer.h: uint32_t ns3::Buffer::GetSize() const [member function]
+ cls.add_method('GetSize',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## buffer.h: uint8_t const * ns3::Buffer::PeekData() const [member function]
+ cls.add_method('PeekData',
+ 'uint8_t const *',
+ [],
+ is_const=True)
+ ## buffer.h: void ns3::Buffer::RemoveAtEnd(uint32_t end) [member function]
+ cls.add_method('RemoveAtEnd',
+ 'void',
+ [param('uint32_t', 'end')])
+ ## buffer.h: void ns3::Buffer::RemoveAtStart(uint32_t start) [member function]
+ cls.add_method('RemoveAtStart',
+ 'void',
+ [param('uint32_t', 'start')])
+ ## buffer.h: uint32_t ns3::Buffer::Serialize(uint8_t * buffer, uint32_t maxSize) const [member function]
+ cls.add_method('Serialize',
+ 'uint32_t',
+ [param('uint8_t *', 'buffer'), param('uint32_t', 'maxSize')],
+ is_const=True)
+ return
+
+def register_Ns3BufferIterator_methods(root_module, cls):
+ ## buffer.h: ns3::Buffer::Iterator::Iterator(ns3::Buffer::Iterator const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::Buffer::Iterator const &', 'arg0')])
+ ## buffer.h: ns3::Buffer::Iterator::Iterator() [constructor]
+ cls.add_constructor([])
+ ## buffer.h: uint16_t ns3::Buffer::Iterator::CalculateIpChecksum(uint16_t size) [member function]
+ cls.add_method('CalculateIpChecksum',
+ 'uint16_t',
+ [param('uint16_t', 'size')])
+ ## buffer.h: uint16_t ns3::Buffer::Iterator::CalculateIpChecksum(uint16_t size, uint32_t initialChecksum) [member function]
+ cls.add_method('CalculateIpChecksum',
+ 'uint16_t',
+ [param('uint16_t', 'size'), param('uint32_t', 'initialChecksum')])
+ ## buffer.h: uint32_t ns3::Buffer::Iterator::GetDistanceFrom(ns3::Buffer::Iterator const & o) const [member function]
+ cls.add_method('GetDistanceFrom',
+ 'uint32_t',
+ [param('ns3::Buffer::Iterator const &', 'o')],
+ is_const=True)
+ ## buffer.h: uint32_t ns3::Buffer::Iterator::GetSize() const [member function]
+ cls.add_method('GetSize',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## buffer.h: bool ns3::Buffer::Iterator::IsEnd() const [member function]
+ cls.add_method('IsEnd',
+ 'bool',
+ [],
+ is_const=True)
+ ## buffer.h: bool ns3::Buffer::Iterator::IsStart() const [member function]
+ cls.add_method('IsStart',
+ 'bool',
+ [],
+ is_const=True)
+ ## buffer.h: void ns3::Buffer::Iterator::Next() [member function]
+ cls.add_method('Next',
+ 'void',
+ [])
+ ## buffer.h: void ns3::Buffer::Iterator::Next(uint32_t delta) [member function]
+ cls.add_method('Next',
+ 'void',
+ [param('uint32_t', 'delta')])
+ ## buffer.h: void ns3::Buffer::Iterator::Prev() [member function]
+ cls.add_method('Prev',
+ 'void',
+ [])
+ ## buffer.h: void ns3::Buffer::Iterator::Prev(uint32_t delta) [member function]
+ cls.add_method('Prev',
+ 'void',
+ [param('uint32_t', 'delta')])
+ ## buffer.h: void ns3::Buffer::Iterator::Read(uint8_t * buffer, uint32_t size) [member function]
+ cls.add_method('Read',
+ 'void',
+ [param('uint8_t *', 'buffer'), param('uint32_t', 'size')])
+ ## buffer.h: uint16_t ns3::Buffer::Iterator::ReadLsbtohU16() [member function]
+ cls.add_method('ReadLsbtohU16',
+ 'uint16_t',
+ [])
+ ## buffer.h: uint32_t ns3::Buffer::Iterator::ReadLsbtohU32() [member function]
+ cls.add_method('ReadLsbtohU32',
+ 'uint32_t',
+ [])
+ ## buffer.h: uint64_t ns3::Buffer::Iterator::ReadLsbtohU64() [member function]
+ cls.add_method('ReadLsbtohU64',
+ 'uint64_t',
+ [])
+ ## buffer.h: uint16_t ns3::Buffer::Iterator::ReadNtohU16() [member function]
+ cls.add_method('ReadNtohU16',
+ 'uint16_t',
+ [])
+ ## buffer.h: uint32_t ns3::Buffer::Iterator::ReadNtohU32() [member function]
+ cls.add_method('ReadNtohU32',
+ 'uint32_t',
+ [])
+ ## buffer.h: uint64_t ns3::Buffer::Iterator::ReadNtohU64() [member function]
+ cls.add_method('ReadNtohU64',
+ 'uint64_t',
+ [])
+ ## buffer.h: uint16_t ns3::Buffer::Iterator::ReadU16() [member function]
+ cls.add_method('ReadU16',
+ 'uint16_t',
+ [])
+ ## buffer.h: uint32_t ns3::Buffer::Iterator::ReadU32() [member function]
+ cls.add_method('ReadU32',
+ 'uint32_t',
+ [])
+ ## buffer.h: uint64_t ns3::Buffer::Iterator::ReadU64() [member function]
+ cls.add_method('ReadU64',
+ 'uint64_t',
+ [])
+ ## buffer.h: uint8_t ns3::Buffer::Iterator::ReadU8() [member function]
+ cls.add_method('ReadU8',
+ 'uint8_t',
+ [])
+ ## buffer.h: void ns3::Buffer::Iterator::Write(uint8_t const * buffer, uint32_t size) [member function]
+ cls.add_method('Write',
+ 'void',
+ [param('uint8_t const *', 'buffer'), param('uint32_t', 'size')])
+ ## buffer.h: void ns3::Buffer::Iterator::Write(ns3::Buffer::Iterator start, ns3::Buffer::Iterator end) [member function]
+ cls.add_method('Write',
+ 'void',
+ [param('ns3::Buffer::Iterator', 'start'), param('ns3::Buffer::Iterator', 'end')])
+ ## buffer.h: void ns3::Buffer::Iterator::WriteHtolsbU16(uint16_t data) [member function]
+ cls.add_method('WriteHtolsbU16',
+ 'void',
+ [param('uint16_t', 'data')])
+ ## buffer.h: void ns3::Buffer::Iterator::WriteHtolsbU32(uint32_t data) [member function]
+ cls.add_method('WriteHtolsbU32',
+ 'void',
+ [param('uint32_t', 'data')])
+ ## buffer.h: void ns3::Buffer::Iterator::WriteHtolsbU64(uint64_t data) [member function]
+ cls.add_method('WriteHtolsbU64',
+ 'void',
+ [param('uint64_t', 'data')])
+ ## buffer.h: void ns3::Buffer::Iterator::WriteHtonU16(uint16_t data) [member function]
+ cls.add_method('WriteHtonU16',
+ 'void',
+ [param('uint16_t', 'data')])
+ ## buffer.h: void ns3::Buffer::Iterator::WriteHtonU32(uint32_t data) [member function]
+ cls.add_method('WriteHtonU32',
+ 'void',
+ [param('uint32_t', 'data')])
+ ## buffer.h: void ns3::Buffer::Iterator::WriteHtonU64(uint64_t data) [member function]
+ cls.add_method('WriteHtonU64',
+ 'void',
+ [param('uint64_t', 'data')])
+ ## buffer.h: void ns3::Buffer::Iterator::WriteU16(uint16_t data) [member function]
+ cls.add_method('WriteU16',
+ 'void',
+ [param('uint16_t', 'data')])
+ ## buffer.h: void ns3::Buffer::Iterator::WriteU32(uint32_t data) [member function]
+ cls.add_method('WriteU32',
+ 'void',
+ [param('uint32_t', 'data')])
+ ## buffer.h: void ns3::Buffer::Iterator::WriteU64(uint64_t data) [member function]
+ cls.add_method('WriteU64',
+ 'void',
+ [param('uint64_t', 'data')])
+ ## buffer.h: void ns3::Buffer::Iterator::WriteU8(uint8_t data) [member function]
+ cls.add_method('WriteU8',
+ 'void',
+ [param('uint8_t', 'data')])
+ ## buffer.h: void ns3::Buffer::Iterator::WriteU8(uint8_t data, uint32_t len) [member function]
+ cls.add_method('WriteU8',
+ 'void',
+ [param('uint8_t', 'data'), param('uint32_t', 'len')])
+ return
+
+def register_Ns3ByteTagIterator_methods(root_module, cls):
+ ## packet.h: ns3::ByteTagIterator::ByteTagIterator(ns3::ByteTagIterator const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::ByteTagIterator const &', 'arg0')])
+ ## packet.h: bool ns3::ByteTagIterator::HasNext() const [member function]
+ cls.add_method('HasNext',
+ 'bool',
+ [],
+ is_const=True)
+ ## packet.h: ns3::ByteTagIterator::Item ns3::ByteTagIterator::Next() [member function]
+ cls.add_method('Next',
+ 'ns3::ByteTagIterator::Item',
+ [])
+ return
+
+def register_Ns3ByteTagIteratorItem_methods(root_module, cls):
+ ## packet.h: ns3::ByteTagIterator::Item::Item(ns3::ByteTagIterator::Item const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::ByteTagIterator::Item const &', 'arg0')])
+ ## packet.h: uint32_t ns3::ByteTagIterator::Item::GetEnd() const [member function]
+ cls.add_method('GetEnd',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## packet.h: uint32_t ns3::ByteTagIterator::Item::GetStart() const [member function]
+ cls.add_method('GetStart',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## packet.h: void ns3::ByteTagIterator::Item::GetTag(ns3::Tag & tag) const [member function]
+ cls.add_method('GetTag',
+ 'void',
+ [param('ns3::Tag &', 'tag')],
+ is_const=True)
+ ## packet.h: ns3::TypeId ns3::ByteTagIterator::Item::GetTypeId() const [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_const=True)
+ return
+
+def register_Ns3ByteTagList_methods(root_module, cls):
+ ## byte-tag-list.h: ns3::ByteTagList::ByteTagList() [constructor]
+ cls.add_constructor([])
+ ## byte-tag-list.h: ns3::ByteTagList::ByteTagList(ns3::ByteTagList const & o) [copy constructor]
+ cls.add_constructor([param('ns3::ByteTagList const &', 'o')])
+ ## byte-tag-list.h: ns3::TagBuffer ns3::ByteTagList::Add(ns3::TypeId tid, uint32_t bufferSize, int32_t start, int32_t end) [member function]
+ cls.add_method('Add',
+ 'ns3::TagBuffer',
+ [param('ns3::TypeId', 'tid'), param('uint32_t', 'bufferSize'), param('int32_t', 'start'), param('int32_t', 'end')])
+ ## byte-tag-list.h: void ns3::ByteTagList::Add(ns3::ByteTagList const & o) [member function]
+ cls.add_method('Add',
+ 'void',
+ [param('ns3::ByteTagList const &', 'o')])
+ ## byte-tag-list.h: void ns3::ByteTagList::AddAtEnd(int32_t adjustment, int32_t appendOffset) [member function]
+ cls.add_method('AddAtEnd',
+ 'void',
+ [param('int32_t', 'adjustment'), param('int32_t', 'appendOffset')])
+ ## byte-tag-list.h: void ns3::ByteTagList::AddAtStart(int32_t adjustment, int32_t prependOffset) [member function]
+ cls.add_method('AddAtStart',
+ 'void',
+ [param('int32_t', 'adjustment'), param('int32_t', 'prependOffset')])
+ ## byte-tag-list.h: ns3::ByteTagList::Iterator ns3::ByteTagList::Begin(int32_t offsetStart, int32_t offsetEnd) const [member function]
+ cls.add_method('Begin',
+ 'ns3::ByteTagList::Iterator',
+ [param('int32_t', 'offsetStart'), param('int32_t', 'offsetEnd')],
+ is_const=True)
+ ## byte-tag-list.h: void ns3::ByteTagList::RemoveAll() [member function]
+ cls.add_method('RemoveAll',
+ 'void',
+ [])
+ return
+
+def register_Ns3ByteTagListIterator_methods(root_module, cls):
+ ## byte-tag-list.h: ns3::ByteTagList::Iterator::Iterator(ns3::ByteTagList::Iterator const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::ByteTagList::Iterator const &', 'arg0')])
+ ## byte-tag-list.h: uint32_t ns3::ByteTagList::Iterator::GetOffsetStart() const [member function]
+ cls.add_method('GetOffsetStart',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## byte-tag-list.h: bool ns3::ByteTagList::Iterator::HasNext() const [member function]
+ cls.add_method('HasNext',
+ 'bool',
+ [],
+ is_const=True)
+ ## byte-tag-list.h: ns3::ByteTagList::Iterator::Item ns3::ByteTagList::Iterator::Next() [member function]
+ cls.add_method('Next',
+ 'ns3::ByteTagList::Iterator::Item',
+ [])
+ return
+
+def register_Ns3ByteTagListIteratorItem_methods(root_module, cls):
+ ## byte-tag-list.h: ns3::ByteTagList::Iterator::Item::Item(ns3::ByteTagList::Iterator::Item const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::ByteTagList::Iterator::Item const &', 'arg0')])
+ ## byte-tag-list.h: ns3::ByteTagList::Iterator::Item::Item(ns3::TagBuffer buf) [constructor]
+ cls.add_constructor([param('ns3::TagBuffer', 'buf')])
+ ## byte-tag-list.h: ns3::ByteTagList::Iterator::Item::buf [variable]
+ cls.add_instance_attribute('buf', 'ns3::TagBuffer', is_const=False)
+ ## byte-tag-list.h: ns3::ByteTagList::Iterator::Item::end [variable]
+ cls.add_instance_attribute('end', 'int32_t', is_const=False)
+ ## byte-tag-list.h: ns3::ByteTagList::Iterator::Item::size [variable]
+ cls.add_instance_attribute('size', 'uint32_t', is_const=False)
+ ## byte-tag-list.h: ns3::ByteTagList::Iterator::Item::start [variable]
+ cls.add_instance_attribute('start', 'int32_t', is_const=False)
+ ## byte-tag-list.h: ns3::ByteTagList::Iterator::Item::tid [variable]
+ cls.add_instance_attribute('tid', 'ns3::TypeId', is_const=False)
+ return
+
+def register_Ns3DataRate_methods(root_module, cls):
+ cls.add_output_stream_operator()
+ cls.add_binary_comparison_operator('!=')
+ cls.add_binary_comparison_operator('<')
+ cls.add_binary_comparison_operator('<=')
+ cls.add_binary_comparison_operator('==')
+ cls.add_binary_comparison_operator('>')
+ cls.add_binary_comparison_operator('>=')
+ ## data-rate.h: ns3::DataRate::DataRate(ns3::DataRate const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::DataRate const &', 'arg0')])
+ ## data-rate.h: ns3::DataRate::DataRate() [constructor]
+ cls.add_constructor([])
+ ## data-rate.h: ns3::DataRate::DataRate(uint64_t bps) [constructor]
+ cls.add_constructor([param('uint64_t', 'bps')])
+ ## data-rate.h: ns3::DataRate::DataRate(std::string rate) [constructor]
+ cls.add_constructor([param('std::string', 'rate')])
+ ## data-rate.h: double ns3::DataRate::CalculateTxTime(uint32_t bytes) const [member function]
+ cls.add_method('CalculateTxTime',
+ 'double',
+ [param('uint32_t', 'bytes')],
+ is_const=True)
+ ## data-rate.h: uint64_t ns3::DataRate::GetBitRate() const [member function]
+ cls.add_method('GetBitRate',
+ 'uint64_t',
+ [],
+ is_const=True)
+ return
+
+def register_Ns3PacketMetadata_methods(root_module, cls):
+ ## packet-metadata.h: ns3::PacketMetadata::PacketMetadata(uint64_t uid, uint32_t size) [constructor]
+ cls.add_constructor([param('uint64_t', 'uid'), param('uint32_t', 'size')])
+ ## packet-metadata.h: ns3::PacketMetadata::PacketMetadata(ns3::PacketMetadata const & o) [copy constructor]
+ cls.add_constructor([param('ns3::PacketMetadata const &', 'o')])
+ ## packet-metadata.h: void ns3::PacketMetadata::AddAtEnd(ns3::PacketMetadata const & o) [member function]
+ cls.add_method('AddAtEnd',
+ 'void',
+ [param('ns3::PacketMetadata const &', 'o')])
+ ## packet-metadata.h: void ns3::PacketMetadata::AddHeader(ns3::Header const & header, uint32_t size) [member function]
+ cls.add_method('AddHeader',
+ 'void',
+ [param('ns3::Header const &', 'header'), param('uint32_t', 'size')])
+ ## packet-metadata.h: void ns3::PacketMetadata::AddPaddingAtEnd(uint32_t end) [member function]
+ cls.add_method('AddPaddingAtEnd',
+ 'void',
+ [param('uint32_t', 'end')])
+ ## packet-metadata.h: void ns3::PacketMetadata::AddTrailer(ns3::Trailer const & trailer, uint32_t size) [member function]
+ cls.add_method('AddTrailer',
+ 'void',
+ [param('ns3::Trailer const &', 'trailer'), param('uint32_t', 'size')])
+ ## packet-metadata.h: ns3::PacketMetadata::ItemIterator ns3::PacketMetadata::BeginItem(ns3::Buffer buffer) const [member function]
+ cls.add_method('BeginItem',
+ 'ns3::PacketMetadata::ItemIterator',
+ [param('ns3::Buffer', 'buffer')],
+ is_const=True)
+ ## packet-metadata.h: ns3::PacketMetadata ns3::PacketMetadata::CreateFragment(uint32_t start, uint32_t end) const [member function]
+ cls.add_method('CreateFragment',
+ 'ns3::PacketMetadata',
+ [param('uint32_t', 'start'), param('uint32_t', 'end')],
+ is_const=True)
+ ## packet-metadata.h: uint32_t ns3::PacketMetadata::Deserialize(uint8_t const * buffer, uint32_t size) [member function]
+ cls.add_method('Deserialize',
+ 'uint32_t',
+ [param('uint8_t const *', 'buffer'), param('uint32_t', 'size')])
+ ## packet-metadata.h: static void ns3::PacketMetadata::Enable() [member function]
+ cls.add_method('Enable',
+ 'void',
+ [],
+ is_static=True)
+ ## packet-metadata.h: static void ns3::PacketMetadata::EnableChecking() [member function]
+ cls.add_method('EnableChecking',
+ 'void',
+ [],
+ is_static=True)
+ ## packet-metadata.h: uint32_t ns3::PacketMetadata::GetSerializedSize() const [member function]
+ cls.add_method('GetSerializedSize',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## packet-metadata.h: uint64_t ns3::PacketMetadata::GetUid() const [member function]
+ cls.add_method('GetUid',
+ 'uint64_t',
+ [],
+ is_const=True)
+ ## packet-metadata.h: void ns3::PacketMetadata::RemoveAtEnd(uint32_t end) [member function]
+ cls.add_method('RemoveAtEnd',
+ 'void',
+ [param('uint32_t', 'end')])
+ ## packet-metadata.h: void ns3::PacketMetadata::RemoveAtStart(uint32_t start) [member function]
+ cls.add_method('RemoveAtStart',
+ 'void',
+ [param('uint32_t', 'start')])
+ ## packet-metadata.h: void ns3::PacketMetadata::RemoveHeader(ns3::Header const & header, uint32_t size) [member function]
+ cls.add_method('RemoveHeader',
+ 'void',
+ [param('ns3::Header const &', 'header'), param('uint32_t', 'size')])
+ ## packet-metadata.h: void ns3::PacketMetadata::RemoveTrailer(ns3::Trailer const & trailer, uint32_t size) [member function]
+ cls.add_method('RemoveTrailer',
+ 'void',
+ [param('ns3::Trailer const &', 'trailer'), param('uint32_t', 'size')])
+ ## packet-metadata.h: uint32_t ns3::PacketMetadata::Serialize(uint8_t * buffer, uint32_t maxSize) const [member function]
+ cls.add_method('Serialize',
+ 'uint32_t',
+ [param('uint8_t *', 'buffer'), param('uint32_t', 'maxSize')],
+ is_const=True)
+ return
+
+def register_Ns3PacketMetadataItem_methods(root_module, cls):
+ ## packet-metadata.h: ns3::PacketMetadata::Item::Item() [constructor]
+ cls.add_constructor([])
+ ## packet-metadata.h: ns3::PacketMetadata::Item::Item(ns3::PacketMetadata::Item const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::PacketMetadata::Item const &', 'arg0')])
+ ## packet-metadata.h: ns3::PacketMetadata::Item::current [variable]
+ cls.add_instance_attribute('current', 'ns3::Buffer::Iterator', is_const=False)
+ ## packet-metadata.h: ns3::PacketMetadata::Item::currentSize [variable]
+ cls.add_instance_attribute('currentSize', 'uint32_t', is_const=False)
+ ## packet-metadata.h: ns3::PacketMetadata::Item::currentTrimedFromEnd [variable]
+ cls.add_instance_attribute('currentTrimedFromEnd', 'uint32_t', is_const=False)
+ ## packet-metadata.h: ns3::PacketMetadata::Item::currentTrimedFromStart [variable]
+ cls.add_instance_attribute('currentTrimedFromStart', 'uint32_t', is_const=False)
+ ## packet-metadata.h: ns3::PacketMetadata::Item::isFragment [variable]
+ cls.add_instance_attribute('isFragment', 'bool', is_const=False)
+ ## packet-metadata.h: ns3::PacketMetadata::Item::tid [variable]
+ cls.add_instance_attribute('tid', 'ns3::TypeId', is_const=False)
+ return
+
+def register_Ns3PacketMetadataItemIterator_methods(root_module, cls):
+ ## packet-metadata.h: ns3::PacketMetadata::ItemIterator::ItemIterator(ns3::PacketMetadata::ItemIterator const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::PacketMetadata::ItemIterator const &', 'arg0')])
+ ## packet-metadata.h: ns3::PacketMetadata::ItemIterator::ItemIterator(ns3::PacketMetadata const * metadata, ns3::Buffer buffer) [constructor]
+ cls.add_constructor([param('ns3::PacketMetadata const *', 'metadata'), param('ns3::Buffer', 'buffer')])
+ ## packet-metadata.h: bool ns3::PacketMetadata::ItemIterator::HasNext() const [member function]
+ cls.add_method('HasNext',
+ 'bool',
+ [],
+ is_const=True)
+ ## packet-metadata.h: ns3::PacketMetadata::Item ns3::PacketMetadata::ItemIterator::Next() [member function]
+ cls.add_method('Next',
+ 'ns3::PacketMetadata::Item',
+ [])
+ return
+
+def register_Ns3PacketTagIterator_methods(root_module, cls):
+ ## packet.h: ns3::PacketTagIterator::PacketTagIterator(ns3::PacketTagIterator const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::PacketTagIterator const &', 'arg0')])
+ ## packet.h: bool ns3::PacketTagIterator::HasNext() const [member function]
+ cls.add_method('HasNext',
+ 'bool',
+ [],
+ is_const=True)
+ ## packet.h: ns3::PacketTagIterator::Item ns3::PacketTagIterator::Next() [member function]
+ cls.add_method('Next',
+ 'ns3::PacketTagIterator::Item',
+ [])
+ return
+
+def register_Ns3PacketTagIteratorItem_methods(root_module, cls):
+ ## packet.h: ns3::PacketTagIterator::Item::Item(ns3::PacketTagIterator::Item const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::PacketTagIterator::Item const &', 'arg0')])
+ ## packet.h: void ns3::PacketTagIterator::Item::GetTag(ns3::Tag & tag) const [member function]
+ cls.add_method('GetTag',
+ 'void',
+ [param('ns3::Tag &', 'tag')],
+ is_const=True)
+ ## packet.h: ns3::TypeId ns3::PacketTagIterator::Item::GetTypeId() const [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_const=True)
+ return
+
+def register_Ns3PacketTagList_methods(root_module, cls):
+ ## packet-tag-list.h: ns3::PacketTagList::PacketTagList() [constructor]
+ cls.add_constructor([])
+ ## packet-tag-list.h: ns3::PacketTagList::PacketTagList(ns3::PacketTagList const & o) [copy constructor]
+ cls.add_constructor([param('ns3::PacketTagList const &', 'o')])
+ ## packet-tag-list.h: void ns3::PacketTagList::Add(ns3::Tag const & tag) const [member function]
+ cls.add_method('Add',
+ 'void',
+ [param('ns3::Tag const &', 'tag')],
+ is_const=True)
+ ## packet-tag-list.h: ns3::PacketTagList::TagData const * ns3::PacketTagList::Head() const [member function]
+ cls.add_method('Head',
+ 'ns3::PacketTagList::TagData const *',
+ [],
+ is_const=True)
+ ## packet-tag-list.h: bool ns3::PacketTagList::Peek(ns3::Tag & tag) const [member function]
+ cls.add_method('Peek',
+ 'bool',
+ [param('ns3::Tag &', 'tag')],
+ is_const=True)
+ ## packet-tag-list.h: bool ns3::PacketTagList::Remove(ns3::Tag & tag) [member function]
+ cls.add_method('Remove',
+ 'bool',
+ [param('ns3::Tag &', 'tag')])
+ ## packet-tag-list.h: void ns3::PacketTagList::RemoveAll() [member function]
+ cls.add_method('RemoveAll',
+ 'void',
+ [])
+ return
+
+def register_Ns3PacketTagListTagData_methods(root_module, cls):
+ ## packet-tag-list.h: ns3::PacketTagList::TagData::TagData() [constructor]
+ cls.add_constructor([])
+ ## packet-tag-list.h: ns3::PacketTagList::TagData::TagData(ns3::PacketTagList::TagData const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::PacketTagList::TagData const &', 'arg0')])
+ ## packet-tag-list.h: ns3::PacketTagList::TagData::count [variable]
+ cls.add_instance_attribute('count', 'uint32_t', is_const=False)
+ ## packet-tag-list.h: ns3::PacketTagList::TagData::data [variable]
+ cls.add_instance_attribute('data', 'uint8_t [ 20 ]', is_const=False)
+ ## packet-tag-list.h: ns3::PacketTagList::TagData::next [variable]
+ cls.add_instance_attribute('next', 'ns3::PacketTagList::TagData *', is_const=False)
+ ## packet-tag-list.h: ns3::PacketTagList::TagData::tid [variable]
+ cls.add_instance_attribute('tid', 'ns3::TypeId', is_const=False)
+ return
+
+def register_Ns3PcapFile_methods(root_module, cls):
+ ## pcap-file.h: ns3::PcapFile::PcapFile() [constructor]
+ cls.add_constructor([])
+ ## pcap-file.h: void ns3::PcapFile::Clear() [member function]
+ cls.add_method('Clear',
+ 'void',
+ [])
+ ## pcap-file.h: void ns3::PcapFile::Close() [member function]
+ cls.add_method('Close',
+ 'void',
+ [])
+ ## pcap-file.h: static bool ns3::PcapFile::Diff(std::string const & f1, std::string const & f2, uint32_t & sec, uint32_t & usec, uint32_t snapLen=ns3::PcapFile::SNAPLEN_DEFAULT) [member function]
+ cls.add_method('Diff',
+ 'bool',
+ [param('std::string const &', 'f1'), param('std::string const &', 'f2'), param('uint32_t &', 'sec'), param('uint32_t &', 'usec'), param('uint32_t', 'snapLen', default_value='ns3::PcapFile::SNAPLEN_DEFAULT')],
+ is_static=True)
+ ## pcap-file.h: bool ns3::PcapFile::Eof() const [member function]
+ cls.add_method('Eof',
+ 'bool',
+ [],
+ is_const=True)
+ ## pcap-file.h: bool ns3::PcapFile::Fail() const [member function]
+ cls.add_method('Fail',
+ 'bool',
+ [],
+ is_const=True)
+ ## pcap-file.h: uint32_t ns3::PcapFile::GetDataLinkType() [member function]
+ cls.add_method('GetDataLinkType',
+ 'uint32_t',
+ [])
+ ## pcap-file.h: uint32_t ns3::PcapFile::GetMagic() [member function]
+ cls.add_method('GetMagic',
+ 'uint32_t',
+ [])
+ ## pcap-file.h: uint32_t ns3::PcapFile::GetSigFigs() [member function]
+ cls.add_method('GetSigFigs',
+ 'uint32_t',
+ [])
+ ## pcap-file.h: uint32_t ns3::PcapFile::GetSnapLen() [member function]
+ cls.add_method('GetSnapLen',
+ 'uint32_t',
+ [])
+ ## pcap-file.h: bool ns3::PcapFile::GetSwapMode() [member function]
+ cls.add_method('GetSwapMode',
+ 'bool',
+ [])
+ ## pcap-file.h: int32_t ns3::PcapFile::GetTimeZoneOffset() [member function]
+ cls.add_method('GetTimeZoneOffset',
+ 'int32_t',
+ [])
+ ## pcap-file.h: uint16_t ns3::PcapFile::GetVersionMajor() [member function]
+ cls.add_method('GetVersionMajor',
+ 'uint16_t',
+ [])
+ ## pcap-file.h: uint16_t ns3::PcapFile::GetVersionMinor() [member function]
+ cls.add_method('GetVersionMinor',
+ 'uint16_t',
+ [])
+ ## pcap-file.h: void ns3::PcapFile::Init(uint32_t dataLinkType, uint32_t snapLen=ns3::PcapFile::SNAPLEN_DEFAULT, int32_t timeZoneCorrection=ns3::PcapFile::ZONE_DEFAULT, bool swapMode=false) [member function]
+ cls.add_method('Init',
+ 'void',
+ [param('uint32_t', 'dataLinkType'), param('uint32_t', 'snapLen', default_value='ns3::PcapFile::SNAPLEN_DEFAULT'), param('int32_t', 'timeZoneCorrection', default_value='ns3::PcapFile::ZONE_DEFAULT'), param('bool', 'swapMode', default_value='false')])
+ ## pcap-file.h: void ns3::PcapFile::Open(std::string const & filename, std::_Ios_Openmode mode) [member function]
+ cls.add_method('Open',
+ 'void',
+ [param('std::string const &', 'filename'), param('std::_Ios_Openmode', 'mode')])
+ ## pcap-file.h: void ns3::PcapFile::Read(uint8_t * const data, uint32_t maxBytes, uint32_t & tsSec, uint32_t & tsUsec, uint32_t & inclLen, uint32_t & origLen, uint32_t & readLen) [member function]
+ cls.add_method('Read',
+ 'void',
+ [param('uint8_t * const', 'data'), param('uint32_t', 'maxBytes'), param('uint32_t &', 'tsSec'), param('uint32_t &', 'tsUsec'), param('uint32_t &', 'inclLen'), param('uint32_t &', 'origLen'), param('uint32_t &', 'readLen')])
+ ## pcap-file.h: void ns3::PcapFile::Write(uint32_t tsSec, uint32_t tsUsec, uint8_t const * const data, uint32_t totalLen) [member function]
+ cls.add_method('Write',
+ 'void',
+ [param('uint32_t', 'tsSec'), param('uint32_t', 'tsUsec'), param('uint8_t const * const', 'data'), param('uint32_t', 'totalLen')])
+ ## pcap-file.h: void ns3::PcapFile::Write(uint32_t tsSec, uint32_t tsUsec, ns3::Ptr p) [member function]
+ cls.add_method('Write',
+ 'void',
+ [param('uint32_t', 'tsSec'), param('uint32_t', 'tsUsec'), param('ns3::Ptr< ns3::Packet const >', 'p')])
+ ## pcap-file.h: void ns3::PcapFile::Write(uint32_t tsSec, uint32_t tsUsec, ns3::Header & header, ns3::Ptr p) [member function]
+ cls.add_method('Write',
+ 'void',
+ [param('uint32_t', 'tsSec'), param('uint32_t', 'tsUsec'), param('ns3::Header &', 'header'), param('ns3::Ptr< ns3::Packet const >', 'p')])
+ ## pcap-file.h: ns3::PcapFile::SNAPLEN_DEFAULT [variable]
+ cls.add_static_attribute('SNAPLEN_DEFAULT', 'uint32_t const', is_const=True)
+ ## pcap-file.h: ns3::PcapFile::ZONE_DEFAULT [variable]
+ cls.add_static_attribute('ZONE_DEFAULT', 'int32_t const', is_const=True)
+ return
+
+def register_Ns3SequenceNumber32_methods(root_module, cls):
+ cls.add_binary_comparison_operator('!=')
+ cls.add_binary_numeric_operator('+', root_module['ns3::SequenceNumber32'], root_module['ns3::SequenceNumber32'], param('ns3::SequenceNumber< unsigned int, int > const &', 'right'))
+ cls.add_binary_numeric_operator('+', root_module['ns3::SequenceNumber32'], root_module['ns3::SequenceNumber32'], param('int', 'right'))
+ cls.add_inplace_numeric_operator('+=', param('int', 'right'))
+ cls.add_binary_numeric_operator('-', root_module['ns3::SequenceNumber32'], root_module['ns3::SequenceNumber32'], param('int', 'right'))
+ cls.add_inplace_numeric_operator('-=', param('int', 'right'))
+ cls.add_binary_comparison_operator('<')
+ cls.add_binary_comparison_operator('<=')
+ cls.add_binary_comparison_operator('==')
+ cls.add_binary_comparison_operator('>')
+ cls.add_binary_comparison_operator('>=')
+ ## sequence-number.h: ns3::SequenceNumber::SequenceNumber() [constructor]
+ cls.add_constructor([])
+ ## sequence-number.h: ns3::SequenceNumber::SequenceNumber(unsigned int value) [constructor]
+ cls.add_constructor([param('unsigned int', 'value')])
+ ## sequence-number.h: ns3::SequenceNumber::SequenceNumber(ns3::SequenceNumber const & value) [copy constructor]
+ cls.add_constructor([param('ns3::SequenceNumber< unsigned int, int > const &', 'value')])
+ ## sequence-number.h: unsigned int ns3::SequenceNumber::GetValue() const [member function]
+ cls.add_method('GetValue',
+ 'unsigned int',
+ [],
+ is_const=True)
+ return
+
+def register_Ns3SpectrumType_methods(root_module, cls):
+ cls.add_binary_comparison_operator('!=')
+ cls.add_output_stream_operator()
+ cls.add_binary_comparison_operator('==')
+ ## spectrum-type.h: ns3::SpectrumType::SpectrumType(ns3::SpectrumType const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::SpectrumType const &', 'arg0')])
+ ## spectrum-type.h: std::string ns3::SpectrumType::GetName() const [member function]
+ cls.add_method('GetName',
+ 'std::string',
+ [],
+ is_const=True)
+ ## spectrum-type.h: uint32_t ns3::SpectrumType::GetUid() const [member function]
+ cls.add_method('GetUid',
+ 'uint32_t',
+ [],
+ is_const=True)
+ return
+
+def register_Ns3SpectrumTypeFactory_methods(root_module, cls):
+ ## spectrum-type.h: ns3::SpectrumTypeFactory::SpectrumTypeFactory() [constructor]
+ cls.add_constructor([])
+ ## spectrum-type.h: ns3::SpectrumTypeFactory::SpectrumTypeFactory(ns3::SpectrumTypeFactory const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::SpectrumTypeFactory const &', 'arg0')])
+ ## spectrum-type.h: static ns3::SpectrumType ns3::SpectrumTypeFactory::Create(std::string name) [member function]
+ cls.add_method('Create',
+ 'ns3::SpectrumType',
+ [param('std::string', 'name')],
+ is_static=True)
+ ## spectrum-type.h: static std::string ns3::SpectrumTypeFactory::GetNameByUid(uint32_t uid) [member function]
+ cls.add_method('GetNameByUid',
+ 'std::string',
+ [param('uint32_t', 'uid')],
+ is_static=True)
+ return
+
+def register_Ns3Tag_methods(root_module, cls):
+ ## tag.h: ns3::Tag::Tag() [constructor]
+ cls.add_constructor([])
+ ## tag.h: ns3::Tag::Tag(ns3::Tag const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::Tag const &', 'arg0')])
+ ## tag.h: void ns3::Tag::Deserialize(ns3::TagBuffer i) [member function]
+ cls.add_method('Deserialize',
+ 'void',
+ [param('ns3::TagBuffer', 'i')],
+ is_pure_virtual=True, is_virtual=True)
+ ## tag.h: uint32_t ns3::Tag::GetSerializedSize() const [member function]
+ cls.add_method('GetSerializedSize',
+ 'uint32_t',
+ [],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## tag.h: static ns3::TypeId ns3::Tag::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## tag.h: void ns3::Tag::Print(std::ostream & os) const [member function]
+ cls.add_method('Print',
+ 'void',
+ [param('std::ostream &', 'os')],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## tag.h: void ns3::Tag::Serialize(ns3::TagBuffer i) const [member function]
+ cls.add_method('Serialize',
+ 'void',
+ [param('ns3::TagBuffer', 'i')],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ return
+
+def register_Ns3TagBuffer_methods(root_module, cls):
+ ## tag-buffer.h: ns3::TagBuffer::TagBuffer(ns3::TagBuffer const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::TagBuffer const &', 'arg0')])
+ ## tag-buffer.h: ns3::TagBuffer::TagBuffer(uint8_t * start, uint8_t * end) [constructor]
+ cls.add_constructor([param('uint8_t *', 'start'), param('uint8_t *', 'end')])
+ ## tag-buffer.h: void ns3::TagBuffer::CopyFrom(ns3::TagBuffer o) [member function]
+ cls.add_method('CopyFrom',
+ 'void',
+ [param('ns3::TagBuffer', 'o')])
+ ## tag-buffer.h: void ns3::TagBuffer::Read(uint8_t * buffer, uint32_t size) [member function]
+ cls.add_method('Read',
+ 'void',
+ [param('uint8_t *', 'buffer'), param('uint32_t', 'size')])
+ ## tag-buffer.h: double ns3::TagBuffer::ReadDouble() [member function]
+ cls.add_method('ReadDouble',
+ 'double',
+ [])
+ ## tag-buffer.h: uint16_t ns3::TagBuffer::ReadU16() [member function]
+ cls.add_method('ReadU16',
+ 'uint16_t',
+ [])
+ ## tag-buffer.h: uint32_t ns3::TagBuffer::ReadU32() [member function]
+ cls.add_method('ReadU32',
+ 'uint32_t',
+ [])
+ ## tag-buffer.h: uint64_t ns3::TagBuffer::ReadU64() [member function]
+ cls.add_method('ReadU64',
+ 'uint64_t',
+ [])
+ ## tag-buffer.h: uint8_t ns3::TagBuffer::ReadU8() [member function]
+ cls.add_method('ReadU8',
+ 'uint8_t',
+ [])
+ ## tag-buffer.h: void ns3::TagBuffer::TrimAtEnd(uint32_t trim) [member function]
+ cls.add_method('TrimAtEnd',
+ 'void',
+ [param('uint32_t', 'trim')])
+ ## tag-buffer.h: void ns3::TagBuffer::Write(uint8_t const * buffer, uint32_t size) [member function]
+ cls.add_method('Write',
+ 'void',
+ [param('uint8_t const *', 'buffer'), param('uint32_t', 'size')])
+ ## tag-buffer.h: void ns3::TagBuffer::WriteDouble(double v) [member function]
+ cls.add_method('WriteDouble',
+ 'void',
+ [param('double', 'v')])
+ ## tag-buffer.h: void ns3::TagBuffer::WriteU16(uint16_t data) [member function]
+ cls.add_method('WriteU16',
+ 'void',
+ [param('uint16_t', 'data')])
+ ## tag-buffer.h: void ns3::TagBuffer::WriteU32(uint32_t data) [member function]
+ cls.add_method('WriteU32',
+ 'void',
+ [param('uint32_t', 'data')])
+ ## tag-buffer.h: void ns3::TagBuffer::WriteU64(uint64_t v) [member function]
+ cls.add_method('WriteU64',
+ 'void',
+ [param('uint64_t', 'v')])
+ ## tag-buffer.h: void ns3::TagBuffer::WriteU8(uint8_t v) [member function]
+ cls.add_method('WriteU8',
+ 'void',
+ [param('uint8_t', 'v')])
+ return
+
+def register_Ns3Chunk_methods(root_module, cls):
+ ## chunk.h: ns3::Chunk::Chunk() [constructor]
+ cls.add_constructor([])
+ ## chunk.h: ns3::Chunk::Chunk(ns3::Chunk const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::Chunk const &', 'arg0')])
+ ## chunk.h: uint32_t ns3::Chunk::Deserialize(ns3::Buffer::Iterator start) [member function]
+ cls.add_method('Deserialize',
+ 'uint32_t',
+ [param('ns3::Buffer::Iterator', 'start')],
+ is_pure_virtual=True, is_virtual=True)
+ ## chunk.h: static ns3::TypeId ns3::Chunk::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## chunk.h: void ns3::Chunk::Print(std::ostream & os) const [member function]
+ cls.add_method('Print',
+ 'void',
+ [param('std::ostream &', 'os')],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ return
+
+def register_Ns3Header_methods(root_module, cls):
+ cls.add_output_stream_operator()
+ ## header.h: ns3::Header::Header() [constructor]
+ cls.add_constructor([])
+ ## header.h: ns3::Header::Header(ns3::Header const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::Header const &', 'arg0')])
+ ## header.h: uint32_t ns3::Header::Deserialize(ns3::Buffer::Iterator start) [member function]
+ cls.add_method('Deserialize',
+ 'uint32_t',
+ [param('ns3::Buffer::Iterator', 'start')],
+ is_pure_virtual=True, is_virtual=True)
+ ## header.h: uint32_t ns3::Header::GetSerializedSize() const [member function]
+ cls.add_method('GetSerializedSize',
+ 'uint32_t',
+ [],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## header.h: static ns3::TypeId ns3::Header::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## header.h: void ns3::Header::Print(std::ostream & os) const [member function]
+ cls.add_method('Print',
+ 'void',
+ [param('std::ostream &', 'os')],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## header.h: void ns3::Header::Serialize(ns3::Buffer::Iterator start) const [member function]
+ cls.add_method('Serialize',
+ 'void',
+ [param('ns3::Buffer::Iterator', 'start')],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ return
+
+def register_Ns3PacketBurst_methods(root_module, cls):
+ ## packet-burst.h: ns3::PacketBurst::PacketBurst(ns3::PacketBurst const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::PacketBurst const &', 'arg0')])
+ ## packet-burst.h: ns3::PacketBurst::PacketBurst() [constructor]
+ cls.add_constructor([])
+ ## packet-burst.h: void ns3::PacketBurst::AddPacket(ns3::Ptr packet) [member function]
+ cls.add_method('AddPacket',
+ 'void',
+ [param('ns3::Ptr< ns3::Packet >', 'packet')])
+ ## packet-burst.h: std::_List_const_iterator > ns3::PacketBurst::Begin() const [member function]
+ cls.add_method('Begin',
+ 'std::_List_const_iterator< ns3::Ptr< ns3::Packet > >',
+ [],
+ is_const=True)
+ ## packet-burst.h: ns3::Ptr ns3::PacketBurst::Copy() const [member function]
+ cls.add_method('Copy',
+ 'ns3::Ptr< ns3::PacketBurst >',
+ [],
+ is_const=True)
+ ## packet-burst.h: std::_List_const_iterator > ns3::PacketBurst::End() const [member function]
+ cls.add_method('End',
+ 'std::_List_const_iterator< ns3::Ptr< ns3::Packet > >',
+ [],
+ is_const=True)
+ ## packet-burst.h: uint32_t ns3::PacketBurst::GetNPackets() const [member function]
+ cls.add_method('GetNPackets',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## packet-burst.h: std::list, std::allocator > > ns3::PacketBurst::GetPackets() const [member function]
+ cls.add_method('GetPackets',
+ 'std::list< ns3::Ptr< ns3::Packet > >',
+ [],
+ is_const=True)
+ ## packet-burst.h: uint32_t ns3::PacketBurst::GetSize() const [member function]
+ cls.add_method('GetSize',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## packet-burst.h: static ns3::TypeId ns3::PacketBurst::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## packet-burst.h: void ns3::PacketBurst::DoDispose() [member function]
+ cls.add_method('DoDispose',
+ 'void',
+ [],
+ visibility='private', is_virtual=True)
+ return
+
+def register_Ns3PcapFileWrapper_methods(root_module, cls):
+ ## pcap-file-wrapper.h: static ns3::TypeId ns3::PcapFileWrapper::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## pcap-file-wrapper.h: ns3::PcapFileWrapper::PcapFileWrapper() [constructor]
+ cls.add_constructor([])
+ ## pcap-file-wrapper.h: bool ns3::PcapFileWrapper::Fail() const [member function]
+ cls.add_method('Fail',
+ 'bool',
+ [],
+ is_const=True)
+ ## pcap-file-wrapper.h: bool ns3::PcapFileWrapper::Eof() const [member function]
+ cls.add_method('Eof',
+ 'bool',
+ [],
+ is_const=True)
+ ## pcap-file-wrapper.h: void ns3::PcapFileWrapper::Clear() [member function]
+ cls.add_method('Clear',
+ 'void',
+ [])
+ ## pcap-file-wrapper.h: void ns3::PcapFileWrapper::Open(std::string const & filename, std::_Ios_Openmode mode) [member function]
+ cls.add_method('Open',
+ 'void',
+ [param('std::string const &', 'filename'), param('std::_Ios_Openmode', 'mode')])
+ ## pcap-file-wrapper.h: void ns3::PcapFileWrapper::Close() [member function]
+ cls.add_method('Close',
+ 'void',
+ [])
+ ## pcap-file-wrapper.h: void ns3::PcapFileWrapper::Init(uint32_t dataLinkType, uint32_t snapLen=std::numeric_limits::max(), int32_t tzCorrection=ns3::PcapFile::ZONE_DEFAULT) [member function]
+ cls.add_method('Init',
+ 'void',
+ [param('uint32_t', 'dataLinkType'), param('uint32_t', 'snapLen', default_value='std::numeric_limits::max()'), param('int32_t', 'tzCorrection', default_value='ns3::PcapFile::ZONE_DEFAULT')])
+ ## pcap-file-wrapper.h: void ns3::PcapFileWrapper::Write(ns3::Time t, ns3::Ptr p) [member function]
+ cls.add_method('Write',
+ 'void',
+ [param('ns3::Time', 't'), param('ns3::Ptr< ns3::Packet const >', 'p')])
+ ## pcap-file-wrapper.h: void ns3::PcapFileWrapper::Write(ns3::Time t, ns3::Header & header, ns3::Ptr p) [member function]
+ cls.add_method('Write',
+ 'void',
+ [param('ns3::Time', 't'), param('ns3::Header &', 'header'), param('ns3::Ptr< ns3::Packet const >', 'p')])
+ ## pcap-file-wrapper.h: void ns3::PcapFileWrapper::Write(ns3::Time t, uint8_t const * buffer, uint32_t length) [member function]
+ cls.add_method('Write',
+ 'void',
+ [param('ns3::Time', 't'), param('uint8_t const *', 'buffer'), param('uint32_t', 'length')])
+ ## pcap-file-wrapper.h: uint32_t ns3::PcapFileWrapper::GetMagic() [member function]
+ cls.add_method('GetMagic',
+ 'uint32_t',
+ [])
+ ## pcap-file-wrapper.h: uint16_t ns3::PcapFileWrapper::GetVersionMajor() [member function]
+ cls.add_method('GetVersionMajor',
+ 'uint16_t',
+ [])
+ ## pcap-file-wrapper.h: uint16_t ns3::PcapFileWrapper::GetVersionMinor() [member function]
+ cls.add_method('GetVersionMinor',
+ 'uint16_t',
+ [])
+ ## pcap-file-wrapper.h: int32_t ns3::PcapFileWrapper::GetTimeZoneOffset() [member function]
+ cls.add_method('GetTimeZoneOffset',
+ 'int32_t',
+ [])
+ ## pcap-file-wrapper.h: uint32_t ns3::PcapFileWrapper::GetSigFigs() [member function]
+ cls.add_method('GetSigFigs',
+ 'uint32_t',
+ [])
+ ## pcap-file-wrapper.h: uint32_t ns3::PcapFileWrapper::GetSnapLen() [member function]
+ cls.add_method('GetSnapLen',
+ 'uint32_t',
+ [])
+ ## pcap-file-wrapper.h: uint32_t ns3::PcapFileWrapper::GetDataLinkType() [member function]
+ cls.add_method('GetDataLinkType',
+ 'uint32_t',
+ [])
+ return
+
+def register_Ns3PropagationDelayModel_methods(root_module, cls):
+ ## propagation-delay-model.h: ns3::PropagationDelayModel::PropagationDelayModel() [constructor]
+ cls.add_constructor([])
+ ## propagation-delay-model.h: ns3::PropagationDelayModel::PropagationDelayModel(ns3::PropagationDelayModel const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::PropagationDelayModel const &', 'arg0')])
+ ## propagation-delay-model.h: ns3::Time ns3::PropagationDelayModel::GetDelay(ns3::Ptr a, ns3::Ptr b) const [member function]
+ cls.add_method('GetDelay',
+ 'ns3::Time',
+ [param('ns3::Ptr< ns3::MobilityModel >', 'a'), param('ns3::Ptr< ns3::MobilityModel >', 'b')],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## propagation-delay-model.h: static ns3::TypeId ns3::PropagationDelayModel::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ return
+
+def register_Ns3PropagationLossModel_methods(root_module, cls):
+ ## propagation-loss-model.h: static ns3::TypeId ns3::PropagationLossModel::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## propagation-loss-model.h: ns3::PropagationLossModel::PropagationLossModel() [constructor]
+ cls.add_constructor([])
+ ## propagation-loss-model.h: void ns3::PropagationLossModel::SetNext(ns3::Ptr next) [member function]
+ cls.add_method('SetNext',
+ 'void',
+ [param('ns3::Ptr< ns3::PropagationLossModel >', 'next')])
+ ## propagation-loss-model.h: double ns3::PropagationLossModel::CalcRxPower(double txPowerDbm, ns3::Ptr a, ns3::Ptr b) const [member function]
+ cls.add_method('CalcRxPower',
+ 'double',
+ [param('double', 'txPowerDbm'), param('ns3::Ptr< ns3::MobilityModel >', 'a'), param('ns3::Ptr< ns3::MobilityModel >', 'b')],
+ is_const=True)
+ ## propagation-loss-model.h: double ns3::PropagationLossModel::DoCalcRxPower(double txPowerDbm, ns3::Ptr a, ns3::Ptr b) const [member function]
+ cls.add_method('DoCalcRxPower',
+ 'double',
+ [param('double', 'txPowerDbm'), param('ns3::Ptr< ns3::MobilityModel >', 'a'), param('ns3::Ptr< ns3::MobilityModel >', 'b')],
+ is_pure_virtual=True, is_const=True, visibility='private', is_virtual=True)
+ return
+
+def register_Ns3RandomPropagationDelayModel_methods(root_module, cls):
+ ## propagation-delay-model.h: ns3::RandomPropagationDelayModel::RandomPropagationDelayModel(ns3::RandomPropagationDelayModel const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::RandomPropagationDelayModel const &', 'arg0')])
+ ## propagation-delay-model.h: ns3::RandomPropagationDelayModel::RandomPropagationDelayModel() [constructor]
+ cls.add_constructor([])
+ ## propagation-delay-model.h: ns3::Time ns3::RandomPropagationDelayModel::GetDelay(ns3::Ptr a, ns3::Ptr b) const [member function]
+ cls.add_method('GetDelay',
+ 'ns3::Time',
+ [param('ns3::Ptr< ns3::MobilityModel >', 'a'), param('ns3::Ptr< ns3::MobilityModel >', 'b')],
+ is_const=True, is_virtual=True)
+ ## propagation-delay-model.h: static ns3::TypeId ns3::RandomPropagationDelayModel::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ return
+
+def register_Ns3RandomPropagationLossModel_methods(root_module, cls):
+ ## propagation-loss-model.h: static ns3::TypeId ns3::RandomPropagationLossModel::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## propagation-loss-model.h: ns3::RandomPropagationLossModel::RandomPropagationLossModel() [constructor]
+ cls.add_constructor([])
+ ## propagation-loss-model.h: double ns3::RandomPropagationLossModel::DoCalcRxPower(double txPowerDbm, ns3::Ptr a, ns3::Ptr b) const [member function]
+ cls.add_method('DoCalcRxPower',
+ 'double',
+ [param('double', 'txPowerDbm'), param('ns3::Ptr< ns3::MobilityModel >', 'a'), param('ns3::Ptr< ns3::MobilityModel >', 'b')],
+ is_const=True, visibility='private', is_virtual=True)
+ return
+
+def register_Ns3RangePropagationLossModel_methods(root_module, cls):
+ ## propagation-loss-model.h: static ns3::TypeId ns3::RangePropagationLossModel::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## propagation-loss-model.h: ns3::RangePropagationLossModel::RangePropagationLossModel() [constructor]
+ cls.add_constructor([])
+ ## propagation-loss-model.h: double ns3::RangePropagationLossModel::DoCalcRxPower(double txPowerDbm, ns3::Ptr a, ns3::Ptr b) const [member function]
+ cls.add_method('DoCalcRxPower',
+ 'double',
+ [param('double', 'txPowerDbm'), param('ns3::Ptr< ns3::MobilityModel >', 'a'), param('ns3::Ptr< ns3::MobilityModel >', 'b')],
+ is_const=True, visibility='private', is_virtual=True)
+ return
+
+def register_Ns3SpectrumConverter_methods(root_module, cls):
+ ## spectrum-converter.h: ns3::SpectrumConverter::SpectrumConverter(ns3::SpectrumConverter const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::SpectrumConverter const &', 'arg0')])
+ ## spectrum-converter.h: ns3::SpectrumConverter::SpectrumConverter(ns3::Ptr fromSpectrumModel, ns3::Ptr toSpectrumModel) [constructor]
+ cls.add_constructor([param('ns3::Ptr< ns3::SpectrumModel const >', 'fromSpectrumModel'), param('ns3::Ptr< ns3::SpectrumModel const >', 'toSpectrumModel')])
+ ## spectrum-converter.h: ns3::SpectrumConverter::SpectrumConverter() [constructor]
+ cls.add_constructor([])
+ ## spectrum-converter.h: ns3::Ptr ns3::SpectrumConverter::Convert(ns3::Ptr vvf) const [member function]
+ cls.add_method('Convert',
+ 'ns3::Ptr< ns3::SpectrumValue >',
+ [param('ns3::Ptr< ns3::SpectrumValue const >', 'vvf')],
+ is_const=True)
+ return
+
+def register_Ns3SpectrumModel_methods(root_module, cls):
+ cls.add_binary_comparison_operator('==')
+ ## spectrum-model.h: ns3::SpectrumModel::SpectrumModel(ns3::SpectrumModel const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::SpectrumModel const &', 'arg0')])
+ ## spectrum-model.h: ns3::SpectrumModel::SpectrumModel(std::vector > centerFreqs) [constructor]
+ cls.add_constructor([param('std::vector< double >', 'centerFreqs')])
+ ## spectrum-model.h: ns3::SpectrumModel::SpectrumModel(ns3::Bands bands) [constructor]
+ cls.add_constructor([param('ns3::Bands', 'bands')])
+ ## spectrum-model.h: __gnu_cxx::__normal_iterator > > ns3::SpectrumModel::Begin() const [member function]
+ cls.add_method('Begin',
+ '__gnu_cxx::__normal_iterator< ns3::BandInfo const *, std::vector< ns3::BandInfo > >',
+ [],
+ is_const=True)
+ ## spectrum-model.h: __gnu_cxx::__normal_iterator > > ns3::SpectrumModel::End() const [member function]
+ cls.add_method('End',
+ '__gnu_cxx::__normal_iterator< ns3::BandInfo const *, std::vector< ns3::BandInfo > >',
+ [],
+ is_const=True)
+ ## spectrum-model.h: size_t ns3::SpectrumModel::GetNumBands() const [member function]
+ cls.add_method('GetNumBands',
+ 'size_t',
+ [],
+ is_const=True)
+ ## spectrum-model.h: ns3::SpectrumModelUid_t ns3::SpectrumModel::GetUid() const [member function]
+ cls.add_method('GetUid',
+ 'ns3::SpectrumModelUid_t',
+ [],
+ is_const=True)
+ return
+
+def register_Ns3SpectrumPropagationLossModel_methods(root_module, cls):
+ ## spectrum-propagation-loss-model.h: ns3::SpectrumPropagationLossModel::SpectrumPropagationLossModel(ns3::SpectrumPropagationLossModel const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::SpectrumPropagationLossModel const &', 'arg0')])
+ ## spectrum-propagation-loss-model.h: ns3::SpectrumPropagationLossModel::SpectrumPropagationLossModel() [constructor]
+ cls.add_constructor([])
+ ## spectrum-propagation-loss-model.h: ns3::Ptr ns3::SpectrumPropagationLossModel::CalcRxPowerSpectralDensity(ns3::Ptr txPsd, ns3::Ptr a, ns3::Ptr b) const [member function]
+ cls.add_method('CalcRxPowerSpectralDensity',
+ 'ns3::Ptr< ns3::SpectrumValue >',
+ [param('ns3::Ptr< ns3::SpectrumValue const >', 'txPsd'), param('ns3::Ptr< ns3::MobilityModel const >', 'a'), param('ns3::Ptr< ns3::MobilityModel const >', 'b')],
+ is_const=True)
+ ## spectrum-propagation-loss-model.h: static ns3::TypeId ns3::SpectrumPropagationLossModel::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## spectrum-propagation-loss-model.h: void ns3::SpectrumPropagationLossModel::SetNext(ns3::Ptr next) [member function]
+ cls.add_method('SetNext',
+ 'void',
+ [param('ns3::Ptr< ns3::SpectrumPropagationLossModel >', 'next')])
+ ## spectrum-propagation-loss-model.h: void ns3::SpectrumPropagationLossModel::DoDispose() [member function]
+ cls.add_method('DoDispose',
+ 'void',
+ [],
+ visibility='protected', is_virtual=True)
+ ## spectrum-propagation-loss-model.h: ns3::Ptr ns3::SpectrumPropagationLossModel::DoCalcRxPowerSpectralDensity(ns3::Ptr txPsd, ns3::Ptr a, ns3::Ptr b) const [member function]
+ cls.add_method('DoCalcRxPowerSpectralDensity',
+ 'ns3::Ptr< ns3::SpectrumValue >',
+ [param('ns3::Ptr< ns3::SpectrumValue const >', 'txPsd'), param('ns3::Ptr< ns3::MobilityModel const >', 'a'), param('ns3::Ptr< ns3::MobilityModel const >', 'b')],
+ is_pure_virtual=True, is_const=True, visibility='private', is_virtual=True)
+ return
+
+def register_Ns3SpectrumValue_methods(root_module, cls):
+ cls.add_output_stream_operator()
+ cls.add_binary_numeric_operator('*', root_module['ns3::SpectrumValue'], root_module['ns3::SpectrumValue'], param('double', 'right'))
+ cls.add_binary_numeric_operator('*', root_module['ns3::SpectrumValue'], root_module['ns3::SpectrumValue'], param('ns3::SpectrumValue const &', 'right'))
+ cls.add_binary_numeric_operator('+', root_module['ns3::SpectrumValue'], root_module['ns3::SpectrumValue'], param('double', 'right'))
+ cls.add_binary_numeric_operator('+', root_module['ns3::SpectrumValue'], root_module['ns3::SpectrumValue'], param('ns3::SpectrumValue const &', 'right'))
+ cls.add_unary_numeric_operator('-')
+ cls.add_binary_numeric_operator('-', root_module['ns3::SpectrumValue'], root_module['ns3::SpectrumValue'], param('double', 'right'))
+ cls.add_binary_numeric_operator('-', root_module['ns3::SpectrumValue'], root_module['ns3::SpectrumValue'], param('ns3::SpectrumValue const &', 'right'))
+ cls.add_binary_numeric_operator('/', root_module['ns3::SpectrumValue'], root_module['ns3::SpectrumValue'], param('double', 'right'))
+ cls.add_binary_numeric_operator('/', root_module['ns3::SpectrumValue'], root_module['ns3::SpectrumValue'], param('ns3::SpectrumValue const &', 'right'))
+ cls.add_inplace_numeric_operator('*=', param('ns3::SpectrumValue const &', 'right'))
+ cls.add_inplace_numeric_operator('*=', param('double', 'right'))
+ cls.add_inplace_numeric_operator('+=', param('ns3::SpectrumValue const &', 'right'))
+ cls.add_inplace_numeric_operator('+=', param('double', 'right'))
+ cls.add_inplace_numeric_operator('-=', param('ns3::SpectrumValue const &', 'right'))
+ cls.add_inplace_numeric_operator('-=', param('double', 'right'))
+ cls.add_inplace_numeric_operator('/=', param('ns3::SpectrumValue const &', 'right'))
+ cls.add_inplace_numeric_operator('/=', param('double', 'right'))
+ ## spectrum-value.h: ns3::SpectrumValue::SpectrumValue(ns3::SpectrumValue const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::SpectrumValue const &', 'arg0')])
+ ## spectrum-value.h: ns3::SpectrumValue::SpectrumValue(ns3::Ptr sm) [constructor]
+ cls.add_constructor([param('ns3::Ptr< ns3::SpectrumModel const >', 'sm')])
+ ## spectrum-value.h: ns3::SpectrumValue::SpectrumValue() [constructor]
+ cls.add_constructor([])
+ ## spectrum-value.h: __gnu_cxx::__normal_iterator > > ns3::SpectrumValue::ConstBandsBegin() const [member function]
+ cls.add_method('ConstBandsBegin',
+ '__gnu_cxx::__normal_iterator< ns3::BandInfo const *, std::vector< ns3::BandInfo > >',
+ [],
+ is_const=True)
+ ## spectrum-value.h: __gnu_cxx::__normal_iterator > > ns3::SpectrumValue::ConstBandsEnd() const [member function]
+ cls.add_method('ConstBandsEnd',
+ '__gnu_cxx::__normal_iterator< ns3::BandInfo const *, std::vector< ns3::BandInfo > >',
+ [],
+ is_const=True)
+ ## spectrum-value.h: __gnu_cxx::__normal_iterator > > ns3::SpectrumValue::ConstValuesBegin() const [member function]
+ cls.add_method('ConstValuesBegin',
+ '__gnu_cxx::__normal_iterator< double const *, std::vector< double > >',
+ [],
+ is_const=True)
+ ## spectrum-value.h: __gnu_cxx::__normal_iterator > > ns3::SpectrumValue::ConstValuesEnd() const [member function]
+ cls.add_method('ConstValuesEnd',
+ '__gnu_cxx::__normal_iterator< double const *, std::vector< double > >',
+ [],
+ is_const=True)
+ ## spectrum-value.h: ns3::Ptr ns3::SpectrumValue::Copy() const [member function]
+ cls.add_method('Copy',
+ 'ns3::Ptr< ns3::SpectrumValue >',
+ [],
+ is_const=True)
+ ## spectrum-value.h: ns3::Ptr ns3::SpectrumValue::GetSpectrumModel() const [member function]
+ cls.add_method('GetSpectrumModel',
+ 'ns3::Ptr< ns3::SpectrumModel const >',
+ [],
+ is_const=True)
+ ## spectrum-value.h: ns3::SpectrumModelUid_t ns3::SpectrumValue::GetSpectrumModelUid() const [member function]
+ cls.add_method('GetSpectrumModelUid',
+ 'ns3::SpectrumModelUid_t',
+ [],
+ is_const=True)
+ ## spectrum-value.h: __gnu_cxx::__normal_iterator > > ns3::SpectrumValue::ValuesBegin() [member function]
+ cls.add_method('ValuesBegin',
+ '__gnu_cxx::__normal_iterator< double *, std::vector< double > >',
+ [])
+ ## spectrum-value.h: __gnu_cxx::__normal_iterator > > ns3::SpectrumValue::ValuesEnd() [member function]
+ cls.add_method('ValuesEnd',
+ '__gnu_cxx::__normal_iterator< double *, std::vector< double > >',
+ [])
+ return
+
+def register_Ns3ThreeLogDistancePropagationLossModel_methods(root_module, cls):
+ ## propagation-loss-model.h: static ns3::TypeId ns3::ThreeLogDistancePropagationLossModel::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## propagation-loss-model.h: ns3::ThreeLogDistancePropagationLossModel::ThreeLogDistancePropagationLossModel() [constructor]
+ cls.add_constructor([])
+ ## propagation-loss-model.h: double ns3::ThreeLogDistancePropagationLossModel::DoCalcRxPower(double txPowerDbm, ns3::Ptr a, ns3::Ptr b) const [member function]
+ cls.add_method('DoCalcRxPower',
+ 'double',
+ [param('double', 'txPowerDbm'), param('ns3::Ptr< ns3::MobilityModel >', 'a'), param('ns3::Ptr< ns3::MobilityModel >', 'b')],
+ is_const=True, visibility='private', is_virtual=True)
+ return
+
+def register_Ns3Trailer_methods(root_module, cls):
+ cls.add_output_stream_operator()
+ ## trailer.h: ns3::Trailer::Trailer() [constructor]
+ cls.add_constructor([])
+ ## trailer.h: ns3::Trailer::Trailer(ns3::Trailer const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::Trailer const &', 'arg0')])
+ ## trailer.h: uint32_t ns3::Trailer::Deserialize(ns3::Buffer::Iterator end) [member function]
+ cls.add_method('Deserialize',
+ 'uint32_t',
+ [param('ns3::Buffer::Iterator', 'end')],
+ is_pure_virtual=True, is_virtual=True)
+ ## trailer.h: uint32_t ns3::Trailer::GetSerializedSize() const [member function]
+ cls.add_method('GetSerializedSize',
+ 'uint32_t',
+ [],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## trailer.h: static ns3::TypeId ns3::Trailer::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## trailer.h: void ns3::Trailer::Print(std::ostream & os) const [member function]
+ cls.add_method('Print',
+ 'void',
+ [param('std::ostream &', 'os')],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## trailer.h: void ns3::Trailer::Serialize(ns3::Buffer::Iterator start) const [member function]
+ cls.add_method('Serialize',
+ 'void',
+ [param('ns3::Buffer::Iterator', 'start')],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ return
+
+def register_Ns3TwoRayGroundPropagationLossModel_methods(root_module, cls):
+ ## propagation-loss-model.h: static ns3::TypeId ns3::TwoRayGroundPropagationLossModel::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## propagation-loss-model.h: ns3::TwoRayGroundPropagationLossModel::TwoRayGroundPropagationLossModel() [constructor]
+ cls.add_constructor([])
+ ## propagation-loss-model.h: void ns3::TwoRayGroundPropagationLossModel::SetLambda(double frequency, double speed) [member function]
+ cls.add_method('SetLambda',
+ 'void',
+ [param('double', 'frequency'), param('double', 'speed')])
+ ## propagation-loss-model.h: void ns3::TwoRayGroundPropagationLossModel::SetLambda(double lambda) [member function]
+ cls.add_method('SetLambda',
+ 'void',
+ [param('double', 'lambda')])
+ ## propagation-loss-model.h: void ns3::TwoRayGroundPropagationLossModel::SetSystemLoss(double systemLoss) [member function]
+ cls.add_method('SetSystemLoss',
+ 'void',
+ [param('double', 'systemLoss')])
+ ## propagation-loss-model.h: void ns3::TwoRayGroundPropagationLossModel::SetMinDistance(double minDistance) [member function]
+ cls.add_method('SetMinDistance',
+ 'void',
+ [param('double', 'minDistance')])
+ ## propagation-loss-model.h: double ns3::TwoRayGroundPropagationLossModel::GetMinDistance() const [member function]
+ cls.add_method('GetMinDistance',
+ 'double',
+ [],
+ is_const=True)
+ ## propagation-loss-model.h: double ns3::TwoRayGroundPropagationLossModel::GetLambda() const [member function]
+ cls.add_method('GetLambda',
+ 'double',
+ [],
+ is_const=True)
+ ## propagation-loss-model.h: double ns3::TwoRayGroundPropagationLossModel::GetSystemLoss() const [member function]
+ cls.add_method('GetSystemLoss',
+ 'double',
+ [],
+ is_const=True)
+ ## propagation-loss-model.h: void ns3::TwoRayGroundPropagationLossModel::SetHeightAboveZ(double heightAboveZ) [member function]
+ cls.add_method('SetHeightAboveZ',
+ 'void',
+ [param('double', 'heightAboveZ')])
+ ## propagation-loss-model.h: double ns3::TwoRayGroundPropagationLossModel::DoCalcRxPower(double txPowerDbm, ns3::Ptr a, ns3::Ptr b) const [member function]
+ cls.add_method('DoCalcRxPower',
+ 'double',
+ [param('double', 'txPowerDbm'), param('ns3::Ptr< ns3::MobilityModel >', 'a'), param('ns3::Ptr< ns3::MobilityModel >', 'b')],
+ is_const=True, visibility='private', is_virtual=True)
+ return
+
+def register_Ns3ConstantSpeedPropagationDelayModel_methods(root_module, cls):
+ ## propagation-delay-model.h: ns3::ConstantSpeedPropagationDelayModel::ConstantSpeedPropagationDelayModel(ns3::ConstantSpeedPropagationDelayModel const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::ConstantSpeedPropagationDelayModel const &', 'arg0')])
+ ## propagation-delay-model.h: ns3::ConstantSpeedPropagationDelayModel::ConstantSpeedPropagationDelayModel() [constructor]
+ cls.add_constructor([])
+ ## propagation-delay-model.h: ns3::Time ns3::ConstantSpeedPropagationDelayModel::GetDelay(ns3::Ptr a, ns3::Ptr b) const [member function]
+ cls.add_method('GetDelay',
+ 'ns3::Time',
+ [param('ns3::Ptr< ns3::MobilityModel >', 'a'), param('ns3::Ptr< ns3::MobilityModel >', 'b')],
+ is_const=True, is_virtual=True)
+ ## propagation-delay-model.h: double ns3::ConstantSpeedPropagationDelayModel::GetSpeed() const [member function]
+ cls.add_method('GetSpeed',
+ 'double',
+ [],
+ is_const=True)
+ ## propagation-delay-model.h: static ns3::TypeId ns3::ConstantSpeedPropagationDelayModel::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## propagation-delay-model.h: void ns3::ConstantSpeedPropagationDelayModel::SetSpeed(double speed) [member function]
+ cls.add_method('SetSpeed',
+ 'void',
+ [param('double', 'speed')])
+ return
+
+def register_Ns3Cost231PropagationLossModel_methods(root_module, cls):
+ ## cost231-propagation-loss-model.h: static ns3::TypeId ns3::Cost231PropagationLossModel::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## cost231-propagation-loss-model.h: ns3::Cost231PropagationLossModel::Cost231PropagationLossModel() [constructor]
+ cls.add_constructor([])
+ ## cost231-propagation-loss-model.h: double ns3::Cost231PropagationLossModel::GetLoss(ns3::Ptr a, ns3::Ptr b) const [member function]
+ cls.add_method('GetLoss',
+ 'double',
+ [param('ns3::Ptr< ns3::MobilityModel >', 'a'), param('ns3::Ptr< ns3::MobilityModel >', 'b')],
+ is_const=True)
+ ## cost231-propagation-loss-model.h: void ns3::Cost231PropagationLossModel::SetBSAntennaHeight(double height) [member function]
+ cls.add_method('SetBSAntennaHeight',
+ 'void',
+ [param('double', 'height')])
+ ## cost231-propagation-loss-model.h: void ns3::Cost231PropagationLossModel::SetSSAntennaHeight(double height) [member function]
+ cls.add_method('SetSSAntennaHeight',
+ 'void',
+ [param('double', 'height')])
+ ## cost231-propagation-loss-model.h: void ns3::Cost231PropagationLossModel::SetEnvironment(ns3::Cost231PropagationLossModel::Environment env) [member function]
+ cls.add_method('SetEnvironment',
+ 'void',
+ [param('ns3::Cost231PropagationLossModel::Environment', 'env')])
+ ## cost231-propagation-loss-model.h: void ns3::Cost231PropagationLossModel::SetLambda(double lambda) [member function]
+ cls.add_method('SetLambda',
+ 'void',
+ [param('double', 'lambda')])
+ ## cost231-propagation-loss-model.h: void ns3::Cost231PropagationLossModel::SetMinDistance(double minDistance) [member function]
+ cls.add_method('SetMinDistance',
+ 'void',
+ [param('double', 'minDistance')])
+ ## cost231-propagation-loss-model.h: double ns3::Cost231PropagationLossModel::GetBSAntennaHeight() const [member function]
+ cls.add_method('GetBSAntennaHeight',
+ 'double',
+ [],
+ is_const=True)
+ ## cost231-propagation-loss-model.h: double ns3::Cost231PropagationLossModel::GetSSAntennaHeight() const [member function]
+ cls.add_method('GetSSAntennaHeight',
+ 'double',
+ [],
+ is_const=True)
+ ## cost231-propagation-loss-model.h: ns3::Cost231PropagationLossModel::Environment ns3::Cost231PropagationLossModel::GetEnvironment() const [member function]
+ cls.add_method('GetEnvironment',
+ 'ns3::Cost231PropagationLossModel::Environment',
+ [],
+ is_const=True)
+ ## cost231-propagation-loss-model.h: double ns3::Cost231PropagationLossModel::GetMinDistance() const [member function]
+ cls.add_method('GetMinDistance',
+ 'double',
+ [],
+ is_const=True)
+ ## cost231-propagation-loss-model.h: double ns3::Cost231PropagationLossModel::GetLambda() const [member function]
+ cls.add_method('GetLambda',
+ 'double',
+ [],
+ is_const=True)
+ ## cost231-propagation-loss-model.h: void ns3::Cost231PropagationLossModel::SetLambda(double frequency, double speed) [member function]
+ cls.add_method('SetLambda',
+ 'void',
+ [param('double', 'frequency'), param('double', 'speed')])
+ ## cost231-propagation-loss-model.h: double ns3::Cost231PropagationLossModel::GetShadowing() [member function]
+ cls.add_method('GetShadowing',
+ 'double',
+ [])
+ ## cost231-propagation-loss-model.h: void ns3::Cost231PropagationLossModel::SetShadowing(double shadowing) [member function]
+ cls.add_method('SetShadowing',
+ 'void',
+ [param('double', 'shadowing')])
+ ## cost231-propagation-loss-model.h: double ns3::Cost231PropagationLossModel::DoCalcRxPower(double txPowerDbm, ns3::Ptr a, ns3::Ptr b) const [member function]
+ cls.add_method('DoCalcRxPower',
+ 'double',
+ [param('double', 'txPowerDbm'), param('ns3::Ptr< ns3::MobilityModel >', 'a'), param('ns3::Ptr< ns3::MobilityModel >', 'b')],
+ is_const=True, visibility='private', is_virtual=True)
+ return
+
+def register_Ns3DataRateChecker_methods(root_module, cls):
+ ## data-rate.h: ns3::DataRateChecker::DataRateChecker() [constructor]
+ cls.add_constructor([])
+ ## data-rate.h: ns3::DataRateChecker::DataRateChecker(ns3::DataRateChecker const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::DataRateChecker const &', 'arg0')])
+ return
+
+def register_Ns3DataRateValue_methods(root_module, cls):
+ ## data-rate.h: ns3::DataRateValue::DataRateValue() [constructor]
+ cls.add_constructor([])
+ ## data-rate.h: ns3::DataRateValue::DataRateValue(ns3::DataRateValue const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::DataRateValue const &', 'arg0')])
+ ## data-rate.h: ns3::DataRateValue::DataRateValue(ns3::DataRate const & value) [constructor]
+ cls.add_constructor([param('ns3::DataRate const &', 'value')])
+ ## data-rate.h: ns3::Ptr ns3::DataRateValue::Copy() const [member function]
+ cls.add_method('Copy',
+ 'ns3::Ptr< ns3::AttributeValue >',
+ [],
+ is_const=True, is_virtual=True)
+ ## data-rate.h: bool ns3::DataRateValue::DeserializeFromString(std::string value, ns3::Ptr checker) [member function]
+ cls.add_method('DeserializeFromString',
+ 'bool',
+ [param('std::string', 'value'), param('ns3::Ptr< ns3::AttributeChecker const >', 'checker')],
+ is_virtual=True)
+ ## data-rate.h: ns3::DataRate ns3::DataRateValue::Get() const [member function]
+ cls.add_method('Get',
+ 'ns3::DataRate',
+ [],
+ is_const=True)
+ ## data-rate.h: std::string ns3::DataRateValue::SerializeToString(ns3::Ptr checker) const [member function]
+ cls.add_method('SerializeToString',
+ 'std::string',
+ [param('ns3::Ptr< ns3::AttributeChecker const >', 'checker')],
+ is_const=True, is_virtual=True)
+ ## data-rate.h: void ns3::DataRateValue::Set(ns3::DataRate const & value) [member function]
+ cls.add_method('Set',
+ 'void',
+ [param('ns3::DataRate const &', 'value')])
+ return
+
+def register_Ns3ErrorModel_methods(root_module, cls):
+ ## error-model.h: ns3::ErrorModel::ErrorModel(ns3::ErrorModel const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::ErrorModel const &', 'arg0')])
+ ## error-model.h: ns3::ErrorModel::ErrorModel() [constructor]
+ cls.add_constructor([])
+ ## error-model.h: void ns3::ErrorModel::Disable() [member function]
+ cls.add_method('Disable',
+ 'void',
+ [])
+ ## error-model.h: void ns3::ErrorModel::Enable() [member function]
+ cls.add_method('Enable',
+ 'void',
+ [])
+ ## error-model.h: static ns3::TypeId ns3::ErrorModel::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## error-model.h: bool ns3::ErrorModel::IsCorrupt(ns3::Ptr pkt) [member function]
+ cls.add_method('IsCorrupt',
+ 'bool',
+ [param('ns3::Ptr< ns3::Packet >', 'pkt')])
+ ## error-model.h: bool ns3::ErrorModel::IsEnabled() const [member function]
+ cls.add_method('IsEnabled',
+ 'bool',
+ [],
+ is_const=True)
+ ## error-model.h: void ns3::ErrorModel::Reset() [member function]
+ cls.add_method('Reset',
+ 'void',
+ [])
+ ## error-model.h: bool ns3::ErrorModel::DoCorrupt(ns3::Ptr arg0) [member function]
+ cls.add_method('DoCorrupt',
+ 'bool',
+ [param('ns3::Ptr< ns3::Packet >', 'arg0')],
+ is_pure_virtual=True, visibility='private', is_virtual=True)
+ ## error-model.h: void ns3::ErrorModel::DoReset() [member function]
+ cls.add_method('DoReset',
+ 'void',
+ [],
+ is_pure_virtual=True, visibility='private', is_virtual=True)
+ return
+
+def register_Ns3FixedRssLossModel_methods(root_module, cls):
+ ## propagation-loss-model.h: static ns3::TypeId ns3::FixedRssLossModel::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## propagation-loss-model.h: ns3::FixedRssLossModel::FixedRssLossModel() [constructor]
+ cls.add_constructor([])
+ ## propagation-loss-model.h: void ns3::FixedRssLossModel::SetRss(double rss) [member function]
+ cls.add_method('SetRss',
+ 'void',
+ [param('double', 'rss')])
+ ## propagation-loss-model.h: double ns3::FixedRssLossModel::DoCalcRxPower(double txPowerDbm, ns3::Ptr a, ns3::Ptr b) const [member function]
+ cls.add_method('DoCalcRxPower',
+ 'double',
+ [param('double', 'txPowerDbm'), param('ns3::Ptr< ns3::MobilityModel >', 'a'), param('ns3::Ptr< ns3::MobilityModel >', 'b')],
+ is_const=True, visibility='private', is_virtual=True)
+ return
+
+def register_Ns3FriisPropagationLossModel_methods(root_module, cls):
+ ## propagation-loss-model.h: static ns3::TypeId ns3::FriisPropagationLossModel::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## propagation-loss-model.h: ns3::FriisPropagationLossModel::FriisPropagationLossModel() [constructor]
+ cls.add_constructor([])
+ ## propagation-loss-model.h: void ns3::FriisPropagationLossModel::SetLambda(double frequency, double speed) [member function]
+ cls.add_method('SetLambda',
+ 'void',
+ [param('double', 'frequency'), param('double', 'speed')])
+ ## propagation-loss-model.h: void ns3::FriisPropagationLossModel::SetLambda(double lambda) [member function]
+ cls.add_method('SetLambda',
+ 'void',
+ [param('double', 'lambda')])
+ ## propagation-loss-model.h: void ns3::FriisPropagationLossModel::SetSystemLoss(double systemLoss) [member function]
+ cls.add_method('SetSystemLoss',
+ 'void',
+ [param('double', 'systemLoss')])
+ ## propagation-loss-model.h: void ns3::FriisPropagationLossModel::SetMinDistance(double minDistance) [member function]
+ cls.add_method('SetMinDistance',
+ 'void',
+ [param('double', 'minDistance')])
+ ## propagation-loss-model.h: double ns3::FriisPropagationLossModel::GetMinDistance() const [member function]
+ cls.add_method('GetMinDistance',
+ 'double',
+ [],
+ is_const=True)
+ ## propagation-loss-model.h: double ns3::FriisPropagationLossModel::GetLambda() const [member function]
+ cls.add_method('GetLambda',
+ 'double',
+ [],
+ is_const=True)
+ ## propagation-loss-model.h: double ns3::FriisPropagationLossModel::GetSystemLoss() const [member function]
+ cls.add_method('GetSystemLoss',
+ 'double',
+ [],
+ is_const=True)
+ ## propagation-loss-model.h: double ns3::FriisPropagationLossModel::DoCalcRxPower(double txPowerDbm, ns3::Ptr a, ns3::Ptr b) const [member function]
+ cls.add_method('DoCalcRxPower',
+ 'double',
+ [param('double', 'txPowerDbm'), param('ns3::Ptr< ns3::MobilityModel >', 'a'), param('ns3::Ptr< ns3::MobilityModel >', 'b')],
+ is_const=True, visibility='private', is_virtual=True)
+ return
+
+def register_Ns3FriisSpectrumPropagationLossModel_methods(root_module, cls):
+ ## friis-spectrum-propagation-loss.h: ns3::FriisSpectrumPropagationLossModel::FriisSpectrumPropagationLossModel(ns3::FriisSpectrumPropagationLossModel const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::FriisSpectrumPropagationLossModel const &', 'arg0')])
+ ## friis-spectrum-propagation-loss.h: ns3::FriisSpectrumPropagationLossModel::FriisSpectrumPropagationLossModel() [constructor]
+ cls.add_constructor([])
+ ## friis-spectrum-propagation-loss.h: double ns3::FriisSpectrumPropagationLossModel::CalculateLoss(double f, double d) const [member function]
+ cls.add_method('CalculateLoss',
+ 'double',
+ [param('double', 'f'), param('double', 'd')],
+ is_const=True)
+ ## friis-spectrum-propagation-loss.h: ns3::Ptr ns3::FriisSpectrumPropagationLossModel::DoCalcRxPowerSpectralDensity(ns3::Ptr txPsd, ns3::Ptr a, ns3::Ptr b) const [member function]
+ cls.add_method('DoCalcRxPowerSpectralDensity',
+ 'ns3::Ptr< ns3::SpectrumValue >',
+ [param('ns3::Ptr< ns3::SpectrumValue const >', 'txPsd'), param('ns3::Ptr< ns3::MobilityModel const >', 'a'), param('ns3::Ptr< ns3::MobilityModel const >', 'b')],
+ is_const=True, is_virtual=True)
+ ## friis-spectrum-propagation-loss.h: static ns3::TypeId ns3::FriisSpectrumPropagationLossModel::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ return
+
+def register_Ns3JakesPropagationLossModel_methods(root_module, cls):
+ ## jakes-propagation-loss-model.h: ns3::JakesPropagationLossModel::JakesPropagationLossModel() [constructor]
+ cls.add_constructor([])
+ ## jakes-propagation-loss-model.h: uint8_t ns3::JakesPropagationLossModel::GetNOscillators() const [member function]
+ cls.add_method('GetNOscillators',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## jakes-propagation-loss-model.h: uint8_t ns3::JakesPropagationLossModel::GetNRays() const [member function]
+ cls.add_method('GetNRays',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## jakes-propagation-loss-model.h: static ns3::TypeId ns3::JakesPropagationLossModel::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## jakes-propagation-loss-model.h: void ns3::JakesPropagationLossModel::SetNOscillators(uint8_t nOscillators) [member function]
+ cls.add_method('SetNOscillators',
+ 'void',
+ [param('uint8_t', 'nOscillators')])
+ ## jakes-propagation-loss-model.h: void ns3::JakesPropagationLossModel::SetNRays(uint8_t nRays) [member function]
+ cls.add_method('SetNRays',
+ 'void',
+ [param('uint8_t', 'nRays')])
+ ## jakes-propagation-loss-model.h: double ns3::JakesPropagationLossModel::DoCalcRxPower(double txPowerDbm, ns3::Ptr a, ns3::Ptr b) const [member function]
+ cls.add_method('DoCalcRxPower',
+ 'double',
+ [param('double', 'txPowerDbm'), param('ns3::Ptr< ns3::MobilityModel >', 'a'), param('ns3::Ptr< ns3::MobilityModel >', 'b')],
+ is_const=True, visibility='private', is_virtual=True)
+ return
+
+def register_Ns3ListErrorModel_methods(root_module, cls):
+ ## error-model.h: ns3::ListErrorModel::ListErrorModel(ns3::ListErrorModel const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::ListErrorModel const &', 'arg0')])
+ ## error-model.h: ns3::ListErrorModel::ListErrorModel() [constructor]
+ cls.add_constructor([])
+ ## error-model.h: std::list > ns3::ListErrorModel::GetList() const [member function]
+ cls.add_method('GetList',
+ 'std::list< unsigned int >',
+ [],
+ is_const=True)
+ ## error-model.h: static ns3::TypeId ns3::ListErrorModel::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## error-model.h: void ns3::ListErrorModel::SetList(std::list > const & packetlist) [member function]
+ cls.add_method('SetList',
+ 'void',
+ [param('std::list< unsigned int > const &', 'packetlist')])
+ ## error-model.h: bool ns3::ListErrorModel::DoCorrupt(ns3::Ptr p) [member function]
+ cls.add_method('DoCorrupt',
+ 'bool',
+ [param('ns3::Ptr< ns3::Packet >', 'p')],
+ visibility='private', is_virtual=True)
+ ## error-model.h: void ns3::ListErrorModel::DoReset() [member function]
+ cls.add_method('DoReset',
+ 'void',
+ [],
+ visibility='private', is_virtual=True)
+ return
+
+def register_Ns3LogDistancePropagationLossModel_methods(root_module, cls):
+ ## propagation-loss-model.h: static ns3::TypeId ns3::LogDistancePropagationLossModel::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## propagation-loss-model.h: ns3::LogDistancePropagationLossModel::LogDistancePropagationLossModel() [constructor]
+ cls.add_constructor([])
+ ## propagation-loss-model.h: void ns3::LogDistancePropagationLossModel::SetPathLossExponent(double n) [member function]
+ cls.add_method('SetPathLossExponent',
+ 'void',
+ [param('double', 'n')])
+ ## propagation-loss-model.h: double ns3::LogDistancePropagationLossModel::GetPathLossExponent() const [member function]
+ cls.add_method('GetPathLossExponent',
+ 'double',
+ [],
+ is_const=True)
+ ## propagation-loss-model.h: void ns3::LogDistancePropagationLossModel::SetReference(double referenceDistance, double referenceLoss) [member function]
+ cls.add_method('SetReference',
+ 'void',
+ [param('double', 'referenceDistance'), param('double', 'referenceLoss')])
+ ## propagation-loss-model.h: double ns3::LogDistancePropagationLossModel::DoCalcRxPower(double txPowerDbm, ns3::Ptr a, ns3::Ptr b) const [member function]
+ cls.add_method('DoCalcRxPower',
+ 'double',
+ [param('double', 'txPowerDbm'), param('ns3::Ptr< ns3::MobilityModel >', 'a'), param('ns3::Ptr< ns3::MobilityModel >', 'b')],
+ is_const=True, visibility='private', is_virtual=True)
+ return
+
+def register_Ns3MatrixPropagationLossModel_methods(root_module, cls):
+ ## propagation-loss-model.h: static ns3::TypeId ns3::MatrixPropagationLossModel::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## propagation-loss-model.h: ns3::MatrixPropagationLossModel::MatrixPropagationLossModel() [constructor]
+ cls.add_constructor([])
+ ## propagation-loss-model.h: void ns3::MatrixPropagationLossModel::SetLoss(ns3::Ptr a, ns3::Ptr b, double loss, bool symmetric=true) [member function]
+ cls.add_method('SetLoss',
+ 'void',
+ [param('ns3::Ptr< ns3::Node >', 'a'), param('ns3::Ptr< ns3::Node >', 'b'), param('double', 'loss'), param('bool', 'symmetric', default_value='true')])
+ ## propagation-loss-model.h: void ns3::MatrixPropagationLossModel::SetDefaultLoss(double arg0) [member function]
+ cls.add_method('SetDefaultLoss',
+ 'void',
+ [param('double', 'arg0')])
+ ## propagation-loss-model.h: double ns3::MatrixPropagationLossModel::DoCalcRxPower(double txPowerDbm, ns3::Ptr a, ns3::Ptr b) const [member function]
+ cls.add_method('DoCalcRxPower',
+ 'double',
+ [param('double', 'txPowerDbm'), param('ns3::Ptr< ns3::MobilityModel >', 'a'), param('ns3::Ptr< ns3::MobilityModel >', 'b')],
+ is_const=True, visibility='private', is_virtual=True)
+ return
+
+def register_Ns3NakagamiPropagationLossModel_methods(root_module, cls):
+ ## propagation-loss-model.h: static ns3::TypeId ns3::NakagamiPropagationLossModel::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## propagation-loss-model.h: ns3::NakagamiPropagationLossModel::NakagamiPropagationLossModel() [constructor]
+ cls.add_constructor([])
+ ## propagation-loss-model.h: double ns3::NakagamiPropagationLossModel::DoCalcRxPower(double txPowerDbm, ns3::Ptr a, ns3::Ptr b) const [member function]
+ cls.add_method('DoCalcRxPower',
+ 'double',
+ [param('double', 'txPowerDbm'), param('ns3::Ptr< ns3::MobilityModel >', 'a'), param('ns3::Ptr< ns3::MobilityModel >', 'b')],
+ is_const=True, visibility='private', is_virtual=True)
+ return
+
+def register_Ns3NixVector_methods(root_module, cls):
+ cls.add_output_stream_operator()
+ ## nix-vector.h: ns3::NixVector::NixVector() [constructor]
+ cls.add_constructor([])
+ ## nix-vector.h: ns3::NixVector::NixVector(ns3::NixVector const & o) [copy constructor]
+ cls.add_constructor([param('ns3::NixVector const &', 'o')])
+ ## nix-vector.h: void ns3::NixVector::AddNeighborIndex(uint32_t newBits, uint32_t numberOfBits) [member function]
+ cls.add_method('AddNeighborIndex',
+ 'void',
+ [param('uint32_t', 'newBits'), param('uint32_t', 'numberOfBits')])
+ ## nix-vector.h: uint32_t ns3::NixVector::BitCount(uint32_t numberOfNeighbors) const [member function]
+ cls.add_method('BitCount',
+ 'uint32_t',
+ [param('uint32_t', 'numberOfNeighbors')],
+ is_const=True)
+ ## nix-vector.h: ns3::Ptr ns3::NixVector::Copy() const [member function]
+ cls.add_method('Copy',
+ 'ns3::Ptr< ns3::NixVector >',
+ [],
+ is_const=True)
+ ## nix-vector.h: uint32_t ns3::NixVector::Deserialize(uint32_t const * buffer, uint32_t size) [member function]
+ cls.add_method('Deserialize',
+ 'uint32_t',
+ [param('uint32_t const *', 'buffer'), param('uint32_t', 'size')])
+ ## nix-vector.h: uint32_t ns3::NixVector::ExtractNeighborIndex(uint32_t numberOfBits) [member function]
+ cls.add_method('ExtractNeighborIndex',
+ 'uint32_t',
+ [param('uint32_t', 'numberOfBits')])
+ ## nix-vector.h: uint32_t ns3::NixVector::GetRemainingBits() [member function]
+ cls.add_method('GetRemainingBits',
+ 'uint32_t',
+ [])
+ ## nix-vector.h: uint32_t ns3::NixVector::GetSerializedSize() const [member function]
+ cls.add_method('GetSerializedSize',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## nix-vector.h: uint32_t ns3::NixVector::Serialize(uint32_t * buffer, uint32_t maxSize) const [member function]
+ cls.add_method('Serialize',
+ 'uint32_t',
+ [param('uint32_t *', 'buffer'), param('uint32_t', 'maxSize')],
+ is_const=True)
+ return
+
+def register_Ns3OutputStreamWrapper_methods(root_module, cls):
+ ## output-stream-wrapper.h: ns3::OutputStreamWrapper::OutputStreamWrapper(ns3::OutputStreamWrapper const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::OutputStreamWrapper const &', 'arg0')])
+ ## output-stream-wrapper.h: ns3::OutputStreamWrapper::OutputStreamWrapper(std::string filename, std::_Ios_Openmode filemode) [constructor]
+ cls.add_constructor([param('std::string', 'filename'), param('std::_Ios_Openmode', 'filemode')])
+ ## output-stream-wrapper.h: ns3::OutputStreamWrapper::OutputStreamWrapper(std::ostream * os) [constructor]
+ cls.add_constructor([param('std::ostream *', 'os')])
+ ## output-stream-wrapper.h: std::ostream * ns3::OutputStreamWrapper::GetStream() [member function]
+ cls.add_method('GetStream',
+ 'std::ostream *',
+ [])
+ return
+
+def register_Ns3Packet_methods(root_module, cls):
+ cls.add_output_stream_operator()
+ ## packet.h: ns3::Packet::Packet() [constructor]
+ cls.add_constructor([])
+ ## packet.h: ns3::Packet::Packet(ns3::Packet const & o) [copy constructor]
+ cls.add_constructor([param('ns3::Packet const &', 'o')])
+ ## packet.h: ns3::Packet::Packet(uint32_t size) [constructor]
+ cls.add_constructor([param('uint32_t', 'size')])
+ ## packet.h: ns3::Packet::Packet(uint8_t const * buffer, uint32_t size, bool magic) [constructor]
+ cls.add_constructor([param('uint8_t const *', 'buffer'), param('uint32_t', 'size'), param('bool', 'magic')])
+ ## packet.h: ns3::Packet::Packet(uint8_t const * buffer, uint32_t size) [constructor]
+ cls.add_constructor([param('uint8_t const *', 'buffer'), param('uint32_t', 'size')])
+ ## packet.h: void ns3::Packet::AddAtEnd(ns3::Ptr packet) [member function]
+ cls.add_method('AddAtEnd',
+ 'void',
+ [param('ns3::Ptr< ns3::Packet const >', 'packet')])
+ ## packet.h: void ns3::Packet::AddByteTag(ns3::Tag const & tag) const [member function]
+ cls.add_method('AddByteTag',
+ 'void',
+ [param('ns3::Tag const &', 'tag')],
+ is_const=True)
+ ## packet.h: void ns3::Packet::AddHeader(ns3::Header const & header) [member function]
+ cls.add_method('AddHeader',
+ 'void',
+ [param('ns3::Header const &', 'header')])
+ ## packet.h: void ns3::Packet::AddPacketTag(ns3::Tag const & tag) const [member function]
+ cls.add_method('AddPacketTag',
+ 'void',
+ [param('ns3::Tag const &', 'tag')],
+ is_const=True)
+ ## packet.h: void ns3::Packet::AddPaddingAtEnd(uint32_t size) [member function]
+ cls.add_method('AddPaddingAtEnd',
+ 'void',
+ [param('uint32_t', 'size')])
+ ## packet.h: void ns3::Packet::AddTrailer(ns3::Trailer const & trailer) [member function]
+ cls.add_method('AddTrailer',
+ 'void',
+ [param('ns3::Trailer const &', 'trailer')])
+ ## packet.h: ns3::PacketMetadata::ItemIterator ns3::Packet::BeginItem() const [member function]
+ cls.add_method('BeginItem',
+ 'ns3::PacketMetadata::ItemIterator',
+ [],
+ is_const=True)
+ ## packet.h: ns3::Ptr ns3::Packet::Copy() const [member function]
+ cls.add_method('Copy',
+ 'ns3::Ptr< ns3::Packet >',
+ [],
+ is_const=True)
+ ## packet.h: uint32_t ns3::Packet::CopyData(uint8_t * buffer, uint32_t size) const [member function]
+ cls.add_method('CopyData',
+ 'uint32_t',
+ [param('uint8_t *', 'buffer'), param('uint32_t', 'size')],
+ is_const=True)
+ ## packet.h: void ns3::Packet::CopyData(std::ostream * os, uint32_t size) const [member function]
+ cls.add_method('CopyData',
+ 'void',
+ [param('std::ostream *', 'os'), param('uint32_t', 'size')],
+ is_const=True)
+ ## packet.h: ns3::Ptr ns3::Packet::CreateFragment(uint32_t start, uint32_t length) const [member function]
+ cls.add_method('CreateFragment',
+ 'ns3::Ptr< ns3::Packet >',
+ [param('uint32_t', 'start'), param('uint32_t', 'length')],
+ is_const=True)
+ ## packet.h: static void ns3::Packet::EnableChecking() [member function]
+ cls.add_method('EnableChecking',
+ 'void',
+ [],
+ is_static=True)
+ ## packet.h: static void ns3::Packet::EnablePrinting() [member function]
+ cls.add_method('EnablePrinting',
+ 'void',
+ [],
+ is_static=True)
+ ## packet.h: bool ns3::Packet::FindFirstMatchingByteTag(ns3::Tag & tag) const [member function]
+ cls.add_method('FindFirstMatchingByteTag',
+ 'bool',
+ [param('ns3::Tag &', 'tag')],
+ is_const=True)
+ ## packet.h: ns3::ByteTagIterator ns3::Packet::GetByteTagIterator() const [member function]
+ cls.add_method('GetByteTagIterator',
+ 'ns3::ByteTagIterator',
+ [],
+ is_const=True)
+ ## packet.h: ns3::Ptr ns3::Packet::GetNixVector() const [member function]
+ cls.add_method('GetNixVector',
+ 'ns3::Ptr< ns3::NixVector >',
+ [],
+ is_const=True)
+ ## packet.h: ns3::PacketTagIterator ns3::Packet::GetPacketTagIterator() const [member function]
+ cls.add_method('GetPacketTagIterator',
+ 'ns3::PacketTagIterator',
+ [],
+ is_const=True)
+ ## packet.h: uint32_t ns3::Packet::GetSerializedSize() const [member function]
+ cls.add_method('GetSerializedSize',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## packet.h: uint32_t ns3::Packet::GetSize() const [member function]
+ cls.add_method('GetSize',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## packet.h: uint64_t ns3::Packet::GetUid() const [member function]
+ cls.add_method('GetUid',
+ 'uint64_t',
+ [],
+ is_const=True)
+ ## packet.h: uint8_t const * ns3::Packet::PeekData() const [member function]
+ cls.add_method('PeekData',
+ 'uint8_t const *',
+ [],
+ deprecated=True, is_const=True)
+ ## packet.h: uint32_t ns3::Packet::PeekHeader(ns3::Header & header) const [member function]
+ cls.add_method('PeekHeader',
+ 'uint32_t',
+ [param('ns3::Header &', 'header')],
+ is_const=True)
+ ## packet.h: bool ns3::Packet::PeekPacketTag(ns3::Tag & tag) const [member function]
+ cls.add_method('PeekPacketTag',
+ 'bool',
+ [param('ns3::Tag &', 'tag')],
+ is_const=True)
+ ## packet.h: uint32_t ns3::Packet::PeekTrailer(ns3::Trailer & trailer) [member function]
+ cls.add_method('PeekTrailer',
+ 'uint32_t',
+ [param('ns3::Trailer &', 'trailer')])
+ ## packet.h: void ns3::Packet::Print(std::ostream & os) const [member function]
+ cls.add_method('Print',
+ 'void',
+ [param('std::ostream &', 'os')],
+ is_const=True)
+ ## packet.h: void ns3::Packet::PrintByteTags(std::ostream & os) const [member function]
+ cls.add_method('PrintByteTags',
+ 'void',
+ [param('std::ostream &', 'os')],
+ is_const=True)
+ ## packet.h: void ns3::Packet::PrintPacketTags(std::ostream & os) const [member function]
+ cls.add_method('PrintPacketTags',
+ 'void',
+ [param('std::ostream &', 'os')],
+ is_const=True)
+ ## packet.h: void ns3::Packet::RemoveAllByteTags() [member function]
+ cls.add_method('RemoveAllByteTags',
+ 'void',
+ [])
+ ## packet.h: void ns3::Packet::RemoveAllPacketTags() [member function]
+ cls.add_method('RemoveAllPacketTags',
+ 'void',
+ [])
+ ## packet.h: void ns3::Packet::RemoveAtEnd(uint32_t size) [member function]
+ cls.add_method('RemoveAtEnd',
+ 'void',
+ [param('uint32_t', 'size')])
+ ## packet.h: void ns3::Packet::RemoveAtStart(uint32_t size) [member function]
+ cls.add_method('RemoveAtStart',
+ 'void',
+ [param('uint32_t', 'size')])
+ ## packet.h: uint32_t ns3::Packet::RemoveHeader(ns3::Header & header) [member function]
+ cls.add_method('RemoveHeader',
+ 'uint32_t',
+ [param('ns3::Header &', 'header')])
+ ## packet.h: bool ns3::Packet::RemovePacketTag(ns3::Tag & tag) [member function]
+ cls.add_method('RemovePacketTag',
+ 'bool',
+ [param('ns3::Tag &', 'tag')])
+ ## packet.h: uint32_t ns3::Packet::RemoveTrailer(ns3::Trailer & trailer) [member function]
+ cls.add_method('RemoveTrailer',
+ 'uint32_t',
+ [param('ns3::Trailer &', 'trailer')])
+ ## packet.h: uint32_t ns3::Packet::Serialize(uint8_t * buffer, uint32_t maxSize) const [member function]
+ cls.add_method('Serialize',
+ 'uint32_t',
+ [param('uint8_t *', 'buffer'), param('uint32_t', 'maxSize')],
+ is_const=True)
+ ## packet.h: void ns3::Packet::SetNixVector(ns3::Ptr arg0) [member function]
+ cls.add_method('SetNixVector',
+ 'void',
+ [param('ns3::Ptr< ns3::NixVector >', 'arg0')])
+ return
+
+def register_Ns3RateErrorModel_methods(root_module, cls):
+ ## error-model.h: ns3::RateErrorModel::RateErrorModel(ns3::RateErrorModel const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::RateErrorModel const &', 'arg0')])
+ ## error-model.h: ns3::RateErrorModel::RateErrorModel() [constructor]
+ cls.add_constructor([])
+ ## error-model.h: double ns3::RateErrorModel::GetRate() const [member function]
+ cls.add_method('GetRate',
+ 'double',
+ [],
+ is_const=True)
+ ## error-model.h: static ns3::TypeId ns3::RateErrorModel::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## error-model.h: ns3::ErrorUnit ns3::RateErrorModel::GetUnit() const [member function]
+ cls.add_method('GetUnit',
+ 'ns3::ErrorUnit',
+ [],
+ is_const=True)
+ ## error-model.h: void ns3::RateErrorModel::SetRandomVariable(ns3::RandomVariable const & ranvar) [member function]
+ cls.add_method('SetRandomVariable',
+ 'void',
+ [param('ns3::RandomVariable const &', 'ranvar')])
+ ## error-model.h: void ns3::RateErrorModel::SetRate(double rate) [member function]
+ cls.add_method('SetRate',
+ 'void',
+ [param('double', 'rate')])
+ ## error-model.h: void ns3::RateErrorModel::SetUnit(ns3::ErrorUnit error_unit) [member function]
+ cls.add_method('SetUnit',
+ 'void',
+ [param('ns3::ErrorUnit', 'error_unit')])
+ ## error-model.h: bool ns3::RateErrorModel::DoCorrupt(ns3::Ptr p) [member function]
+ cls.add_method('DoCorrupt',
+ 'bool',
+ [param('ns3::Ptr< ns3::Packet >', 'p')],
+ visibility='private', is_virtual=True)
+ ## error-model.h: bool ns3::RateErrorModel::DoCorruptBit(ns3::Ptr p) [member function]
+ cls.add_method('DoCorruptBit',
+ 'bool',
+ [param('ns3::Ptr< ns3::Packet >', 'p')],
+ visibility='private', is_virtual=True)
+ ## error-model.h: bool ns3::RateErrorModel::DoCorruptByte(ns3::Ptr p) [member function]
+ cls.add_method('DoCorruptByte',
+ 'bool',
+ [param('ns3::Ptr< ns3::Packet >', 'p')],
+ visibility='private', is_virtual=True)
+ ## error-model.h: bool ns3::RateErrorModel::DoCorruptPkt(ns3::Ptr p) [member function]
+ cls.add_method('DoCorruptPkt',
+ 'bool',
+ [param('ns3::Ptr< ns3::Packet >', 'p')],
+ visibility='private', is_virtual=True)
+ ## error-model.h: void ns3::RateErrorModel::DoReset() [member function]
+ cls.add_method('DoReset',
+ 'void',
+ [],
+ visibility='private', is_virtual=True)
+ return
+
+def register_Ns3ReceiveListErrorModel_methods(root_module, cls):
+ ## error-model.h: ns3::ReceiveListErrorModel::ReceiveListErrorModel(ns3::ReceiveListErrorModel const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::ReceiveListErrorModel const &', 'arg0')])
+ ## error-model.h: ns3::ReceiveListErrorModel::ReceiveListErrorModel() [constructor]
+ cls.add_constructor([])
+ ## error-model.h: std::list > ns3::ReceiveListErrorModel::GetList() const [member function]
+ cls.add_method('GetList',
+ 'std::list< unsigned int >',
+ [],
+ is_const=True)
+ ## error-model.h: static ns3::TypeId ns3::ReceiveListErrorModel::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## error-model.h: void ns3::ReceiveListErrorModel::SetList(std::list > const & packetlist) [member function]
+ cls.add_method('SetList',
+ 'void',
+ [param('std::list< unsigned int > const &', 'packetlist')])
+ ## error-model.h: bool ns3::ReceiveListErrorModel::DoCorrupt(ns3::Ptr p) [member function]
+ cls.add_method('DoCorrupt',
+ 'bool',
+ [param('ns3::Ptr< ns3::Packet >', 'p')],
+ visibility='private', is_virtual=True)
+ ## error-model.h: void ns3::ReceiveListErrorModel::DoReset() [member function]
+ cls.add_method('DoReset',
+ 'void',
+ [],
+ visibility='private', is_virtual=True)
+ return
+
+def register_functions(root_module):
+ module = root_module
+ ## spectrum-value.h: extern ns3::SpectrumValue ns3::Log(ns3::SpectrumValue const & arg) [free function]
+ module.add_function('Log',
+ 'ns3::SpectrumValue',
+ [param('ns3::SpectrumValue const &', 'arg')])
+ ## spectrum-value.h: extern ns3::SpectrumValue ns3::Log10(ns3::SpectrumValue const & arg) [free function]
+ module.add_function('Log10',
+ 'ns3::SpectrumValue',
+ [param('ns3::SpectrumValue const &', 'arg')])
+ ## spectrum-value.h: extern ns3::SpectrumValue ns3::Log2(ns3::SpectrumValue const & arg) [free function]
+ module.add_function('Log2',
+ 'ns3::SpectrumValue',
+ [param('ns3::SpectrumValue const &', 'arg')])
+ ## data-rate.h: extern ns3::Ptr ns3::MakeDataRateChecker() [free function]
+ module.add_function('MakeDataRateChecker',
+ 'ns3::Ptr< ns3::AttributeChecker const >',
+ [])
+ ## spectrum-value.h: extern double ns3::Norm(ns3::SpectrumValue const & x) [free function]
+ module.add_function('Norm',
+ 'double',
+ [param('ns3::SpectrumValue const &', 'x')])
+ ## spectrum-value.h: extern ns3::SpectrumValue ns3::Pow(ns3::SpectrumValue const & base, double exp) [free function]
+ module.add_function('Pow',
+ 'ns3::SpectrumValue',
+ [param('ns3::SpectrumValue const &', 'base'), param('double', 'exp')])
+ ## spectrum-value.h: extern ns3::SpectrumValue ns3::Pow(double base, ns3::SpectrumValue const & exp) [free function]
+ module.add_function('Pow',
+ 'ns3::SpectrumValue',
+ [param('double', 'base'), param('ns3::SpectrumValue const &', 'exp')])
+ ## spectrum-value.h: extern double ns3::Prod(ns3::SpectrumValue const & x) [free function]
+ module.add_function('Prod',
+ 'double',
+ [param('ns3::SpectrumValue const &', 'x')])
+ ## spectrum-value.h: extern double ns3::Sum(ns3::SpectrumValue const & x) [free function]
+ module.add_function('Sum',
+ 'double',
+ [param('ns3::SpectrumValue const &', 'x')])
+ register_functions_ns3_Config(module.get_submodule('Config'), root_module)
+ register_functions_ns3_FatalImpl(module.get_submodule('FatalImpl'), root_module)
+ register_functions_ns3_addressUtils(module.get_submodule('addressUtils'), root_module)
+ register_functions_ns3_aodv(module.get_submodule('aodv'), root_module)
+ register_functions_ns3_dot11s(module.get_submodule('dot11s'), root_module)
+ register_functions_ns3_dsdv(module.get_submodule('dsdv'), root_module)
+ register_functions_ns3_flame(module.get_submodule('flame'), root_module)
+ register_functions_ns3_internal(module.get_submodule('internal'), root_module)
+ register_functions_ns3_olsr(module.get_submodule('olsr'), root_module)
+ return
+
+def register_functions_ns3_Config(module, root_module):
+ return
+
+def register_functions_ns3_FatalImpl(module, root_module):
+ return
+
+def register_functions_ns3_addressUtils(module, root_module):
+ return
+
+def register_functions_ns3_aodv(module, root_module):
+ return
+
+def register_functions_ns3_dot11s(module, root_module):
+ return
+
+def register_functions_ns3_dsdv(module, root_module):
+ return
+
+def register_functions_ns3_flame(module, root_module):
+ return
+
+def register_functions_ns3_internal(module, root_module):
+ return
+
+def register_functions_ns3_olsr(module, root_module):
+ return
+
diff --git a/code/bindings/python/apidefs/gcc-ILP32/ns3_module_contrib.py b/code/bindings/python/apidefs/gcc-ILP32/ns3_module_contrib.py
new file mode 100644
index 0000000..a58d25f
--- /dev/null
+++ b/code/bindings/python/apidefs/gcc-ILP32/ns3_module_contrib.py
@@ -0,0 +1,626 @@
+from pybindgen import Module, FileCodeSink, param, retval, cppclass, typehandlers
+
+def register_types(module):
+ root_module = module.get_root()
+
+ ## average.h: ns3::Average [class]
+ module.add_class('Average', template_parameters=['double'])
+ ## delay-jitter-estimation.h: ns3::DelayJitterEstimation [class]
+ module.add_class('DelayJitterEstimation')
+ ## event-garbage-collector.h: ns3::EventGarbageCollector [class]
+ module.add_class('EventGarbageCollector')
+ ## file-config.h: ns3::FileConfig [class]
+ module.add_class('FileConfig', allow_subclassing=True)
+ ## gnuplot.h: ns3::Gnuplot [class]
+ module.add_class('Gnuplot')
+ ## gnuplot.h: ns3::GnuplotCollection [class]
+ module.add_class('GnuplotCollection')
+ ## gnuplot.h: ns3::GnuplotDataset [class]
+ module.add_class('GnuplotDataset')
+ ## gtk-config-store.h: ns3::GtkConfigStore [class]
+ module.add_class('GtkConfigStore')
+ ## file-config.h: ns3::NoneFileConfig [class]
+ module.add_class('NoneFileConfig', parent=root_module['ns3::FileConfig'])
+ ## config-store.h: ns3::ConfigStore [class]
+ module.add_class('ConfigStore', parent=root_module['ns3::ObjectBase'])
+ ## config-store.h: ns3::ConfigStore::Mode [enumeration]
+ module.add_enum('Mode', ['LOAD', 'SAVE', 'NONE'], outer_class=root_module['ns3::ConfigStore'])
+ ## config-store.h: ns3::ConfigStore::FileFormat [enumeration]
+ module.add_enum('FileFormat', ['XML', 'RAW_TEXT'], outer_class=root_module['ns3::ConfigStore'])
+ ## flow-id-tag.h: ns3::FlowIdTag [class]
+ module.add_class('FlowIdTag', parent=root_module['ns3::Tag'])
+ ## gnuplot.h: ns3::Gnuplot2dDataset [class]
+ module.add_class('Gnuplot2dDataset', parent=root_module['ns3::GnuplotDataset'])
+ ## gnuplot.h: ns3::Gnuplot2dDataset::Style [enumeration]
+ module.add_enum('Style', ['LINES', 'POINTS', 'LINES_POINTS', 'DOTS', 'IMPULSES', 'STEPS', 'FSTEPS', 'HISTEPS'], outer_class=root_module['ns3::Gnuplot2dDataset'])
+ ## gnuplot.h: ns3::Gnuplot2dDataset::ErrorBars [enumeration]
+ module.add_enum('ErrorBars', ['NONE', 'X', 'Y', 'XY'], outer_class=root_module['ns3::Gnuplot2dDataset'])
+ ## gnuplot.h: ns3::Gnuplot2dFunction [class]
+ module.add_class('Gnuplot2dFunction', parent=root_module['ns3::GnuplotDataset'])
+ ## gnuplot.h: ns3::Gnuplot3dDataset [class]
+ module.add_class('Gnuplot3dDataset', parent=root_module['ns3::GnuplotDataset'])
+ ## gnuplot.h: ns3::Gnuplot3dFunction [class]
+ module.add_class('Gnuplot3dFunction', parent=root_module['ns3::GnuplotDataset'])
+
+ ## Register a nested module for the namespace Config
+
+ nested_module = module.add_cpp_namespace('Config')
+ register_types_ns3_Config(nested_module)
+
+
+ ## Register a nested module for the namespace FatalImpl
+
+ nested_module = module.add_cpp_namespace('FatalImpl')
+ register_types_ns3_FatalImpl(nested_module)
+
+
+ ## Register a nested module for the namespace addressUtils
+
+ nested_module = module.add_cpp_namespace('addressUtils')
+ register_types_ns3_addressUtils(nested_module)
+
+
+ ## Register a nested module for the namespace aodv
+
+ nested_module = module.add_cpp_namespace('aodv')
+ register_types_ns3_aodv(nested_module)
+
+
+ ## Register a nested module for the namespace dot11s
+
+ nested_module = module.add_cpp_namespace('dot11s')
+ register_types_ns3_dot11s(nested_module)
+
+
+ ## Register a nested module for the namespace dsdv
+
+ nested_module = module.add_cpp_namespace('dsdv')
+ register_types_ns3_dsdv(nested_module)
+
+
+ ## Register a nested module for the namespace flame
+
+ nested_module = module.add_cpp_namespace('flame')
+ register_types_ns3_flame(nested_module)
+
+
+ ## Register a nested module for the namespace internal
+
+ nested_module = module.add_cpp_namespace('internal')
+ register_types_ns3_internal(nested_module)
+
+
+ ## Register a nested module for the namespace olsr
+
+ nested_module = module.add_cpp_namespace('olsr')
+ register_types_ns3_olsr(nested_module)
+
+
+def register_types_ns3_Config(module):
+ root_module = module.get_root()
+
+
+def register_types_ns3_FatalImpl(module):
+ root_module = module.get_root()
+
+
+def register_types_ns3_addressUtils(module):
+ root_module = module.get_root()
+
+
+def register_types_ns3_aodv(module):
+ root_module = module.get_root()
+
+
+def register_types_ns3_dot11s(module):
+ root_module = module.get_root()
+
+
+def register_types_ns3_dsdv(module):
+ root_module = module.get_root()
+
+
+def register_types_ns3_flame(module):
+ root_module = module.get_root()
+
+
+def register_types_ns3_internal(module):
+ root_module = module.get_root()
+
+
+def register_types_ns3_olsr(module):
+ root_module = module.get_root()
+
+
+def register_methods(root_module):
+ register_Ns3Average__Double_methods(root_module, root_module['ns3::Average< double >'])
+ register_Ns3DelayJitterEstimation_methods(root_module, root_module['ns3::DelayJitterEstimation'])
+ register_Ns3EventGarbageCollector_methods(root_module, root_module['ns3::EventGarbageCollector'])
+ register_Ns3FileConfig_methods(root_module, root_module['ns3::FileConfig'])
+ register_Ns3Gnuplot_methods(root_module, root_module['ns3::Gnuplot'])
+ register_Ns3GnuplotCollection_methods(root_module, root_module['ns3::GnuplotCollection'])
+ register_Ns3GnuplotDataset_methods(root_module, root_module['ns3::GnuplotDataset'])
+ register_Ns3GtkConfigStore_methods(root_module, root_module['ns3::GtkConfigStore'])
+ register_Ns3NoneFileConfig_methods(root_module, root_module['ns3::NoneFileConfig'])
+ register_Ns3ConfigStore_methods(root_module, root_module['ns3::ConfigStore'])
+ register_Ns3FlowIdTag_methods(root_module, root_module['ns3::FlowIdTag'])
+ register_Ns3Gnuplot2dDataset_methods(root_module, root_module['ns3::Gnuplot2dDataset'])
+ register_Ns3Gnuplot2dFunction_methods(root_module, root_module['ns3::Gnuplot2dFunction'])
+ register_Ns3Gnuplot3dDataset_methods(root_module, root_module['ns3::Gnuplot3dDataset'])
+ register_Ns3Gnuplot3dFunction_methods(root_module, root_module['ns3::Gnuplot3dFunction'])
+ return
+
+def register_Ns3Average__Double_methods(root_module, cls):
+ ## average.h: ns3::Average::Average(ns3::Average const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::Average< double > const &', 'arg0')])
+ ## average.h: ns3::Average::Average() [constructor]
+ cls.add_constructor([])
+ ## average.h: double ns3::Average::Avg() const [member function]
+ cls.add_method('Avg',
+ 'double',
+ [],
+ is_const=True)
+ ## average.h: uint32_t ns3::Average::Count() const [member function]
+ cls.add_method('Count',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## average.h: double ns3::Average::Error90() const [member function]
+ cls.add_method('Error90',
+ 'double',
+ [],
+ is_const=True)
+ ## average.h: double ns3::Average::Error95() const [member function]
+ cls.add_method('Error95',
+ 'double',
+ [],
+ is_const=True)
+ ## average.h: double ns3::Average::Error99() const [member function]
+ cls.add_method('Error99',
+ 'double',
+ [],
+ is_const=True)
+ ## average.h: double ns3::Average::Max() const [member function]
+ cls.add_method('Max',
+ 'double',
+ [],
+ is_const=True)
+ ## average.h: double ns3::Average::Mean() const [member function]
+ cls.add_method('Mean',
+ 'double',
+ [],
+ is_const=True)
+ ## average.h: double ns3::Average::Min() const [member function]
+ cls.add_method('Min',
+ 'double',
+ [],
+ is_const=True)
+ ## average.h: void ns3::Average::Reset() [member function]
+ cls.add_method('Reset',
+ 'void',
+ [])
+ ## average.h: double ns3::Average::Stddev() const [member function]
+ cls.add_method('Stddev',
+ 'double',
+ [],
+ is_const=True)
+ ## average.h: void ns3::Average::Update(double const & x) [member function]
+ cls.add_method('Update',
+ 'void',
+ [param('double const &', 'x')])
+ ## average.h: double ns3::Average::Var() const [member function]
+ cls.add_method('Var',
+ 'double',
+ [],
+ is_const=True)
+ return
+
+def register_Ns3DelayJitterEstimation_methods(root_module, cls):
+ ## delay-jitter-estimation.h: ns3::DelayJitterEstimation::DelayJitterEstimation(ns3::DelayJitterEstimation const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::DelayJitterEstimation const &', 'arg0')])
+ ## delay-jitter-estimation.h: ns3::DelayJitterEstimation::DelayJitterEstimation() [constructor]
+ cls.add_constructor([])
+ ## delay-jitter-estimation.h: ns3::Time ns3::DelayJitterEstimation::GetLastDelay() const [member function]
+ cls.add_method('GetLastDelay',
+ 'ns3::Time',
+ [],
+ is_const=True)
+ ## delay-jitter-estimation.h: ns3::Time ns3::DelayJitterEstimation::GetLastJitter() const [member function]
+ cls.add_method('GetLastJitter',
+ 'ns3::Time',
+ [],
+ is_const=True)
+ ## delay-jitter-estimation.h: static void ns3::DelayJitterEstimation::PrepareTx(ns3::Ptr packet) [member function]
+ cls.add_method('PrepareTx',
+ 'void',
+ [param('ns3::Ptr< ns3::Packet const >', 'packet')],
+ is_static=True)
+ ## delay-jitter-estimation.h: void ns3::DelayJitterEstimation::RecordRx(ns3::Ptr packet) [member function]
+ cls.add_method('RecordRx',
+ 'void',
+ [param('ns3::Ptr< ns3::Packet const >', 'packet')])
+ return
+
+def register_Ns3EventGarbageCollector_methods(root_module, cls):
+ ## event-garbage-collector.h: ns3::EventGarbageCollector::EventGarbageCollector(ns3::EventGarbageCollector const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::EventGarbageCollector const &', 'arg0')])
+ ## event-garbage-collector.h: ns3::EventGarbageCollector::EventGarbageCollector() [constructor]
+ cls.add_constructor([])
+ ## event-garbage-collector.h: void ns3::EventGarbageCollector::Track(ns3::EventId event) [member function]
+ cls.add_method('Track',
+ 'void',
+ [param('ns3::EventId', 'event')])
+ return
+
+def register_Ns3FileConfig_methods(root_module, cls):
+ ## file-config.h: ns3::FileConfig::FileConfig() [constructor]
+ cls.add_constructor([])
+ ## file-config.h: ns3::FileConfig::FileConfig(ns3::FileConfig const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::FileConfig const &', 'arg0')])
+ ## file-config.h: void ns3::FileConfig::Attributes() [member function]
+ cls.add_method('Attributes',
+ 'void',
+ [],
+ is_pure_virtual=True, is_virtual=True)
+ ## file-config.h: void ns3::FileConfig::Default() [member function]
+ cls.add_method('Default',
+ 'void',
+ [],
+ is_pure_virtual=True, is_virtual=True)
+ ## file-config.h: void ns3::FileConfig::Global() [member function]
+ cls.add_method('Global',
+ 'void',
+ [],
+ is_pure_virtual=True, is_virtual=True)
+ ## file-config.h: void ns3::FileConfig::SetFilename(std::string filename) [member function]
+ cls.add_method('SetFilename',
+ 'void',
+ [param('std::string', 'filename')],
+ is_pure_virtual=True, is_virtual=True)
+ return
+
+def register_Ns3Gnuplot_methods(root_module, cls):
+ ## gnuplot.h: ns3::Gnuplot::Gnuplot(ns3::Gnuplot const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::Gnuplot const &', 'arg0')])
+ ## gnuplot.h: ns3::Gnuplot::Gnuplot(std::string const & outputFilename="", std::string const & title="") [constructor]
+ cls.add_constructor([param('std::string const &', 'outputFilename', default_value='""'), param('std::string const &', 'title', default_value='""')])
+ ## gnuplot.h: void ns3::Gnuplot::AddDataset(ns3::GnuplotDataset const & dataset) [member function]
+ cls.add_method('AddDataset',
+ 'void',
+ [param('ns3::GnuplotDataset const &', 'dataset')])
+ ## gnuplot.h: void ns3::Gnuplot::AppendExtra(std::string const & extra) [member function]
+ cls.add_method('AppendExtra',
+ 'void',
+ [param('std::string const &', 'extra')])
+ ## gnuplot.h: static std::string ns3::Gnuplot::DetectTerminal(std::string const & filename) [member function]
+ cls.add_method('DetectTerminal',
+ 'std::string',
+ [param('std::string const &', 'filename')],
+ is_static=True)
+ ## gnuplot.h: void ns3::Gnuplot::GenerateOutput(std::ostream & os) const [member function]
+ cls.add_method('GenerateOutput',
+ 'void',
+ [param('std::ostream &', 'os')],
+ is_const=True)
+ ## gnuplot.h: void ns3::Gnuplot::SetExtra(std::string const & extra) [member function]
+ cls.add_method('SetExtra',
+ 'void',
+ [param('std::string const &', 'extra')])
+ ## gnuplot.h: void ns3::Gnuplot::SetLegend(std::string const & xLegend, std::string const & yLegend) [member function]
+ cls.add_method('SetLegend',
+ 'void',
+ [param('std::string const &', 'xLegend'), param('std::string const &', 'yLegend')])
+ ## gnuplot.h: void ns3::Gnuplot::SetTerminal(std::string const & terminal) [member function]
+ cls.add_method('SetTerminal',
+ 'void',
+ [param('std::string const &', 'terminal')])
+ ## gnuplot.h: void ns3::Gnuplot::SetTitle(std::string const & title) [member function]
+ cls.add_method('SetTitle',
+ 'void',
+ [param('std::string const &', 'title')])
+ return
+
+def register_Ns3GnuplotCollection_methods(root_module, cls):
+ ## gnuplot.h: ns3::GnuplotCollection::GnuplotCollection(ns3::GnuplotCollection const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::GnuplotCollection const &', 'arg0')])
+ ## gnuplot.h: ns3::GnuplotCollection::GnuplotCollection(std::string const & outputFilename) [constructor]
+ cls.add_constructor([param('std::string const &', 'outputFilename')])
+ ## gnuplot.h: void ns3::GnuplotCollection::AddPlot(ns3::Gnuplot const & plot) [member function]
+ cls.add_method('AddPlot',
+ 'void',
+ [param('ns3::Gnuplot const &', 'plot')])
+ ## gnuplot.h: void ns3::GnuplotCollection::GenerateOutput(std::ostream & os) const [member function]
+ cls.add_method('GenerateOutput',
+ 'void',
+ [param('std::ostream &', 'os')],
+ is_const=True)
+ ## gnuplot.h: ns3::Gnuplot & ns3::GnuplotCollection::GetPlot(unsigned int id) [member function]
+ cls.add_method('GetPlot',
+ 'ns3::Gnuplot &',
+ [param('unsigned int', 'id')])
+ ## gnuplot.h: void ns3::GnuplotCollection::SetTerminal(std::string const & terminal) [member function]
+ cls.add_method('SetTerminal',
+ 'void',
+ [param('std::string const &', 'terminal')])
+ return
+
+def register_Ns3GnuplotDataset_methods(root_module, cls):
+ ## gnuplot.h: ns3::GnuplotDataset::GnuplotDataset(ns3::GnuplotDataset const & original) [copy constructor]
+ cls.add_constructor([param('ns3::GnuplotDataset const &', 'original')])
+ ## gnuplot.h: static void ns3::GnuplotDataset::SetDefaultExtra(std::string const & extra) [member function]
+ cls.add_method('SetDefaultExtra',
+ 'void',
+ [param('std::string const &', 'extra')],
+ is_static=True)
+ ## gnuplot.h: void ns3::GnuplotDataset::SetExtra(std::string const & extra) [member function]
+ cls.add_method('SetExtra',
+ 'void',
+ [param('std::string const &', 'extra')])
+ ## gnuplot.h: void ns3::GnuplotDataset::SetTitle(std::string const & title) [member function]
+ cls.add_method('SetTitle',
+ 'void',
+ [param('std::string const &', 'title')])
+ ## gnuplot.h: ns3::GnuplotDataset::GnuplotDataset(ns3::GnuplotDataset::Data * data) [constructor]
+ cls.add_constructor([param('ns3::GnuplotDataset::Data *', 'data')],
+ visibility='protected')
+ return
+
+def register_Ns3GtkConfigStore_methods(root_module, cls):
+ ## gtk-config-store.h: ns3::GtkConfigStore::GtkConfigStore(ns3::GtkConfigStore const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::GtkConfigStore const &', 'arg0')])
+ ## gtk-config-store.h: ns3::GtkConfigStore::GtkConfigStore() [constructor]
+ cls.add_constructor([])
+ ## gtk-config-store.h: void ns3::GtkConfigStore::ConfigureAttributes() [member function]
+ cls.add_method('ConfigureAttributes',
+ 'void',
+ [])
+ ## gtk-config-store.h: void ns3::GtkConfigStore::ConfigureDefaults() [member function]
+ cls.add_method('ConfigureDefaults',
+ 'void',
+ [])
+ return
+
+def register_Ns3NoneFileConfig_methods(root_module, cls):
+ ## file-config.h: ns3::NoneFileConfig::NoneFileConfig(ns3::NoneFileConfig const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::NoneFileConfig const &', 'arg0')])
+ ## file-config.h: ns3::NoneFileConfig::NoneFileConfig() [constructor]
+ cls.add_constructor([])
+ ## file-config.h: void ns3::NoneFileConfig::Attributes() [member function]
+ cls.add_method('Attributes',
+ 'void',
+ [],
+ is_virtual=True)
+ ## file-config.h: void ns3::NoneFileConfig::Default() [member function]
+ cls.add_method('Default',
+ 'void',
+ [],
+ is_virtual=True)
+ ## file-config.h: void ns3::NoneFileConfig::Global() [member function]
+ cls.add_method('Global',
+ 'void',
+ [],
+ is_virtual=True)
+ ## file-config.h: void ns3::NoneFileConfig::SetFilename(std::string filename) [member function]
+ cls.add_method('SetFilename',
+ 'void',
+ [param('std::string', 'filename')],
+ is_virtual=True)
+ return
+
+def register_Ns3ConfigStore_methods(root_module, cls):
+ ## config-store.h: ns3::ConfigStore::ConfigStore(ns3::ConfigStore const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::ConfigStore const &', 'arg0')])
+ ## config-store.h: ns3::ConfigStore::ConfigStore() [constructor]
+ cls.add_constructor([])
+ ## config-store.h: void ns3::ConfigStore::ConfigureAttributes() [member function]
+ cls.add_method('ConfigureAttributes',
+ 'void',
+ [])
+ ## config-store.h: void ns3::ConfigStore::ConfigureDefaults() [member function]
+ cls.add_method('ConfigureDefaults',
+ 'void',
+ [])
+ ## config-store.h: ns3::TypeId ns3::ConfigStore::GetInstanceTypeId() const [member function]
+ cls.add_method('GetInstanceTypeId',
+ 'ns3::TypeId',
+ [],
+ is_const=True, is_virtual=True)
+ ## config-store.h: static ns3::TypeId ns3::ConfigStore::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## config-store.h: void ns3::ConfigStore::SetFileFormat(ns3::ConfigStore::FileFormat format) [member function]
+ cls.add_method('SetFileFormat',
+ 'void',
+ [param('ns3::ConfigStore::FileFormat', 'format')])
+ ## config-store.h: void ns3::ConfigStore::SetFilename(std::string filename) [member function]
+ cls.add_method('SetFilename',
+ 'void',
+ [param('std::string', 'filename')])
+ ## config-store.h: void ns3::ConfigStore::SetMode(ns3::ConfigStore::Mode mode) [member function]
+ cls.add_method('SetMode',
+ 'void',
+ [param('ns3::ConfigStore::Mode', 'mode')])
+ return
+
+def register_Ns3FlowIdTag_methods(root_module, cls):
+ ## flow-id-tag.h: ns3::FlowIdTag::FlowIdTag(ns3::FlowIdTag const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::FlowIdTag const &', 'arg0')])
+ ## flow-id-tag.h: ns3::FlowIdTag::FlowIdTag() [constructor]
+ cls.add_constructor([])
+ ## flow-id-tag.h: ns3::FlowIdTag::FlowIdTag(uint32_t flowId) [constructor]
+ cls.add_constructor([param('uint32_t', 'flowId')])
+ ## flow-id-tag.h: static uint32_t ns3::FlowIdTag::AllocateFlowId() [member function]
+ cls.add_method('AllocateFlowId',
+ 'uint32_t',
+ [],
+ is_static=True)
+ ## flow-id-tag.h: void ns3::FlowIdTag::Deserialize(ns3::TagBuffer buf) [member function]
+ cls.add_method('Deserialize',
+ 'void',
+ [param('ns3::TagBuffer', 'buf')],
+ is_virtual=True)
+ ## flow-id-tag.h: uint32_t ns3::FlowIdTag::GetFlowId() const [member function]
+ cls.add_method('GetFlowId',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## flow-id-tag.h: ns3::TypeId ns3::FlowIdTag::GetInstanceTypeId() const [member function]
+ cls.add_method('GetInstanceTypeId',
+ 'ns3::TypeId',
+ [],
+ is_const=True, is_virtual=True)
+ ## flow-id-tag.h: uint32_t ns3::FlowIdTag::GetSerializedSize() const [member function]
+ cls.add_method('GetSerializedSize',
+ 'uint32_t',
+ [],
+ is_const=True, is_virtual=True)
+ ## flow-id-tag.h: static ns3::TypeId ns3::FlowIdTag::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## flow-id-tag.h: void ns3::FlowIdTag::Print(std::ostream & os) const [member function]
+ cls.add_method('Print',
+ 'void',
+ [param('std::ostream &', 'os')],
+ is_const=True, is_virtual=True)
+ ## flow-id-tag.h: void ns3::FlowIdTag::Serialize(ns3::TagBuffer buf) const [member function]
+ cls.add_method('Serialize',
+ 'void',
+ [param('ns3::TagBuffer', 'buf')],
+ is_const=True, is_virtual=True)
+ ## flow-id-tag.h: void ns3::FlowIdTag::SetFlowId(uint32_t flowId) [member function]
+ cls.add_method('SetFlowId',
+ 'void',
+ [param('uint32_t', 'flowId')])
+ return
+
+def register_Ns3Gnuplot2dDataset_methods(root_module, cls):
+ ## gnuplot.h: ns3::Gnuplot2dDataset::Gnuplot2dDataset(ns3::Gnuplot2dDataset const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::Gnuplot2dDataset const &', 'arg0')])
+ ## gnuplot.h: ns3::Gnuplot2dDataset::Gnuplot2dDataset(std::string const & title="Untitled") [constructor]
+ cls.add_constructor([param('std::string const &', 'title', default_value='"Untitled"')])
+ ## gnuplot.h: void ns3::Gnuplot2dDataset::Add(double x, double y) [member function]
+ cls.add_method('Add',
+ 'void',
+ [param('double', 'x'), param('double', 'y')])
+ ## gnuplot.h: void ns3::Gnuplot2dDataset::Add(double x, double y, double errorDelta) [member function]
+ cls.add_method('Add',
+ 'void',
+ [param('double', 'x'), param('double', 'y'), param('double', 'errorDelta')])
+ ## gnuplot.h: void ns3::Gnuplot2dDataset::Add(double x, double y, double minY, double maxY) [member function]
+ cls.add_method('Add',
+ 'void',
+ [param('double', 'x'), param('double', 'y'), param('double', 'minY'), param('double', 'maxY')])
+ ## gnuplot.h: void ns3::Gnuplot2dDataset::AddEmptyLine() [member function]
+ cls.add_method('AddEmptyLine',
+ 'void',
+ [])
+ ## gnuplot.h: static void ns3::Gnuplot2dDataset::SetDefaultErrorBars(ns3::Gnuplot2dDataset::ErrorBars errorBars) [member function]
+ cls.add_method('SetDefaultErrorBars',
+ 'void',
+ [param('ns3::Gnuplot2dDataset::ErrorBars', 'errorBars')],
+ is_static=True)
+ ## gnuplot.h: static void ns3::Gnuplot2dDataset::SetDefaultStyle(ns3::Gnuplot2dDataset::Style style) [member function]
+ cls.add_method('SetDefaultStyle',
+ 'void',
+ [param('ns3::Gnuplot2dDataset::Style', 'style')],
+ is_static=True)
+ ## gnuplot.h: void ns3::Gnuplot2dDataset::SetErrorBars(ns3::Gnuplot2dDataset::ErrorBars errorBars) [member function]
+ cls.add_method('SetErrorBars',
+ 'void',
+ [param('ns3::Gnuplot2dDataset::ErrorBars', 'errorBars')])
+ ## gnuplot.h: void ns3::Gnuplot2dDataset::SetStyle(ns3::Gnuplot2dDataset::Style style) [member function]
+ cls.add_method('SetStyle',
+ 'void',
+ [param('ns3::Gnuplot2dDataset::Style', 'style')])
+ return
+
+def register_Ns3Gnuplot2dFunction_methods(root_module, cls):
+ ## gnuplot.h: ns3::Gnuplot2dFunction::Gnuplot2dFunction(ns3::Gnuplot2dFunction const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::Gnuplot2dFunction const &', 'arg0')])
+ ## gnuplot.h: ns3::Gnuplot2dFunction::Gnuplot2dFunction(std::string const & title="Untitled", std::string const & function="") [constructor]
+ cls.add_constructor([param('std::string const &', 'title', default_value='"Untitled"'), param('std::string const &', 'function', default_value='""')])
+ ## gnuplot.h: void ns3::Gnuplot2dFunction::SetFunction(std::string const & function) [member function]
+ cls.add_method('SetFunction',
+ 'void',
+ [param('std::string const &', 'function')])
+ return
+
+def register_Ns3Gnuplot3dDataset_methods(root_module, cls):
+ ## gnuplot.h: ns3::Gnuplot3dDataset::Gnuplot3dDataset(ns3::Gnuplot3dDataset const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::Gnuplot3dDataset const &', 'arg0')])
+ ## gnuplot.h: ns3::Gnuplot3dDataset::Gnuplot3dDataset(std::string const & title="Untitled") [constructor]
+ cls.add_constructor([param('std::string const &', 'title', default_value='"Untitled"')])
+ ## gnuplot.h: void ns3::Gnuplot3dDataset::Add(double x, double y, double z) [member function]
+ cls.add_method('Add',
+ 'void',
+ [param('double', 'x'), param('double', 'y'), param('double', 'z')])
+ ## gnuplot.h: void ns3::Gnuplot3dDataset::AddEmptyLine() [member function]
+ cls.add_method('AddEmptyLine',
+ 'void',
+ [])
+ ## gnuplot.h: static void ns3::Gnuplot3dDataset::SetDefaultStyle(std::string const & style) [member function]
+ cls.add_method('SetDefaultStyle',
+ 'void',
+ [param('std::string const &', 'style')],
+ is_static=True)
+ ## gnuplot.h: void ns3::Gnuplot3dDataset::SetStyle(std::string const & style) [member function]
+ cls.add_method('SetStyle',
+ 'void',
+ [param('std::string const &', 'style')])
+ return
+
+def register_Ns3Gnuplot3dFunction_methods(root_module, cls):
+ ## gnuplot.h: ns3::Gnuplot3dFunction::Gnuplot3dFunction(ns3::Gnuplot3dFunction const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::Gnuplot3dFunction const &', 'arg0')])
+ ## gnuplot.h: ns3::Gnuplot3dFunction::Gnuplot3dFunction(std::string const & title="Untitled", std::string const & function="") [constructor]
+ cls.add_constructor([param('std::string const &', 'title', default_value='"Untitled"'), param('std::string const &', 'function', default_value='""')])
+ ## gnuplot.h: void ns3::Gnuplot3dFunction::SetFunction(std::string const & function) [member function]
+ cls.add_method('SetFunction',
+ 'void',
+ [param('std::string const &', 'function')])
+ return
+
+def register_functions(root_module):
+ module = root_module
+ register_functions_ns3_Config(module.get_submodule('Config'), root_module)
+ register_functions_ns3_FatalImpl(module.get_submodule('FatalImpl'), root_module)
+ register_functions_ns3_addressUtils(module.get_submodule('addressUtils'), root_module)
+ register_functions_ns3_aodv(module.get_submodule('aodv'), root_module)
+ register_functions_ns3_dot11s(module.get_submodule('dot11s'), root_module)
+ register_functions_ns3_dsdv(module.get_submodule('dsdv'), root_module)
+ register_functions_ns3_flame(module.get_submodule('flame'), root_module)
+ register_functions_ns3_internal(module.get_submodule('internal'), root_module)
+ register_functions_ns3_olsr(module.get_submodule('olsr'), root_module)
+ return
+
+def register_functions_ns3_Config(module, root_module):
+ return
+
+def register_functions_ns3_FatalImpl(module, root_module):
+ return
+
+def register_functions_ns3_addressUtils(module, root_module):
+ return
+
+def register_functions_ns3_aodv(module, root_module):
+ return
+
+def register_functions_ns3_dot11s(module, root_module):
+ return
+
+def register_functions_ns3_dsdv(module, root_module):
+ return
+
+def register_functions_ns3_flame(module, root_module):
+ return
+
+def register_functions_ns3_internal(module, root_module):
+ return
+
+def register_functions_ns3_olsr(module, root_module):
+ return
+
diff --git a/code/bindings/python/apidefs/gcc-ILP32/ns3_module_core.py b/code/bindings/python/apidefs/gcc-ILP32/ns3_module_core.py
new file mode 100644
index 0000000..cfb40c9
--- /dev/null
+++ b/code/bindings/python/apidefs/gcc-ILP32/ns3_module_core.py
@@ -0,0 +1,3395 @@
+from pybindgen import Module, FileCodeSink, param, retval, cppclass, typehandlers
+
+def register_types(module):
+ root_module = module.get_root()
+
+ ## log.h: ns3::LogLevel [enumeration]
+ module.add_enum('LogLevel', ['LOG_NONE', 'LOG_ERROR', 'LOG_LEVEL_ERROR', 'LOG_WARN', 'LOG_LEVEL_WARN', 'LOG_DEBUG', 'LOG_LEVEL_DEBUG', 'LOG_INFO', 'LOG_LEVEL_INFO', 'LOG_FUNCTION', 'LOG_LEVEL_FUNCTION', 'LOG_LOGIC', 'LOG_LEVEL_LOGIC', 'LOG_ALL', 'LOG_LEVEL_ALL', 'LOG_PREFIX_FUNC', 'LOG_PREFIX_TIME', 'LOG_PREFIX_NODE'])
+ ## attribute-list.h: ns3::AttributeList [class]
+ module.add_class('AttributeList')
+ ## callback.h: ns3::CallbackBase [class]
+ module.add_class('CallbackBase')
+ ## command-line.h: ns3::CommandLine [class]
+ module.add_class('CommandLine', allow_subclassing=True)
+ ## system-mutex.h: ns3::CriticalSection [class]
+ module.add_class('CriticalSection')
+ ## global-value.h: ns3::GlobalValue [class]
+ module.add_class('GlobalValue')
+ ## int-to-type.h: ns3::IntToType<0> [struct]
+ module.add_class('IntToType', template_parameters=['0'])
+ ## int-to-type.h: ns3::IntToType<0>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 0 >'])
+ ## int-to-type.h: ns3::IntToType<1> [struct]
+ module.add_class('IntToType', template_parameters=['1'])
+ ## int-to-type.h: ns3::IntToType<1>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 1 >'])
+ ## int-to-type.h: ns3::IntToType<2> [struct]
+ module.add_class('IntToType', template_parameters=['2'])
+ ## int-to-type.h: ns3::IntToType<2>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 2 >'])
+ ## int-to-type.h: ns3::IntToType<3> [struct]
+ module.add_class('IntToType', template_parameters=['3'])
+ ## int-to-type.h: ns3::IntToType<3>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 3 >'])
+ ## int-to-type.h: ns3::IntToType<4> [struct]
+ module.add_class('IntToType', template_parameters=['4'])
+ ## int-to-type.h: ns3::IntToType<4>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 4 >'])
+ ## int-to-type.h: ns3::IntToType<5> [struct]
+ module.add_class('IntToType', template_parameters=['5'])
+ ## int-to-type.h: ns3::IntToType<5>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 5 >'])
+ ## int-to-type.h: ns3::IntToType<6> [struct]
+ module.add_class('IntToType', template_parameters=['6'])
+ ## int-to-type.h: ns3::IntToType<6>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 6 >'])
+ ## names.h: ns3::Names [class]
+ module.add_class('Names')
+ ## object-base.h: ns3::ObjectBase [class]
+ module.add_class('ObjectBase', allow_subclassing=True)
+ ## object.h: ns3::ObjectDeleter [struct]
+ module.add_class('ObjectDeleter')
+ ## object-factory.h: ns3::ObjectFactory [class]
+ module.add_class('ObjectFactory')
+ ## random-variable.h: ns3::RandomVariable [class]
+ module.add_class('RandomVariable')
+ ## rng-stream.h: ns3::RngStream [class]
+ module.add_class('RngStream')
+ ## random-variable.h: ns3::SeedManager [class]
+ module.add_class('SeedManager')
+ ## random-variable.h: ns3::SequentialVariable [class]
+ module.add_class('SequentialVariable', parent=root_module['ns3::RandomVariable'])
+ ## simple-ref-count.h: ns3::SimpleRefCount [class]
+ module.add_class('SimpleRefCount', automatic_type_narrowing=True, template_parameters=['ns3::Object', 'ns3::ObjectBase', 'ns3::ObjectDeleter'], parent=root_module['ns3::ObjectBase'], memory_policy=cppclass.ReferenceCountingMethodsPolicy(incref_method='Ref', decref_method='Unref', peekref_method='GetReferenceCount'))
+ ## system-condition.h: ns3::SystemCondition [class]
+ module.add_class('SystemCondition')
+ ## system-mutex.h: ns3::SystemMutex [class]
+ module.add_class('SystemMutex')
+ ## system-wall-clock-ms.h: ns3::SystemWallClockMs [class]
+ module.add_class('SystemWallClockMs')
+ ## test.h: ns3::TestCase [class]
+ module.add_class('TestCase', allow_subclassing=True)
+ ## test.h: ns3::TestRunner [class]
+ module.add_class('TestRunner')
+ ## test.h: ns3::TestSuite [class]
+ module.add_class('TestSuite', allow_subclassing=True)
+ ## test.h: ns3::TestSuite::TestType [enumeration]
+ module.add_enum('TestType', ['BVT', 'UNIT', 'SYSTEM', 'EXAMPLE', 'PERFORMANCE'], outer_class=root_module['ns3::TestSuite'])
+ ## traced-value.h: ns3::TracedValue [class]
+ module.add_class('TracedValue', template_parameters=['double'])
+ ## random-variable.h: ns3::TriangularVariable [class]
+ module.add_class('TriangularVariable', parent=root_module['ns3::RandomVariable'])
+ ## type-id.h: ns3::TypeId [class]
+ module.add_class('TypeId')
+ ## type-id.h: ns3::TypeId::AttributeFlag [enumeration]
+ module.add_enum('AttributeFlag', ['ATTR_GET', 'ATTR_SET', 'ATTR_CONSTRUCT', 'ATTR_SGC'], outer_class=root_module['ns3::TypeId'])
+ ## type-id.h: ns3::TypeId::AttributeInfo [struct]
+ module.add_class('AttributeInfo', outer_class=root_module['ns3::TypeId'])
+ ## random-variable.h: ns3::UniformVariable [class]
+ module.add_class('UniformVariable', parent=root_module['ns3::RandomVariable'])
+ ## attribute-list.h: ns3::UnsafeAttributeList [class]
+ module.add_class('UnsafeAttributeList')
+ ## vector.h: ns3::Vector2D [class]
+ module.add_class('Vector2D')
+ ## vector.h: ns3::Vector3D [class]
+ module.add_class('Vector3D')
+ ## random-variable.h: ns3::WeibullVariable [class]
+ module.add_class('WeibullVariable', parent=root_module['ns3::RandomVariable'])
+ ## random-variable.h: ns3::ZetaVariable [class]
+ module.add_class('ZetaVariable', parent=root_module['ns3::RandomVariable'])
+ ## random-variable.h: ns3::ZipfVariable [class]
+ module.add_class('ZipfVariable', parent=root_module['ns3::RandomVariable'])
+ ## empty.h: ns3::empty [class]
+ module.add_class('empty')
+ ## random-variable.h: ns3::ConstantVariable [class]
+ module.add_class('ConstantVariable', parent=root_module['ns3::RandomVariable'])
+ ## random-variable.h: ns3::DeterministicVariable [class]
+ module.add_class('DeterministicVariable', parent=root_module['ns3::RandomVariable'])
+ ## random-variable.h: ns3::EmpiricalVariable [class]
+ module.add_class('EmpiricalVariable', parent=root_module['ns3::RandomVariable'])
+ ## random-variable.h: ns3::ErlangVariable [class]
+ module.add_class('ErlangVariable', parent=root_module['ns3::RandomVariable'])
+ ## random-variable.h: ns3::ExponentialVariable [class]
+ module.add_class('ExponentialVariable', parent=root_module['ns3::RandomVariable'])
+ ## random-variable.h: ns3::GammaVariable [class]
+ module.add_class('GammaVariable', parent=root_module['ns3::RandomVariable'])
+ ## random-variable.h: ns3::IntEmpiricalVariable [class]
+ module.add_class('IntEmpiricalVariable', parent=root_module['ns3::EmpiricalVariable'])
+ ## random-variable.h: ns3::LogNormalVariable [class]
+ module.add_class('LogNormalVariable', parent=root_module['ns3::RandomVariable'])
+ ## random-variable.h: ns3::NormalVariable [class]
+ module.add_class('NormalVariable', parent=root_module['ns3::RandomVariable'])
+ ## object.h: ns3::Object [class]
+ module.add_class('Object', parent=root_module['ns3::SimpleRefCount< ns3::Object, ns3::ObjectBase, ns3::ObjectDeleter >'])
+ ## object.h: ns3::Object::AggregateIterator [class]
+ module.add_class('AggregateIterator', outer_class=root_module['ns3::Object'])
+ ## random-variable.h: ns3::ParetoVariable [class]
+ module.add_class('ParetoVariable', parent=root_module['ns3::RandomVariable'])
+ ## simple-ref-count.h: ns3::SimpleRefCount > [class]
+ module.add_class('SimpleRefCount', automatic_type_narrowing=True, template_parameters=['ns3::AttributeAccessor', 'ns3::empty', 'ns3::DefaultDeleter'], parent=root_module['ns3::empty'], memory_policy=cppclass.ReferenceCountingMethodsPolicy(incref_method='Ref', decref_method='Unref', peekref_method='GetReferenceCount'))
+ ## simple-ref-count.h: ns3::SimpleRefCount > [class]
+ module.add_class('SimpleRefCount', automatic_type_narrowing=True, template_parameters=['ns3::AttributeChecker', 'ns3::empty', 'ns3::DefaultDeleter'], parent=root_module['ns3::empty'], memory_policy=cppclass.ReferenceCountingMethodsPolicy(incref_method='Ref', decref_method='Unref', peekref_method='GetReferenceCount'))
+ ## simple-ref-count.h: ns3::SimpleRefCount > [class]
+ module.add_class('SimpleRefCount', automatic_type_narrowing=True, template_parameters=['ns3::AttributeValue', 'ns3::empty', 'ns3::DefaultDeleter'], parent=root_module['ns3::empty'], memory_policy=cppclass.ReferenceCountingMethodsPolicy(incref_method='Ref', decref_method='Unref', peekref_method='GetReferenceCount'))
+ ## simple-ref-count.h: ns3::SimpleRefCount > [class]
+ module.add_class('SimpleRefCount', automatic_type_narrowing=True, template_parameters=['ns3::CallbackImplBase', 'ns3::empty', 'ns3::DefaultDeleter'], parent=root_module['ns3::empty'], memory_policy=cppclass.ReferenceCountingMethodsPolicy(incref_method='Ref', decref_method='Unref', peekref_method='GetReferenceCount'))
+ ## simple-ref-count.h: ns3::SimpleRefCount > [class]
+ module.add_class('SimpleRefCount', automatic_type_narrowing=True, template_parameters=['ns3::FlowClassifier', 'ns3::empty', 'ns3::DefaultDeleter'], parent=root_module['ns3::empty'], memory_policy=cppclass.ReferenceCountingMethodsPolicy(incref_method='Ref', decref_method='Unref', peekref_method='GetReferenceCount'))
+ ## simple-ref-count.h: ns3::SimpleRefCount > [class]
+ module.add_class('SimpleRefCount', automatic_type_narrowing=True, template_parameters=['ns3::FlowProbe', 'ns3::empty', 'ns3::DefaultDeleter'], parent=root_module['ns3::empty'], memory_policy=cppclass.ReferenceCountingMethodsPolicy(incref_method='Ref', decref_method='Unref', peekref_method='GetReferenceCount'))
+ ## simple-ref-count.h: ns3::SimpleRefCount > [class]
+ module.add_class('SimpleRefCount', automatic_type_narrowing=True, template_parameters=['ns3::IdealControlMessage', 'ns3::empty', 'ns3::DefaultDeleter'], parent=root_module['ns3::empty'], memory_policy=cppclass.ReferenceCountingMethodsPolicy(incref_method='Ref', decref_method='Unref', peekref_method='GetReferenceCount'))
+ ## simple-ref-count.h: ns3::SimpleRefCount > [class]
+ module.add_class('SimpleRefCount', automatic_type_narrowing=True, template_parameters=['ns3::RefCountBase', 'ns3::empty', 'ns3::DefaultDeleter'], parent=root_module['ns3::empty'], memory_policy=cppclass.ReferenceCountingMethodsPolicy(incref_method='Ref', decref_method='Unref', peekref_method='GetReferenceCount'))
+ ## simple-ref-count.h: ns3::SimpleRefCount > [class]
+ module.add_class('SimpleRefCount', automatic_type_narrowing=True, template_parameters=['ns3::SystemThread', 'ns3::empty', 'ns3::DefaultDeleter'], parent=root_module['ns3::empty'], memory_policy=cppclass.ReferenceCountingMethodsPolicy(incref_method='Ref', decref_method='Unref', peekref_method='GetReferenceCount'))
+ ## simple-ref-count.h: ns3::SimpleRefCount > [class]
+ module.add_class('SimpleRefCount', automatic_type_narrowing=True, template_parameters=['ns3::TraceSourceAccessor', 'ns3::empty', 'ns3::DefaultDeleter'], parent=root_module['ns3::empty'], memory_policy=cppclass.ReferenceCountingMethodsPolicy(incref_method='Ref', decref_method='Unref', peekref_method='GetReferenceCount'))
+ ## system-thread.h: ns3::SystemThread [class]
+ module.add_class('SystemThread', parent=root_module['ns3::SimpleRefCount< ns3::SystemThread, ns3::empty, ns3::DefaultDeleter >'])
+ ## trace-source-accessor.h: ns3::TraceSourceAccessor [class]
+ module.add_class('TraceSourceAccessor', parent=root_module['ns3::SimpleRefCount< ns3::TraceSourceAccessor, ns3::empty, ns3::DefaultDeleter >'])
+ ## attribute.h: ns3::AttributeAccessor [class]
+ module.add_class('AttributeAccessor', parent=root_module['ns3::SimpleRefCount< ns3::AttributeAccessor, ns3::empty, ns3::DefaultDeleter >'])
+ ## attribute.h: ns3::AttributeChecker [class]
+ module.add_class('AttributeChecker', allow_subclassing=False, automatic_type_narrowing=True, parent=root_module['ns3::SimpleRefCount< ns3::AttributeChecker, ns3::empty, ns3::DefaultDeleter >'])
+ ## attribute.h: ns3::AttributeValue [class]
+ module.add_class('AttributeValue', allow_subclassing=False, automatic_type_narrowing=True, parent=root_module['ns3::SimpleRefCount< ns3::AttributeValue, ns3::empty, ns3::DefaultDeleter