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

📄 p802_15_4nam.h

📁 Low Rate Wireless Personal Area Networks (LR-WPANs)in C
💻 H
字号:
/********************************************//*     NS2 Simulator for IEEE 802.15.4      *//*           (per P802.15.4/D18)            *//*------------------------------------------*//* by:        Jianliang Zheng               *//*        (zheng@ee.ccny.cuny.edu)          *//*              Myung J. Lee                *//*          (lee@ccny.cuny.edu)             *//*        ~~~~~~~~~~~~~~~~~~~~~~~~~         *//*           SAIT-CUNY Joint Lab            *//********************************************/// File:  p802_15_4nam.h// Mode:  C++; c-basic-offset:8; tab-width:8; indent-tabs-mode:t// $Header: p802_15_4nam.h,v 1.1 2004/10/15 17:32:08 zheng Exp $/* * Copyright (c) 2003-2004 Samsung Advanced Institute of Technology and * The City University of New York. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in the *    documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software *    must display the following acknowledgement: *	This product includes software developed by the Joint Lab of Samsung  *      Advanced Institute of Technology and The City University of New York. * 4. Neither the name of Samsung Advanced Institute of Technology nor of  *    The City University of New York may be used to endorse or promote  *    products derived from this software without specific prior written  *    permission. * * THIS SOFTWARE IS PROVIDED BY THE JOINT LAB OF SAMSUNG ADVANCED INSTITUTE * OF TECHNOLOGY AND THE CITY UNIVERSITY OF NEW YORK ``AS IS'' AND ANY EXPRESS  * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN  * NO EVENT SHALL SAMSUNG ADVANCED INSTITUTE OR THE CITY UNIVERSITY OF NEW YORK  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE  * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */#ifndef p802_15_4nam_h#define p802_15_4nam_h#define mac_oper_del	1#define mac_oper_est	2class Mac802_15_4;class MACLINK {public:	Mac802_15_4 *mac;	int addr;	MACLINK *last;	MACLINK *next;	MACLINK(int ad,Mac802_15_4 *m)	{		addr = ad;		mac = m;		last = NULL;		next = NULL;	}};int addMacLink(int ad,Mac802_15_4 *m);int updateMacLink(int oper,int ad);Mac802_15_4 *getMacLink(int ad);int chkAddMacLink(int ad,Mac802_15_4 *m);//------------------------------------------------------------------#define at_oper_del	1#define at_oper_est	2extern int ATTRIBUTE_SN;class ATTRIBUTELINK {public:	packet_t ptype;	char color[21];	int src,dst;	int attribute;	ATTRIBUTELINK *last;	ATTRIBUTELINK *next;	ATTRIBUTELINK(packet_t pt,char *clr,int s,int d)	{		ptype = pt;		strncpy(color,clr,20);		color[20] = 0;		src = s;		dst = d;		attribute = ATTRIBUTE_SN++;		last = NULL;		next = NULL;	}};packet_t nam_pktName2Type(const char *name);int addAttrLink(packet_t pt,char *clr,int s = -2,int d = -2);int updateAttrLink(int oper,packet_t pt,int s = -2,int d = -2);int chkAddAttrLink(packet_t pt,char *clr,int s = -2,int d = -2);ATTRIBUTELINK *findAttrLink(packet_t pt,int s = -2,int d = -2);//------------------------------------------------------------------class Nam802_15_4{	friend class Mac802_15_4;	friend class Phy802_15_4;public:	Nam802_15_4(const char *ncolor,const char *mcolor,Mac802_15_4 *m);	//~Nam802_15_4();	static void	flowAttribute(int clrID,const char *clrName);	static void	changePlaybackRate(double atTime,const char *stepLen);protected:	void		changeNodeColor(double atTime,const char *newColor,bool save = true);	void		changeBackNodeColor(double atTime);	void		flashNodeColor(double atTime,const char *flashColor = "");	void		changeMarkColor(double atTime,const char *newColor);	void		flashNodeMark(double atTime);	void		changeLabel(double atTime,const char *lb);	void		flashLinkFail(double atTime,int dst,const char *flashColor = "");	void		annotate(double atTime,const char *note);public:	static bool Nam_Status;	static bool emStatus;			//energy model used?	static bool emHandling;			//need special handling for energy model?	static char def_PANCoor_clr[21];	static char def_Coor_clr[21];	static char def_Dev_clr[21];	static char def_Node_clr[21];	static char def_Mark_clr[21];	static char def_ColFlash_clr[21];	static char def_NodeFail_clr[21];	static char def_LinkFailFlash_clr[21];protected:	char	nodePreColor[21];	char	nodeColor[21];	char	markColor[21];	char	label[81];private:	Mac802_15_4 *mac;};#endif// End of file: p802_15_4nam.h

⌨️ 快捷键说明

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