From 8e8ce31dc422c0116ae2866d5874ef70fbb21f57 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Sat, 16 Jun 2007 00:34:44 +0000 Subject: removed openvpn source files tundevice can now be compiled added main added some helper classes --- tunDevice.cpp | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 53 insertions(+), 6 deletions(-) (limited to 'tunDevice.cpp') diff --git a/tunDevice.cpp b/tunDevice.cpp index e0fc270..b42e6ce 100644 --- a/tunDevice.cpp +++ b/tunDevice.cpp @@ -27,28 +27,75 @@ * distribution); if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ - +extern "C" { +#include "openvpn/config.h" +#include "openvpn/syshead.h" #include "openvpn/tun.h" +} + #include "tunDevice.h" -TunDevice::TunDevice(string dev_name) +TunDevice::TunDevice(const char* dev) { -// dev = init_tun(dev_name.c_str(), ... ); + dev_ = NULL; + + +// init_tun (const char *dev, /* --dev option */ +// const char *dev_type, /* --dev-type option */ +// const char *ifconfig_local_parm, /* --ifconfig parm 1 */ +// const char *ifconfig_remote_netmask_parm, /* --ifconfig parm 2 */ +// in_addr_t local_public, +// in_addr_t remote_public, +// const bool strict_warn, +// struct env_set *es) + +// init_tun_post (struct tuntap *tt, +// const struct frame *frame, +// const struct tuntap_options *options) + + +// open_tun (const char *dev, const char *dev_type, const char *dev_node, false, dev_) + +//------------------------ +// c->c1.tuntap = init_tun (c->options.dev, +// c->options.dev_type, +// c->options.ifconfig_local, +// c->options.ifconfig_remote_netmask, +// addr_host (&c->c1.link_socket_addr.local), +// addr_host (&c->c1.link_socket_addr.remote), +// !c->options.ifconfig_nowarn, +// c->c2.es); + +// init_tun_post (c->c1.tuntap, +// &c->c2.frame, +// &c->options.tuntap_options); + +// dev_ = init_tun(dev, + + } TunDevice::~TunDevice() { - close_tun(dev); + if(dev_) + close_tun(dev_); + } int TunDevice::read(uint8_t *buf, int len) { - return read_tun(dev, buf, len); + if(!dev_) + return -1; + + return read_tun(dev_, buf, len); } int TunDevice::write(uint8_t *buf, int len) { - return write_tun(dev, buf, len); + if(!dev_) + return -1; + + return write_tun(dev_, buf, len); } -- cgit v1.2.3