📄 globaldef.h
字号:
#if !defined(GLOBAL_DEF)
#define GLOBAL_DEF
#pragma pack(push)
#pragma pack(1)
struct IPHEADER
{
//4-BIT VERSION,4-BIT HEADER LENGTh,8-BIT TYPE OF SERVICE(TOS),
//16-BIT TOTAL LENGTH(IN BYTES)
ULONG Version:4;
ULONG HeaderLen:4;
ULONG ServiceType:8;
ULONG TotalLen:16;
//16-BIT IDENTIFICATION,3-BIT FLAGS,13-BIT FRAGMENT OFFSET]
ULONG Identification:16;
ULONG Flags:3;
ULONG FragOffset:13;
//8-BIT TIME TO LIVE,8-BIT PROTOCOL,16-BIT HEADER CHECKSUM
ULONG TTL:8;
ULONG Protocol:8;
ULONG HeaderCheckSum:16;
//32-BIT SOURCE IP ADDRESS
unsigned char SrcIpAddr[4];
//32-BIT DESTINATION IP ADDRESS
unsigned char DestIpAddr[4];
};
struct IPFRAME
{
struct IPHEADER ipHeader;
char OptionsAndData[1500];
};
struct MACFRAME
{
//DESTINATION ADDRESS,SOURCE ADDRESS
char DestMacAddr[6];
char SrcMacAddr[6];
union
{
struct E8023UNTAGGED
{
short int Len;
struct IPFRAME ipFrame;
}E8023Untagged;
struct E8023TAGGED
{
LONG ProtocolId:16;
LONG TagField:16;
short int Len;
struct IPFRAME ipFrame;
}E8023Tagged;
struct EIIUNTAGGED
{
short int EType;
struct IPFRAME ipFrame;
}EIIUntagged;
struct EIITAGGED
{
LONG ProtocolId:16;
LONG TagField:16;
short int EType;
struct IPFRAME ipFrame;
}EIITagged;
struct ESNAPUNTAGGED
{
LONG Len:16;
LONG Dsap:8;
LONG Ssap:8;
LONG Ctrl:8;
LONG Org:24;
short int EType;
struct IPFRAME ipFrame;
}ESnapUntagged;
struct ESNAPTAGGED
{
LONG ProtocolId:16;
LONG TagField:16;
LONG Len:16;
LONG Dsap:8;
LONG Ssap:8;
LONG Ctrl:8;
LONG Org:24;
short int EType;
struct IPFRAME ipFrame;
}ESnapTagged;
}u_macData;
DWORD FCS;
};
struct IPAddress
{
BYTE nField0;
BYTE nField1;
BYTE nField2;
BYTE nField3;
};
#pragma pack(pop)
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -