globaldef.h
来自「基于短消息的移动通信场强信号检测管理软件,软件基于PC,用于与嵌入式信号接收板通」· C头文件 代码 · 共 109 行
H
109 行
#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 + =
减小字号Ctrl + -
显示快捷键?