OpenVPN 3 Core Library
Loading...
Searching...
No Matches
openvpn::TunWin::WintunClient Class Reference

#include <wintun.hpp>

Inheritance diagram for openvpn::TunWin::WintunClient:
[legend]
Collaboration diagram for openvpn::TunWin::WintunClient:
[legend]

Classes

struct  TUN_PACKET
 
struct  TUN_PACKET_HEADER
 

Public Member Functions

 WintunClient (openvpn_io::io_context &io_context_arg, ClientConfig *config_arg, TunClientParent &parent_arg)
 
void tun_start (const OptionList &opt, TransportClient &transcli, CryptoDCSettings &) override
 
void stop () override
 
void set_disconnect () override
 
bool tun_send (BufferAllocated &buf) override
 
std::string tun_name () const override
 
std::string vpn_ip4 () const override
 
std::string vpn_ip6 () const override
 
std::string vpn_gw4 () const override
 
std::string vpn_gw6 () const override
 
int vpn_mtu () const override
 
- Public Member Functions inherited from openvpn::TunClient
virtual void adjust_mss (int mss)
 
virtual void apply_push_update (const OptionList &opt, TransportClient &cli)
 Notifies tun client about received PUSH_UPDATE control channel message.
 
virtual std::uint32_t vpn_interface_index () const
 
- Public Member Functions inherited from openvpn::RC< thread_unsafe_refcount >
 RC () noexcept=default
 
 RC (const RC &)=delete
 
virtual ~RC ()=default
 
RCoperator= (const RC &)=delete
 
olong use_count () const noexcept
 Delegates call to RCImpl and returns the result.
 

Private Types

typedef RCPtr< WintunClientPtr
 

Private Member Functions

void read ()
 
size_t packet_align (size_t size)
 
ULONG wrap (ULONG value)
 

Private Attributes

openvpn_io::io_context & io_context
 
TunPersist::Ptr tun_persist
 
ClientConfig::Ptr config
 
TunClientParentparent
 
TunProp::State::Ptr state
 
TunWin::SetupBase::Ptr tun_setup
 
BufferAllocated buf
 
Frame::Ptr frame
 
bool halt = false
 
ScopedHANDLE driver_handle
 
RingBuffer::Ptr ring_buffer
 

Additional Inherited Members

- Public Types inherited from openvpn::TunClient
typedef RCPtr< TunClientPtr
 
- Public Types inherited from openvpn::RC< thread_unsafe_refcount >
typedef RCPtr< RCPtr
 
- Static Public Member Functions inherited from openvpn::RC< thread_unsafe_refcount >
static constexpr bool is_thread_safe ()
 Delegates call to RCImpl and returns the result.
 

Detailed Description

Definition at line 11 of file wintun.hpp.

Member Typedef Documentation

◆ Ptr

Definition at line 13 of file wintun.hpp.

Constructor & Destructor Documentation

◆ WintunClient()

openvpn::TunWin::WintunClient::WintunClient ( openvpn_io::io_context &  io_context_arg,
ClientConfig config_arg,
TunClientParent parent_arg 
)
inline

Definition at line 16 of file wintun.hpp.

Member Function Documentation

◆ packet_align()

size_t openvpn::TunWin::WintunClient::packet_align ( size_t  size)
inlineprivate

Definition at line 295 of file wintun.hpp.

Here is the caller graph for this function:

◆ read()

void openvpn::TunWin::WintunClient::read ( )
inlineprivate

Definition at line 210 of file wintun.hpp.

◆ set_disconnect()

void openvpn::TunWin::WintunClient::set_disconnect ( )
inlineoverridevirtual

Implements openvpn::TunClient.

Definition at line 124 of file wintun.hpp.

◆ stop()

void openvpn::TunWin::WintunClient::stop ( )
inlineoverridevirtual

Implements openvpn::TunClient.

Definition at line 114 of file wintun.hpp.

Here is the caller graph for this function:

◆ tun_name()

std::string openvpn::TunWin::WintunClient::tun_name ( ) const
inlineoverridevirtual

Implements openvpn::TunClient.

Definition at line 167 of file wintun.hpp.

◆ tun_send()

bool openvpn::TunWin::WintunClient::tun_send ( BufferAllocated buf)
inlineoverridevirtual

Implements openvpn::TunClient.

Definition at line 128 of file wintun.hpp.

◆ tun_start()

void openvpn::TunWin::WintunClient::tun_start ( const OptionList opt,
TransportClient transcli,
CryptoDCSettings  
)
inlineoverridevirtual

Implements openvpn::TunClient.

Definition at line 28 of file wintun.hpp.

◆ vpn_gw4()

std::string openvpn::TunWin::WintunClient::vpn_gw4 ( ) const
inlineoverridevirtual

Reimplemented from openvpn::TunClient.

Definition at line 188 of file wintun.hpp.

◆ vpn_gw6()

std::string openvpn::TunWin::WintunClient::vpn_gw6 ( ) const
inlineoverridevirtual

Reimplemented from openvpn::TunClient.

Definition at line 196 of file wintun.hpp.

◆ vpn_ip4()

std::string openvpn::TunWin::WintunClient::vpn_ip4 ( ) const
inlineoverridevirtual

Implements openvpn::TunClient.

Definition at line 172 of file wintun.hpp.

◆ vpn_ip6()

std::string openvpn::TunWin::WintunClient::vpn_ip6 ( ) const
inlineoverridevirtual

Implements openvpn::TunClient.

Definition at line 180 of file wintun.hpp.

◆ vpn_mtu()

int openvpn::TunWin::WintunClient::vpn_mtu ( ) const
inlineoverridevirtual

Implements openvpn::TunClient.

Definition at line 204 of file wintun.hpp.

◆ wrap()

ULONG openvpn::TunWin::WintunClient::wrap ( ULONG  value)
inlineprivate

Definition at line 300 of file wintun.hpp.

Here is the caller graph for this function:

Member Data Documentation

◆ buf

BufferAllocated openvpn::TunWin::WintunClient::buf
private

Definition at line 312 of file wintun.hpp.

◆ config

ClientConfig::Ptr openvpn::TunWin::WintunClient::config
private

Definition at line 307 of file wintun.hpp.

◆ driver_handle

ScopedHANDLE openvpn::TunWin::WintunClient::driver_handle
private

Definition at line 318 of file wintun.hpp.

◆ frame

Frame::Ptr openvpn::TunWin::WintunClient::frame
private

Definition at line 314 of file wintun.hpp.

◆ halt

bool openvpn::TunWin::WintunClient::halt = false
private

Definition at line 316 of file wintun.hpp.

◆ io_context

openvpn_io::io_context& openvpn::TunWin::WintunClient::io_context
private

Definition at line 305 of file wintun.hpp.

◆ parent

TunClientParent& openvpn::TunWin::WintunClient::parent
private

Definition at line 308 of file wintun.hpp.

◆ ring_buffer

RingBuffer::Ptr openvpn::TunWin::WintunClient::ring_buffer
private

Definition at line 320 of file wintun.hpp.

◆ state

TunProp::State::Ptr openvpn::TunWin::WintunClient::state
private

Definition at line 309 of file wintun.hpp.

◆ tun_persist

TunPersist::Ptr openvpn::TunWin::WintunClient::tun_persist
private

Definition at line 306 of file wintun.hpp.

◆ tun_setup

TunWin::SetupBase::Ptr openvpn::TunWin::WintunClient::tun_setup
private

Definition at line 310 of file wintun.hpp.


The documentation for this class was generated from the following file: