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

📄 neighbor.h

📁 本程序是基于Zigbee协议的无线温度传感器网络系统
💻 H
字号:
/*
 *2006/08/16 WXL 2.0
 *
 */

/*
V0.2 added PC-based binding         21/July/2006
V0.1 Initial Release                10/July/2006

*/


#ifndef NEIGHBOR_H
#define NEIGHBOR_H



typedef struct _MAPENTRY {
	UINT16 saddr;   //an address of 0xFFFF means this is unused
	//an address of 0xFFFE means this is unknown or not assigned
	BYTE laddr[8];	
}MAPENTRY;
//holds pairs of long/short addresses, first entry is always our own.
extern MAPENTRY mac_addr_tbl[LRWPAN_MAX_ADDRESS_MAP_ENTRIES ];
SADDR ntNewAddressMapEntry(BYTE *laddr, SADDR saddr);
BOOL ntFindAddressBySADDR(SADDR saddr, BYTE *index);
BOOL ntFindAddressByLADDR(LADDR *ptr, BYTE *index);
void ntAddOurselvesToAddressTable(SADDR saddr);
void ntInitAddressMap(void);
SADDR ntGetMaxSADDR(SADDR router_saddr,BYTE depth);
UINT16 ntGetCskip(BYTE depth);

//rest of this only needed for FFDs
#ifdef LRWPAN_FFD
//only needed for FFDs

#define NTENTRIES (LRWPAN_MAX_CHILDREN_PER_PARENT)

//Howdy NAYBOR!!!!  I dislike spelling.
typedef struct _NAYBORENTRY {

	BYTE    map_index;   //index of corresponding laddr/saddr pair in address table
	BYTE    capinfo;     //node capability info
	union {
		BYTE val;
		struct {
			unsigned used: 1;  //true if used
			unsigned lqi: 7;   //link quality indictor
		}bits;
	}flags;
}NAYBORENTRY;


//holds the neighbor table entries.
extern NAYBORENTRY mac_nbr_tbl[NTENTRIES];


NAYBORENTRY *ntFindBySADDR (UINT16 saddr);
NAYBORENTRY *ntFindByLADDR (LADDR *ptr);
void ntInitTable(void);
SADDR ntAddNeighbor(BYTE *ptr, BYTE capinfo);
void ntInitAddressAssignment(void);
SADDR ntFindNewDst(SADDR dstSADDR);


#endif

#endif


⌨️ 快捷键说明

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