The DMAC code is implemented through modification on the mac-802_11 file in the NS2 release. Major files and functions are in the mac directory: mac-802_11.h: Data structure in the simulation, added some data structure and timers used in DMAC: mac-802_11-smac.cc A simple implementation of SMAC with only periodical duty cycle and adaptive listening (Assume global synchronization is available) mac-802_11-more.cc DMAC without MTS implmentation mac-802_11-nts.cc DMAC with MTS implementation class WakeupTimer; struct nts_frame; void Mac802_11::wakeupHandler(); void Mac802_11::sendNTS(int dst, int flag); void Mac802_11::recvNTS(Packet *p) There are also some modifications to tcl/lib/ns-lib.tcl, tcl/lib/ns-mobilenode.tcl, etc. Simulation tcl code used in the paper is in the ns-dmac/simulation directory, for example, cbr-49-test Defines the traffic load in the simulation scen-49-test Defines the topology of the simulation, as well as some configuration cbrtree.tcl The configuration file for the simulation of TREE topology cbrchain.tcl The configuration file for the simulation of CHAIN topology A simple manual forwarding protocol used in the simulation is in ns-dmac/simroute: simroute.cc, simroute.h Author: Gang Lu, ganglu@usc.edu June 16, 2004 Autonomous Networks Research Group, USC http://ceng.usc.edu/~anrg/