1.问题:
# make
...
./satellite -I./wpan -o satellite/sat-hdlc.o satellite/sat-hdlc.cc
./satellite/sat-hdlc.h: In member function ‘virtual void HDLC::hdr_dst(Packet*, int)’:
./satellite/sat-hdlc.h:193: 错误:‘HDR_HDLC’ 在此作用域中尚未声明
satellite/sat-hdlc.cc: In member function ‘void HDLC::inSendBuffer(Packet*, ARQstate*)’:
satellite/sat-hdlc.cc:162: 错误:‘HDR_HDLC’ 在此作用域中尚未声明
satellite/sat-hdlc.cc: In member function ‘void HDLC::output(Packet*, ARQstate*, int)’:
satellite/sat-hdlc.cc:220: 错误:‘HDR_HDLC’ 在此作用域中尚未声明
解决:
1)在packet.h文件中定义:
#define HDLR_HDLC(p) ((hdr_hdlc*)hdr_ll::access(p))
2)enum packet_t 增加 PT_HDLC
Enumerator:
PT_TCP
PT_UDP
...
PT_XCP
PT_HDLC
PT_NTYPE