5 #include <sys/time.h>
\r
6 #include <sys/types.h>
\r
7 #include <sys/socket.h>
\r
8 #include <sys/stat.h>
\r
9 #include <sys/ioctl.h>
\r
12 #include <arpa/inet.h>
\r
14 #define BYTE unsigned char
\r
15 #define DWORD unsigned long
\r
21 #define SOCKADDR struct sockaddr
\r
22 #define SOCKADDR_IN struct sockaddr_in
\r
23 typedef struct _WSABUF {
\r
27 #define SIO_RCVALL 0
\r
28 #define SIO_RCVALL_IGMPMCAST 0
\r
29 #define SIO_RCVALL_MCAST 0
\r
30 #define ETH_P_ALL 0x0003
\r
33 #include <winsock2.h>
\r
34 #include <windows.h>
\r
42 #define MAX_IP_SIZE 65535
\r
43 #define MIN_IP_HDR_SIZE 20
\r
45 #define HI_WORD(byte) (((byte) >> 4) & 0x0F)
\r
46 #define LO_WORD(byte) ((byte) & 0x0F)
\r
48 extern char *szProto[];
\r
52 void PrintRawBytes (BYTE *ptr, DWORD len);
\r
53 int DecodeIGMPHeader(WSABUF *wsabuf, DWORD iphdrlen);
\r
54 int DecodeUDPHeader (WSABUF *wsabuf, DWORD iphdrlen);
\r
55 int DecodeTCPHeader (WSABUF *wsabuf, DWORD iphdrlenz);
\r
56 int DecodeIPHeader (WSABUF *wasbuf, unsigned int srcaddr, unsigned short srcport, unsigned long srcnet,
\r
57 unsigned int destaddr, unsigned short destport, unsigned long destnet, DWORD bytesret,
\r
58 unsigned short xport, unsigned int xip, unsigned long xnet);
\r