parse ipv6-packets for the vpn-functionality
[oweals/gnunet.git] / src / vpn / packet.h
1 #ifndef _GNTUN_PACKET_H_
2 #define _GNTUN_PACKET_H_
3
4 struct pkt_tun {
5         unsigned char flags[2];
6         unsigned char type[2];
7
8         unsigned char* data;
9 };
10
11 struct ip6_pkt {
12         unsigned char tclass;
13         unsigned char flowlbl[3];
14         unsigned char paylgth[2];
15         unsigned char nxthdr;
16         unsigned char hoplmt;
17         unsigned char sadr[16];
18         unsigned char dadr[16];
19
20         unsigned char* data;
21 };
22
23 extern void send_pkt(int fd, struct ip6_pkt* pkt);
24 extern int recv_ipv6pkt(int fd, struct pkt_tun** pkt, unsigned char*);
25 extern int recv_pkt(int fd, struct pkt_tun** pkt);
26 extern struct ip6_pkt* parse_ip6(struct pkt_tun* pkt);
27 extern void pkt_printf(struct ip6_pkt* pkt);
28
29 #endif