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.7 by pcg, Tue Apr 8 02:00:54 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 ();
46 48
47 void reconnect_all (); 49 void reconnect_all ();
48 void shutdown_all (); 50 void shutdown_all ();
51
52 void tap_ev (io_watcher &w, short revents); io_watcher tap_ev_watcher;
53
49 void connect_request (int id); 54 void send_connect_request (int id);
50 55
51 void recv_vpn_packet (vpn_packet *pkt, const sockinfo &rsi); 56 void recv_vpn_packet (vpn_packet *pkt, const sockinfo &rsi);
52 57 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 58
55#if ENABLE_TCP 59#if ENABLE_TCP
56 void tcpv4_ev (int fd, short revents); 60 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); 61 bool send_tcpv4_packet (vpn_packet *pkt, const sockinfo &si, int tos);
59#endif 62#endif
60 63
61 void udpv4_ev (int fd, short revents); io_watcher udpv4_ev_watcher; 64#if ENABLE_ICMP
65 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); 66 bool send_icmpv4_packet (vpn_packet *pkt, const sockinfo &si, int tos);
67#endif
63 68
64 void ipv4_ev (int fd, short revents); io_watcher ipv4_ev_watcher; 69 void udpv4_ev (io_watcher &w, short revents); io_watcher udpv4_ev_watcher;
70 bool send_udpv4_packet (vpn_packet *pkt, const sockinfo &si, int tos);
71
72 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); 73 bool send_ipv4_packet (vpn_packet *pkt, const sockinfo &si, int tos);
66 74
67 vpn (); 75 vpn ();
68 ~vpn (); 76 ~vpn ();
69 77
70 int setup (); 78 int setup ();

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines