#include #include #include #include #include #include #ifndef _PROTOCOL_H_ #define _PROTOCOL_H_ //MAC header typedef struct { unsigned char DesMacAddr[6]; unsigned char SrcMacAddr[6]; short LengthOrType; }__attribute__((packed)) MAC_HEADER, *PMAC_HEADER; //IP header typedef struct { unsigned char hdr_len :4; unsigned char version :4; unsigned char tos; unsigned short total_len; unsigned short identifier; unsigned short frag_and_flags; unsigned char ttl; unsigned char protocol; unsigned short checksum; unsigned int source_ip; unsigned int dest_ip; }__attribute__((packed)) IP_HEADER, *PIP_HEADER; /*TCP*/ typedef struct _TCP_HEADER { short m_sSourPort; short m_sDestPort; unsigned int m_uiSequNum; unsigned int m_uiAcknowledgeNum; short m_sHeaderLenAndFlag; short m_sWindowSize; short m_sCheckSum; short m_surgentPointer; }__attribute__((packed)) TCP_HEADER, *PTCP_HEADER; typedef struct _TCP_OPTIONS { char m_ckind; char m_cLength; char m_cContext[32]; }__attribute__((packed))TCP_OPTIONS, *PTCP_OPTIONS; typedef struct _UDP_HEADER { unsigned short m_usSourPort; unsigned short m_usDestPort; unsigned short m_usLength; unsigned short m_usCheckSum; }__attribute__((packed)) UDP_HEADER, *PUDP_HEADER; #endif //_PROTOCOL_H_ /////////////////////////////////////////////////////////