diff options
author | Philipp Tölke <toelke@in.tum.de> | 2010-07-20 09:41:26 +0000 |
---|---|---|
committer | Philipp Tölke <toelke@in.tum.de> | 2010-07-20 09:41:26 +0000 |
commit | 67576021d826e729e3ddf247e1c596e29608f0c8 (patch) | |
tree | 4bd88d62f9bef50bc432ed1f9f7d1d644cf6ad88 /src/vpn/gnunet-vpn-packet.h | |
parent | cf2b5b068fe12986ebe4c21a2ce1fa04f5881c55 (diff) | |
download | gnunet-67576021d826e729e3ddf247e1c596e29608f0c8.tar.gz gnunet-67576021d826e729e3ddf247e1c596e29608f0c8.zip |
Pretty-Print Packets from the helper
Diffstat (limited to 'src/vpn/gnunet-vpn-packet.h')
-rw-r--r-- | src/vpn/gnunet-vpn-packet.h | 36 |
1 files changed, 19 insertions, 17 deletions
diff --git a/src/vpn/gnunet-vpn-packet.h b/src/vpn/gnunet-vpn-packet.h index c19e7a101..89b75ba35 100644 --- a/src/vpn/gnunet-vpn-packet.h +++ b/src/vpn/gnunet-vpn-packet.h | |||
@@ -1,6 +1,9 @@ | |||
1 | #ifndef _GNTUN_PACKET_H_ | 1 | #ifndef _GNTUN_PACKET_H_ |
2 | #define _GNTUN_PACKET_H_ | 2 | #define _GNTUN_PACKET_H_ |
3 | 3 | ||
4 | #include "gnunet-vpn-helper-p.h" | ||
5 | |||
6 | // Headers | ||
4 | struct pkt_tun { | 7 | struct pkt_tun { |
5 | unsigned flags:16; | 8 | unsigned flags:16; |
6 | unsigned type:16; | 9 | unsigned type:16; |
@@ -28,7 +31,6 @@ struct tcp_pkt { | |||
28 | unsigned wsz:16; | 31 | unsigned wsz:16; |
29 | unsigned crc:16; | 32 | unsigned crc:16; |
30 | unsigned urg:16; | 33 | unsigned urg:16; |
31 | unsigned char data[1]; | ||
32 | }; | 34 | }; |
33 | 35 | ||
34 | struct udp_pkt { | 36 | struct udp_pkt { |
@@ -38,6 +40,7 @@ struct udp_pkt { | |||
38 | unsigned crc:16; | 40 | unsigned crc:16; |
39 | }; | 41 | }; |
40 | 42 | ||
43 | // DNS-Stuff | ||
41 | struct dns_pkt { | 44 | struct dns_pkt { |
42 | unsigned short id; | 45 | unsigned short id; |
43 | 46 | ||
@@ -78,37 +81,36 @@ struct dns_record { | |||
78 | unsigned char* data; | 81 | unsigned char* data; |
79 | }; | 82 | }; |
80 | 83 | ||
84 | // Complete Packets | ||
81 | struct ip6_pkt { | 85 | struct ip6_pkt { |
86 | struct suid_packet_header shdr; | ||
82 | struct pkt_tun tun; | 87 | struct pkt_tun tun; |
83 | struct ip6_hdr hdr; | 88 | struct ip6_hdr ip6_hdr; |
84 | unsigned char data[1]; | 89 | unsigned char data[1]; |
85 | }; | 90 | }; |
86 | 91 | ||
87 | struct ip6_tcp { | 92 | struct ip6_tcp { |
93 | struct suid_packet_header shdr; | ||
88 | struct pkt_tun tun; | 94 | struct pkt_tun tun; |
89 | struct ip6_hdr hdr; | 95 | struct ip6_hdr ip6_hdr; |
90 | struct tcp_pkt data; | 96 | struct tcp_pkt tcp_hdr; |
97 | unsigned char data[1]; | ||
91 | }; | 98 | }; |
92 | 99 | ||
93 | struct ip6_udp { | 100 | struct ip6_udp { |
101 | struct suid_packet_header shdr; | ||
94 | struct pkt_tun tun; | 102 | struct pkt_tun tun; |
95 | struct ip6_hdr hdr; | 103 | struct ip6_hdr ip6_hdr; |
96 | struct udp_pkt data; | 104 | struct udp_pkt udp_hdr; |
105 | unsigned char data[1]; | ||
97 | }; | 106 | }; |
98 | 107 | ||
99 | void send_pkt(int fd, struct ip6_pkt* pkt); | ||
100 | int recv_ipv6pkt(int fd, struct pkt_tun** pkt); | ||
101 | int recv_pkt(int fd, struct pkt_tun** pkt); | ||
102 | struct ip6_pkt* parse_ip6(struct pkt_tun* pkt); | ||
103 | |||
104 | struct ip6_udp_dns { | 108 | struct ip6_udp_dns { |
105 | struct ip6_udp hdr; | 109 | struct suid_packet_header shdr; |
110 | struct pkt_tun tun; | ||
111 | struct ip6_hdr ip6_hdr; | ||
112 | struct udp_pkt udp_hdr; | ||
106 | struct dns_pkt data; | 113 | struct dns_pkt data; |
107 | }; | 114 | }; |
108 | 115 | ||
109 | struct ip6_tcp* parse_ip6_tcp(struct ip6_pkt*); | ||
110 | struct ip6_udp* parse_ip6_udp(struct ip6_pkt*); | ||
111 | |||
112 | short payload(struct ip6_hdr* pkt); | ||
113 | |||
114 | #endif | 116 | #endif |