From: Philipp Tölke Date: Tue, 3 Aug 2010 18:58:59 +0000 (+0000) Subject: Added IPv4-Packet-Structure X-Git-Tag: initial-import-from-subversion-38251~20762 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=3ea1ee717f5bace1cc1f3ee250ab1348311e6be9;p=oweals%2Fgnunet.git Added IPv4-Packet-Structure --- diff --git a/src/vpn/gnunet-vpn-packet.h b/src/vpn/gnunet-vpn-packet.h index fc998ef2c..7bda6ab84 100644 --- a/src/vpn/gnunet-vpn-packet.h +++ b/src/vpn/gnunet-vpn-packet.h @@ -21,6 +21,24 @@ struct ip6_hdr { unsigned char dadr[16]; }; +struct ip_hdr { + unsigned version:4 GNUNET_PACKED; + unsigned hdr_lngth:4 GNUNET_PACKED; + unsigned diff_serv:8 GNUNET_PACKED; + unsigned tot_lngth:16 GNUNET_PACKED; + + unsigned ident:16 GNUNET_PACKED; + unsigned flags:3 GNUNET_PACKED; + unsigned frag_off:13 GNUNET_PACKED; + + unsigned ttl:8 GNUNET_PACKED; + unsigned proto:8 GNUNET_PACKED; + unsigned chks:16 GNUNET_PACKED; + + unsigned sadr:32 GNUNET_PACKED; + unsigned dadr:32 GNUNET_PACKED; +}; + struct tcp_pkt { unsigned spt:16 GNUNET_PACKED; unsigned dpt:16 GNUNET_PACKED; @@ -114,4 +132,26 @@ struct ip6_udp_dns { struct dns_pkt data; }; +struct ip_pkt { + struct GNUNET_MessageHeader shdr; + struct pkt_tun tun; + struct ip_hdr ip_hdr; + unsigned char data[1]; +}; + +struct ip_udp { + struct GNUNET_MessageHeader shdr; + struct pkt_tun tun; + struct ip_hdr ip_hdr; + struct udp_pkt udp_hdr; + unsigned char data[1]; +}; + +struct ip_udp_dns { + struct GNUNET_MessageHeader shdr; + struct pkt_tun tun; + struct ip_hdr ip_hdr; + struct udp_pkt udp_hdr; + struct dns_pkt data; +}; #endif