================================================================
These are the IP and TCP header structs, windows is little
endian, so if you have any problems with the if and elif
defs, just delete everything but the little endian stuff.

These arent found in WINSOCK.H nore any other windows header
file ive seen.

                                         -Rift   
==SNIP==========================================================

typedef unsigned char __u8;
typedef unsigned short __u16;
typedef unsigned int __u32;

struct iphdr {
   #if defined (__LITTLE_ENDIAN_BITFIELD)
      __u8 ihl:4,
           version:4;
   #elif defined (__BIG_ENDIAN_BITFIELD)
      __u8 version:4,
           ihl:4;
   #else
   #error "Please fix <asm/byteorder.h>"
   #endif

   __u8 tos;
   __u16 tot_len;
   __u16 id;
   __u16 frag_off;
   __u8 ttl;
   __u8 protocol;
   __u16 check;
   __u32 saddr;
   __u32 daddr;
};

struct tcphdr {
  __u16 source;
  __u16 dest;
  __u32 seq;
  __u32 ack_seq;
  #if defined (__LITTLE_ENDIAN_BITFIELD)
    __u16 res1:4,
	  doff:4,
	  fin:1,
	  syn:1,
	  rst:1,
 	   psh:1,
	  ack:1,
	  urg:1,
	  res2:2;
  #elif defined(__BIG_ENDIAN_BITFIELD)
    __u16 doff:4,
          res1:4,
          res2:2,
	  urg:1,
	  ack:1,
	  psh:1,
	  rst:1,
	  syn:1,
	  fin:1;
  #else
  #error "Adjust your <asm/byteorder.h> defines"
  #endif
    __u16 window;
    __u16 check;
    __u16 urg_ptr;
};
