X-Git-Url: https://git.syn-net.org/debian/?a=blobdiff_plain;f=src%2FdeviceConfig.hpp;h=ede6f3464b042414b219dc7e4deed8b9c9de6fde;hb=bd02a5f6be4815d46524d613f727199ca756c971;hp=d8702b9add28e230ea78e164d32a2d679344481d;hpb=058ae090a970436caec3b3059e9e18b310dd6b0d;p=anytun.git diff --git a/src/deviceConfig.hpp b/src/deviceConfig.hpp index d8702b9..ede6f34 100644 --- a/src/deviceConfig.hpp +++ b/src/deviceConfig.hpp @@ -11,14 +11,15 @@ * tunneling and relaying of packets of any protocol. * * - * Copyright (C) 2007-2008 Othmar Gsenger, Erwin Nindl, + * Copyright (C) 2007-2009 Othmar Gsenger, Erwin Nindl, * Christian Pointner * * This file is part of Anytun. * * Anytun is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 3 as - * published by the Free Software Foundation. + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * any later version. * * Anytun is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -29,8 +30,8 @@ * along with anytun. If not, see . */ -#ifndef _DEVICE_CONFIG_HPP_ -#define _DEVICE_CONFIG_HPP_ +#ifndef ANYTUN_deviceConfig_hpp_INCLUDED +#define ANYTUN_deviceConfig_hpp_INCLUDED #include "networkAddress.h" #include @@ -40,44 +41,48 @@ class TunDevice; enum device_type_t { TYPE_UNDEF, TYPE_TUN, TYPE_TAP }; -class DeviceConfig +class DeviceConfig { public: - DeviceConfig(std::string dev_name ,std::string dev_type, std::string ifcfg_addr, u_int16_t ifcfg_prefix, u_int16_t mtu) - { + DeviceConfig(std::string dev_name ,std::string dev_type, std::string ifcfg_addr, uint16_t ifcfg_prefix, uint16_t mtu) { mtu_ = mtu; type_ = TYPE_UNDEF; #ifndef _MSC_VER if(dev_type != "") { - if(!dev_type.compare(0,3,"tun")) + if(!dev_type.compare(0,3,"tun")) { type_ = TYPE_TUN; - else if (!dev_type.compare(0,3,"tap")) + } else if(!dev_type.compare(0,3,"tap")) { type_ = TYPE_TAP; - } - else if(dev_name != "") { - if(!dev_name.compare(0,3,"tun")) + } + } else if(dev_name != "") { + if(!dev_name.compare(0,3,"tun")) { type_ = TYPE_TUN; - else if(!dev_name.compare(0,3,"tap")) + } else if(!dev_name.compare(0,3,"tap")) { type_ = TYPE_TAP; + } } #else - if(dev_type == "") + if(dev_type == "") { AnytunError::throwErr() << "Device type must be specified on Windows"; - - if(dev_type == "tun") + } + + if(dev_type == "tun") { type_ = TYPE_TUN; - else if(dev_type == "tap") + } else if(dev_type == "tap") { type_ = TYPE_TAP; + } - if(type_ == TYPE_TUN && ifcfg_addr == "") + if(type_ == TYPE_TUN && ifcfg_addr == "") { AnytunError::throwErr() << "Device type tun requires ifconfig parameter (--ifconfig)"; + } #endif - if(ifcfg_addr != "") + if(ifcfg_addr != "") { addr_.setNetworkAddress(ipv4, ifcfg_addr.c_str()); + } prefix_ = ifcfg_prefix; - u_int32_t mask = 0; - for(u_int16_t i = 0; i < prefix_; ++i) { + uint32_t mask = 0; + for(uint16_t i = 0; i < prefix_; ++i) { mask = mask >> 1; mask |= 0x80000000L; } @@ -88,8 +93,8 @@ private: device_type_t type_; NetworkAddress addr_; NetworkAddress netmask_; - u_int16_t prefix_; - u_int16_t mtu_; + uint16_t prefix_; + uint16_t mtu_; friend class TunDevice; };