+++ /dev/null
-#ifndef _GNTUN_PACKET_H_
-#define _GNTUN_PACKET_H_
-
-#include "platform.h"
-#include "gnunet_common.h"
-#include "gnunet_dnsparser_lib.h"
-
-GNUNET_NETWORK_STRUCT_BEGIN
-
-// Headers
-struct pkt_tun
-{
- unsigned flags:16 GNUNET_PACKED;
- unsigned type:16 GNUNET_PACKED;
-};
-
-struct ip6_hdr
-{
- unsigned tclass_h:4 GNUNET_PACKED;
- unsigned version:4 GNUNET_PACKED;
- unsigned tclass_l:4 GNUNET_PACKED;
- unsigned flowlbl:20 GNUNET_PACKED;
- unsigned paylgth:16 GNUNET_PACKED;
- unsigned nxthdr:8 GNUNET_PACKED;
- unsigned hoplmt:8 GNUNET_PACKED;
- struct in6_addr sadr;
- struct in6_addr dadr;
-};
-
-struct ip_hdr
-{
- unsigned hdr_lngth:4 GNUNET_PACKED;
- unsigned version: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;
-
- struct in_addr sadr GNUNET_PACKED;
- struct in_addr dadr GNUNET_PACKED;
-};
-
-#define TCP_FLAG_SYN 2
-
-struct tcp_pkt
-{
- unsigned spt:16 GNUNET_PACKED;
- unsigned dpt:16 GNUNET_PACKED;
- unsigned seq:32 GNUNET_PACKED;
- unsigned ack:32 GNUNET_PACKED;
- unsigned off:4 GNUNET_PACKED;
- unsigned rsv:4 GNUNET_PACKED;
- unsigned flg:8 GNUNET_PACKED;
- unsigned wsz:16 GNUNET_PACKED;
- unsigned crc:16 GNUNET_PACKED;
- unsigned urg:16 GNUNET_PACKED;
-};
-
-struct udp_pkt
-{
- unsigned spt:16 GNUNET_PACKED;
- unsigned dpt:16 GNUNET_PACKED;
- unsigned len:16 GNUNET_PACKED;
- unsigned crc:16 GNUNET_PACKED;
-};
-
-struct icmp_hdr
-{
- unsigned type:8 GNUNET_PACKED;
- unsigned code:8 GNUNET_PACKED;
- unsigned chks:16 GNUNET_PACKED;
-};
-GNUNET_NETWORK_STRUCT_END
-
-
-struct udp_dns
-{
- struct udp_pkt udp_hdr;
- struct dns_pkt data;
-};
-
-GNUNET_NETWORK_STRUCT_BEGIN
-
-// Complete Packets
-struct tun_pkt
-{
- struct GNUNET_MessageHeader shdr;
- struct pkt_tun tun;
-};
-
-struct ip6_pkt
-{
- struct GNUNET_MessageHeader shdr;
- struct pkt_tun tun;
- struct ip6_hdr ip6_hdr;
- unsigned char data[1];
-};
-
-struct ip6_tcp
-{
- struct GNUNET_MessageHeader shdr;
- struct pkt_tun tun;
- struct ip6_hdr ip6_hdr;
- struct tcp_pkt tcp_hdr;
- unsigned char data[1];
-};
-
-struct ip6_icmp
-{
- struct GNUNET_MessageHeader shdr;
- struct pkt_tun tun;
- struct ip6_hdr ip6_hdr;
- struct icmp_hdr icmp_hdr;
-};
-
-struct ip6_udp
-{
- struct GNUNET_MessageHeader shdr;
- struct pkt_tun tun;
- struct ip6_hdr ip6_hdr;
- struct udp_pkt udp_hdr;
- unsigned char data[1];
-};
-
-struct ip6_udp_dns
-{
- struct GNUNET_MessageHeader shdr;
- struct pkt_tun tun;
- struct ip6_hdr ip6_hdr;
- struct udp_dns udp_dns;
-};
-
-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_dns udp_dns;
-};
-
-struct ip_tcp
-{
- struct GNUNET_MessageHeader shdr;
- struct pkt_tun tun;
- struct ip_hdr ip_hdr;
- struct tcp_pkt tcp_hdr;
- unsigned char data[1];
-};
-
-struct ip_icmp
-{
- struct GNUNET_MessageHeader shdr;
- struct pkt_tun tun;
- struct ip_hdr ip_hdr;
- struct icmp_hdr icmp_hdr;
-};
-GNUNET_NETWORK_STRUCT_END
-
-#endif