--- gvpe/src/vpn.h 2005/03/03 16:54:34 1.18 +++ gvpe/src/vpn.h 2007/11/10 05:14:22 1.25 @@ -16,11 +16,11 @@ You should have received a copy of the GNU General Public License along with gvpe; if not, write to the Free Software - Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -#ifndef VPE_VPN_H__ -#define VPE_VPN_H__ +#ifndef GVPE_VPN_H__ +#define GVPE_VPN_H__ #include "global.h" #include "conf.h" @@ -38,7 +38,7 @@ EVENT_SHUTDOWN = 2, }; - void event_cb (time_watcher &w); time_watcher event; + void event_cb (ev::timer &w, int revents); ev::timer event; tap_device *tap; @@ -51,35 +51,39 @@ void reconnect_all (); void shutdown_all (); - void tap_ev (io_watcher &w, short revents); io_watcher tap_ev_watcher; + void tap_ev (ev::io &w, int revents); ev::io tap_ev_watcher; void inject_data_packet (tap_packet *pkt, int dst); void send_connect_request (int id); void recv_vpn_packet (vpn_packet *pkt, const sockinfo &rsi); + bool send_vpn_packet (vpn_packet *pkt, const sockinfo &si, int tos = 0); #if ENABLE_TCP - void tcpv4_ev (io_watcher &w, short revents); io_watcher tcpv4_ev_watcher; + void tcpv4_ev (ev::io &w, int revents); ev::io tcpv4_ev_watcher; bool send_tcpv4_packet (vpn_packet *pkt, const sockinfo &si, int tos); #endif #if ENABLE_ICMP - void icmpv4_ev (io_watcher &w, short revents); io_watcher icmpv4_ev_watcher; + void icmpv4_ev (ev::io &w, int revents); ev::io icmpv4_ev_watcher; bool send_icmpv4_packet (vpn_packet *pkt, const sockinfo &si, int tos); #endif #if ENABLE_DNS - vector dns_sndpq; + vector dns_sndpq; + sockinfo dns_forwarder; - void dnsv4_ev (io_watcher &w, short revents); io_watcher dnsv4_ev_watcher; - struct dns_packet *dnsv4_server (struct dns_packet *pkt); - void dnsv4_client (struct dns_packet *pkt); + void dnsv4_ev (ev::io &w, int revents); ev::io dnsv4_ev_watcher; + void dnsv4_server (struct dns_packet &pkt); + void dnsv4_client (struct dns_packet &pkt); + + bool send_dnsv4_packet (vpn_packet *pkt, const sockinfo &si, int tos); #endif - void udpv4_ev (io_watcher &w, short revents); io_watcher udpv4_ev_watcher; + void udpv4_ev (ev::io &w, int revents); ev::io udpv4_ev_watcher; bool send_udpv4_packet (vpn_packet *pkt, const sockinfo &si, int tos); - void ipv4_ev (io_watcher &w, short revents); io_watcher ipv4_ev_watcher; + void ipv4_ev (ev::io &w, int revents); ev::io ipv4_ev_watcher; bool send_ipv4_packet (vpn_packet *pkt, const sockinfo &si, int tos); vpn (); @@ -89,6 +93,8 @@ void dump_status (); + void script_init_env (); + const char *script_if_init (); const char *script_if_up (); };