aboutsummaryrefslogtreecommitdiff
path: root/src/vpn/gnunet-vpn-packet.h
diff options
context:
space:
mode:
authorPhilipp Tölke <toelke@in.tum.de>2010-07-20 09:41:26 +0000
committerPhilipp Tölke <toelke@in.tum.de>2010-07-20 09:41:26 +0000
commit67576021d826e729e3ddf247e1c596e29608f0c8 (patch)
tree4bd88d62f9bef50bc432ed1f9f7d1d644cf6ad88 /src/vpn/gnunet-vpn-packet.h
parentcf2b5b068fe12986ebe4c21a2ce1fa04f5881c55 (diff)
downloadgnunet-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.h36
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
4struct pkt_tun { 7struct 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
34struct udp_pkt { 36struct udp_pkt {
@@ -38,6 +40,7 @@ struct udp_pkt {
38 unsigned crc:16; 40 unsigned crc:16;
39}; 41};
40 42
43// DNS-Stuff
41struct dns_pkt { 44struct 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
81struct ip6_pkt { 85struct 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
87struct ip6_tcp { 92struct 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
93struct ip6_udp { 100struct 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
99void send_pkt(int fd, struct ip6_pkt* pkt);
100int recv_ipv6pkt(int fd, struct pkt_tun** pkt);
101int recv_pkt(int fd, struct pkt_tun** pkt);
102struct ip6_pkt* parse_ip6(struct pkt_tun* pkt);
103
104struct ip6_udp_dns { 108struct 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
109struct ip6_tcp* parse_ip6_tcp(struct ip6_pkt*);
110struct ip6_udp* parse_ip6_udp(struct ip6_pkt*);
111
112short payload(struct ip6_hdr* pkt);
113
114#endif 116#endif