⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mac.cc

📁 ns2.1b5版本中cbrp碼
💻 CC
字号:
#include <delay.h>#include <connector.h>#include <packet.h>#include <random.h>// #define DEBUG#include <cmu/god.h>#include <debug.h>#include <arp.h>#include <ll.h> #include <mac.h>/* ======================================================================   Mac Packet Header   ====================================================================== */int hdr_mac::offset_;static class MacHeaderClass : public PacketHeaderClass {public:	MacHeaderClass() :		PacketHeaderClass("PacketHeader/Mac", MAC_HDR_LEN) {		offset(&hdr_mac::offset_);	}} class_machdr;/* ======================================================================   Mac Class Functions   ====================================================================== */static int MacIndex = 1;Mac::Mac() : Connector(){        index = MacIndex++;	bitRate = 2.0 * 1e6;			// XXX 2 Mbps        bind("off_mac_", &off_mac_);	recvtarget_ = 0;	sendtarget_ = 0;        netif_ = 0;	ll_ = 0;        upcall_ = 0;        state = MAC_IDLE;        pktTx = 0;        pktRx = 0;	tap = 0;}intMac::command(int argc, const char*const* argv){	if(argc == 2) {		Tcl& tcl = Tcl::instance();		if(strcmp(argv[1], "recvtarget") == 0) {			tcl.resultf("%s", recvtarget_->name());			return TCL_OK;		}		if(strcmp(argv[1], "sendtarget") == 0) {			tcl.resultf("%s", sendtarget_->name());			return TCL_OK;		}		else if(strcasecmp(argv[1], "id") == 0) {		  tcl.resultf("%d", address());		  return TCL_OK;		}	}	if (argc == 3) {		TclObject *obj;		if( (obj = TclObject::lookup(argv[2])) == 0) {			fprintf(stderr, "%s lookup failed\n", argv[1]);			return TCL_ERROR;		}		if (strcmp(argv[1], "recvtarget") == 0) {			recvtarget_ = (NsObject*) obj;			return TCL_OK;		}		if (strcmp(argv[1], "sendtarget") == 0) {			sendtarget_ = (NsObject*) obj;			return TCL_OK;		}		if (strcmp(argv[1], "netif") == 0) {			netif_ = (NetIf*) obj;			return TCL_OK;		}	}	return Connector::command(argc, argv);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -