OpenVPN 3 Core Library
Loading...
Searching...
No Matches
tunutil.hpp File Reference
#include <openvpn/common/socktypes.hpp>
#include <windows.h>
#include <winsock2.h>
#include <winioctl.h>
#include <iphlpapi.h>
#include <ntddndis.h>
#include <wininet.h>
#include <ws2tcpip.h>
#include <tlhelp32.h>
#include <setupapi.h>
#include <devguid.h>
#include <cfgmgr32.h>
#include <ndisguid.h>
#include <string>
#include <vector>
#include <sstream>
#include <cstdint>
#include <memory>
#include <new>
#include <tap-windows.h>
#include <openvpn/common/to_string.hpp>
#include <openvpn/common/size.hpp>
#include <openvpn/common/exception.hpp>
#include <openvpn/common/string.hpp>
#include <openvpn/common/stringize.hpp>
#include <openvpn/common/action.hpp>
#include <openvpn/common/uniqueptr.hpp>
#include <openvpn/common/wstring.hpp>
#include <openvpn/buffer/buffer.hpp>
#include <openvpn/addr/ip.hpp>
#include <openvpn/addr/ipv6.hpp>
#include <openvpn/tun/builder/capture.hpp>
#include <openvpn/win/reg.hpp>
#include <openvpn/win/scoped_handle.hpp>
#include <openvpn/win/unicode.hpp>
#include <openvpn/win/cmd.hpp>
#include <openvpn/win/winerr.hpp>
Include dependency graph for tunutil.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  openvpn::TunWin::Util::TapNameGuidPair
 
struct  openvpn::TunWin::Util::TapNameGuidPairList
 
struct  openvpn::TunWin::Util::DeviceInstanceIdInterfacePair
 
class  openvpn::TunWin::Util::DevInfoSetHelper
 
struct  openvpn::TunWin::Util::DeviceInstanceIdInterfaceList
 
struct  openvpn::TunWin::Util::InterfaceInfoList
 
struct  openvpn::TunWin::Util::IPNetmask4
 
struct  openvpn::TunWin::Util::IPAdaptersInfo
 
struct  openvpn::TunWin::Util::IPPerAdapterInfo
 
class  openvpn::TunWin::Util::TAPDriverVersion
 
class  openvpn::TunWin::Util::ActionSetAdapterDomainSuffix
 
class  openvpn::TunWin::Util::BestGateway
 
class  openvpn::TunWin::Util::ActionDeleteAllRoutesOnInterface
 
class  openvpn::TunWin::Util::ActionEnableDHCP
 
class  openvpn::TunWin::Util::TunNETSH::AddRoute4Cmd
 
class  openvpn::TunWin::Util::TunIPHELPER::AddRoute4Cmd
 

Namespaces

namespace  openvpn
 
namespace  openvpn::TunWin
 DNS utilities for Windows.
 
namespace  openvpn::TunWin::Util
 
namespace  openvpn::TunWin::Util::TunNETSH
 
namespace  openvpn::TunWin::Util::TunIPHELPER
 

Typedefs

using openvpn::TunWin::Util::TapGuidLuid = std::pair< std::string, DWORD >
 

Enumerations

enum  openvpn::TunWin::Type { openvpn::TunWin::TapWindows6 , openvpn::TunWin::Wintun , openvpn::TunWin::OvpnDco }
 

Functions

 openvpn::TunWin::Util::OPENVPN_EXCEPTION (tun_win_util)
 
std::vector< TapGuidLuidopenvpn::TunWin::Util::tap_guids (const Type tun_type)
 
std::string openvpn::TunWin::Util::tap_path (const TapNameGuidPair &tap)
 
HANDLE openvpn::TunWin::Util::tap_open (const Type tun_type, const TapNameGuidPairList &guids, std::string &path_opened, TapNameGuidPair &used)
 
void openvpn::TunWin::Util::tap_configure_topology_subnet (HANDLE th, const IP::Addr &local, const unsigned int prefix_len)
 
void openvpn::TunWin::Util::tap_configure_topology_net30 (HANDLE th, const IP::Addr &local_addr, const IP::Addr &remote_addr)
 
void openvpn::TunWin::Util::tap_set_media_status (HANDLE th, bool media_status)
 
void openvpn::TunWin::Util::tap_process_logging (HANDLE th)
 
void openvpn::TunWin::Util::dhcp_release (const InterfaceInfoList &ii, const DWORD adapter_index, std::ostream &os)
 
void openvpn::TunWin::Util::dhcp_renew (const InterfaceInfoList &ii, const DWORD adapter_index, std::ostream &os)
 
void openvpn::TunWin::Util::flush_arp (const DWORD adapter_index, std::ostream &os)
 
const MIB_IPFORWARDTABLE * openvpn::TunWin::Util::windows_routing_table ()
 
const MIB_IPFORWARD_TABLE2 * openvpn::TunWin::Util::windows_routing_table2 (ADDRESS_FAMILY af)
 
static SOCKADDR_INET openvpn::TunWin::Util::TunIPHELPER::sockaddr_inet (short family, const std::string &addr)
 
static DWORD openvpn::TunWin::Util::TunIPHELPER::InterfaceLuid (const std::string &iface_name, PNET_LUID luid)