Added version to server
[tunnel6.git] / server / src / sniff.h
blob2494c29a00cbaca648c09b859b9475bb905d9797
1 /*
2 * tunnel6
3 * Copyright (C) 2010 Tomas 'ZeXx86' Jedrzejek (zexx86@zexos.org)
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
20 #ifndef _SNIFF_H
21 #define _SNIFF_H
23 #include <net/if.h>
24 #include <netinet/in.h>
25 #include <linux/if_packet.h>
26 #include "ipv6.h"
27 #include "packet.h"
28 #include "defaults.h"
30 struct netdev_t {
31 int fd; /* eth sniffing socket */
32 int fd_raw; /* RAW eth sender socket */
33 int fd_raw2; /* IPv6 eth sender socket */
34 int fd_tun; /* tunnel socket */
35 char buf[DEFAULT_BUF_SIZE+1];
36 ipv6_addr_t ip;
37 mac_addr_t hwaddr;
38 int ifindex;
39 struct sockaddr_ll s_raw;
42 extern int sniff_recv ();
43 extern int sniff_send (char *packet, int packet_size);
44 extern int sniff_send_ipv6 (char *packet, int packet_size);
45 extern int sniff_init (char *dev);
47 #endif