ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/gvpe/src/vpn.h
(Generate patch)

Comparing gvpe/src/vpn.h (file contents):
Revision 1.2 by pcg, Wed Apr 2 05:15:00 2003 UTC vs.
Revision 1.8 by pcg, Sun Apr 13 16:53:36 2003 UTC

17*/ 17*/
18 18
19#ifndef VPE_VPN_H__ 19#ifndef VPE_VPN_H__
20#define VPE_VPN_H__ 20#define VPE_VPN_H__
21 21
22#include <netinet/ip.h>
23
22#include "global.h" 24#include "global.h"
23#include "conf.h" 25#include "conf.h"
24#include "device.h" 26#include "device.h"
25#include "connection.h" 27#include "connection.h"
26 28
27struct vpn 29struct vpn
28 { 30 {
29 int udpv4_fd, tcpv4_fd, ipv4_fd; 31 int udpv4_fd, tcpv4_fd, ipv4_fd, icmpv4_fd;
30 32
31 int events; 33 int events;
32 34
33 enum { 35 enum {
34 EVENT_RECONNECT = 1, 36 EVENT_RECONNECT = 1,
35 EVENT_SHUTDOWN = 2, 37 EVENT_SHUTDOWN = 2,
36 }; 38 };
37 39
38 void event_cb (tstamp &ts); time_watcher event; 40 void event_cb (time_watcher &w); time_watcher event;
39 41
40 tap_device *tap; 42 tap_device *tap;
41 43
42 typedef vector<connection *> conns_vector; 44 typedef vector<connection *> conns_vector;
43 conns_vector conns; 45 conns_vector conns;
44 46
45 connection *find_router (); 47 connection *find_router ();
48 connection *find_forwarder ();
46 49
47 void reconnect_all (); 50 void reconnect_all ();
48 void shutdown_all (); 51 void shutdown_all ();
52
53 void tap_ev (io_watcher &w, short revents); io_watcher tap_ev_watcher;
54
49 void connect_request (int id); 55 void send_connect_request (int id);
50 56
51 void recv_vpn_packet (vpn_packet *pkt, const sockinfo &rsi); 57 void recv_vpn_packet (vpn_packet *pkt, const sockinfo &rsi);
52 58 bool send_vpn_packet (vpn_packet *pkt, const sockinfo &si, int tos);
53 void tap_ev (int fd, short revents); io_watcher tap_ev_watcher;
54 59
55#if ENABLE_TCP 60#if ENABLE_TCP
56 void tcpv4_ev (int fd, short revents); 61 void tcpv4_ev (io_watcher &w, short revents); io_watcher tcpv4_ev_watcher;
57 void tcpv4_accept (int fd, short revents); io_watcher tcpv4_accept_watcher;
58 void send_tcpv4_packet (vpn_packet *pkt, const sockinfo &si, int tos = IPTOS_RELIABILITY); 62 bool send_tcpv4_packet (vpn_packet *pkt, const sockinfo &si, int tos);
59#endif 63#endif
60 64
61 void udpv4_ev (int fd, short revents); io_watcher udpv4_ev_watcher; 65#if ENABLE_ICMP
66 void icmpv4_ev (io_watcher &w, short revents); io_watcher icmpv4_ev_watcher;
62 void send_udpv4_packet (vpn_packet *pkt, const sockinfo &si, int tos = IPTOS_RELIABILITY); 67 bool send_icmpv4_packet (vpn_packet *pkt, const sockinfo &si, int tos);
68#endif
63 69
64 void ipv4_ev (int fd, short revents); io_watcher ipv4_ev_watcher; 70 void udpv4_ev (io_watcher &w, short revents); io_watcher udpv4_ev_watcher;
71 bool send_udpv4_packet (vpn_packet *pkt, const sockinfo &si, int tos);
72
73 void ipv4_ev (io_watcher &w, short revents); io_watcher ipv4_ev_watcher;
65 void send_ipv4_packet (vpn_packet *pkt, const sockinfo &si, int tos = IPTOS_RELIABILITY); 74 bool send_ipv4_packet (vpn_packet *pkt, const sockinfo &si, int tos);
66 75
67 vpn (); 76 vpn ();
68 ~vpn (); 77 ~vpn ();
69 78
70 int setup (); 79 int setup ();

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines