阅读:1700回复:9
超弱智问题:PEtherHeader在哪里定义的啊?
如题,看到很多帖子里都有
PEtherHeader PIPHeader 哪里有头文件啊? |
|
沙发#
发布于:2004-12-15 09:12
PEtherHeader是指向Ether头的指针
PIPHeader是指向IP头的指针,你完全可以安装协议要求自己定义。 |
|
板凳#
发布于:2004-12-15 09:33
谢谢您的回答,有这样的头文件吗?
在哪里可以找到? |
|
地板#
发布于:2004-12-15 10:17
//=============================================================================
// 802.3 and ETHERNET MAC structure. //============================================================================= typedef struct _ETHERNET { BYTE DstAddr[MAX_ADDR_LENGTH]; //... destination address. BYTE SrcAddr[MAX_ADDR_LENGTH]; //... source address. union { WORD Length; //... 802.3 length field. WORD Type; //... Ethernet type field. }; BYTE Info[0]; //... information field. } ETHERNET; typedef ETHERNET *LPETHERNET; typedef ETHERNET UNALIGNED *ULPETHERNET; #define ETHERNET_SIZE sizeof(ETHERNET) #define ETHERNET_HEADER_LENGTH 14 |
|
地下室#
发布于:2004-12-15 10:21
#ifndef __brloader_protocol_h
#define __brloader_protocol_h typedef BYTE ETHERNET_ADDRESS [6]; typedef struct ETHERNET_FRAME { ETHERNET_ADDRESS Destination; ETHERNET_ADDRESS Source; WORD FrameType; // in host-order } ETHERNET_FRAME; #define ETHERNET_FRAME_TYPE_IP 0x0800 typedef struct IP_HEADER { BYTE x; BYTE tos; WORD length; WORD identifier; #define IP_MF 0x2000 WORD fragment; BYTE ttl; BYTE protocol; WORD cksum; DWORD src; DWORD dest; } IP_HEADER; typedef IP_HEADER * LPIPHEADER; #define IP_HEADER_MINIMUM_LEN 20 typedef struct UDP_HEADER { WORD src_port; WORD dest_port; WORD length; // including this header WORD checksum; } UDP_HEADER; #define UDP_HEADER_LEN 8 #endif // __brloader__protocol_h |
|
5楼#
发布于:2004-12-15 10:51
谢谢,加分,能给发一个完整的.h头文件吗?
cmldy@163.com cmldy@sina.com 谢谢啦。 |
|
6楼#
发布于:2004-12-15 12:16
上面的内容就是protocol.h文件的内容,装个VC,找一下protocol.h即可!
|
|
7楼#
发布于:2004-12-15 14:47
为什么我把protocal.h include进去之后,build出来一对错误啊?
|
|
8楼#
发布于:2004-12-16 09:13
应该是BYTE、WORD、DWORD没有定义的原因,自己加入:
typedef unsigned char BYTE; typedef unsigned short WORD; typedef unsigned int DWORD; 试试看,另外,要注意一下字节对齐问题。 |
|
9楼#
发布于:2004-12-16 10:45
谢谢,已经解决了
|
|