00001 #ifndef _HLBR_DECODE_TCP_H_ 00002 #define _HLBR_DECODE_TCP_H_ 00003 00004 #include "../config.h" 00005 #include "../engine/hlbr.h" 00006 #include "decode.h" 00007 00008 00009 typedef struct tcp_header { 00010 unsigned short source; 00011 unsigned short dest; 00012 unsigned int seq; 00013 unsigned int ack_seq; 00014 #ifdef HLBR_LITTLE_ENDIAN 00015 unsigned short res1:4, 00016 doff:4, 00017 fin:1, 00018 syn:1, 00019 rst:1, 00020 psh:1, 00021 ack:1, 00022 urg:1, 00023 ece:1, 00024 cwr:1; 00025 #else 00026 unsigned short doff:4, 00027 res1:4, 00028 cwr:1, 00029 ece:1, 00030 urg:1, 00031 ack:1, 00032 psh:1, 00033 rst:1, 00034 syn:1, 00035 fin:1; 00036 #endif 00037 unsigned short window; 00038 unsigned short check; 00039 unsigned short urg_ptr; 00040 } TCPHdr; 00041 00042 00043 00044 typedef struct tcp_data{ 00045 TCPHdr* Header; 00046 unsigned char* Data; 00047 unsigned int DataLen; 00048 } TCPData; 00049 00050 00051 int InitDecoderTCP(); 00052 00053 #endif