From 3ea1ee717f5bace1cc1f3ee250ab1348311e6be9 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Philipp=20T=C3=B6lke?= Date: Tue, 3 Aug 2010 18:58:59 +0000 Subject: [PATCH] Added IPv4-Packet-Structure --- src/vpn/gnunet-vpn-packet.h | 40 +++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) 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 -- 2.25.1