OpenVPN 3 Core Library
Loading...
Searching...
No Matches
openvpn::TunClient Struct Referenceabstract

#include <tunbase.hpp>

Inheritance diagram for openvpn::TunClient:
[legend]
Collaboration diagram for openvpn::TunClient:
[legend]

Public Types

typedef RCPtr< TunClientPtr
 
- Public Types inherited from openvpn::RC< thread_unsafe_refcount >
typedef RCPtr< RCPtr
 

Public Member Functions

virtual void tun_start (const OptionList &, TransportClient &, CryptoDCSettings &)=0
 
virtual void stop ()=0
 
virtual void set_disconnect ()=0
 
virtual bool tun_send (BufferAllocated &buf)=0
 
virtual std::string tun_name () const =0
 
virtual std::string vpn_ip4 () const =0
 
virtual std::string vpn_ip6 () const =0
 
virtual std::string vpn_gw4 () const
 
virtual std::string vpn_gw6 () const
 
virtual int vpn_mtu () const =0
 
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.
 
- 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.
 

Additional Inherited Members

- 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 30 of file tunbase.hpp.

Member Typedef Documentation

◆ Ptr

Definition at line 32 of file tunbase.hpp.

Member Function Documentation

◆ adjust_mss()

virtual void openvpn::TunClient::adjust_mss ( int  mss)
inlinevirtual

Definition at line 55 of file tunbase.hpp.

Here is the caller graph for this function:

◆ apply_push_update()

virtual void openvpn::TunClient::apply_push_update ( const OptionList opt,
TransportClient cli 
)
inlinevirtual

Notifies tun client about received PUSH_UPDATE control channel message.

The merging of exiting and incoming options (including removing options) happens before this call, so implementations are supposed to only undo existing options and apply the new ones, normally by calling stop() and tun_start().

Parameters
optmerged options, to be applied by implementation
clitransport client, passed to tun_start() call

Reimplemented in openvpn::TunMac::Client, openvpn::TunBuilderClient::Client, openvpn::TunLinux::Client, and openvpn::TunWin::Client.

Definition at line 68 of file tunbase.hpp.

Here is the caller graph for this function:

◆ set_disconnect()

virtual void openvpn::TunClient::set_disconnect ( )
pure virtual

Implemented in openvpn::DCOTransport::Client, openvpn::TunBuilderClient::Client, openvpn::TunNull::Client, openvpn::TunLinux::Client, openvpn::TunMac::Client, openvpn::TunWin::Client, and openvpn::TunWin::WintunClient.

Here is the caller graph for this function:

◆ stop()

virtual void openvpn::TunClient::stop ( )
pure virtual

Implemented in openvpn::DCOTransport::Client, openvpn::TunBuilderClient::Client, openvpn::TunNull::Client, openvpn::TunLinux::Client, openvpn::TunMac::Client, openvpn::TunWin::Client, and openvpn::TunWin::WintunClient.

Here is the caller graph for this function:

◆ tun_name()

virtual std::string openvpn::TunClient::tun_name ( ) const
pure virtual

Implemented in openvpn::TunBuilderClient::Client, openvpn::TunNull::Client, openvpn::TunLinux::Client, openvpn::TunMac::Client, openvpn::TunWin::Client, and openvpn::TunWin::WintunClient.

Here is the caller graph for this function:

◆ tun_send()

virtual bool openvpn::TunClient::tun_send ( BufferAllocated buf)
pure virtual

Implemented in openvpn::DCOTransport::Client, openvpn::TunBuilderClient::Client, openvpn::TunNull::Client, openvpn::TunLinux::Client, openvpn::TunMac::Client, openvpn::TunWin::Client, and openvpn::TunWin::WintunClient.

Here is the caller graph for this function:

◆ tun_start()

virtual void openvpn::TunClient::tun_start ( const OptionList ,
TransportClient ,
CryptoDCSettings  
)
pure virtual

Implemented in openvpn::TunBuilderClient::Client, openvpn::TunNull::Client, openvpn::TunLinux::Client, openvpn::TunMac::Client, openvpn::TunWin::Client, and openvpn::TunWin::WintunClient.

Here is the caller graph for this function:

◆ vpn_gw4()

virtual std::string openvpn::TunClient::vpn_gw4 ( ) const
inlinevirtual

Reimplemented in openvpn::DCOTransport::Client, openvpn::TunBuilderClient::Client, openvpn::TunLinux::Client, openvpn::TunMac::Client, openvpn::TunWin::Client, and openvpn::TunWin::WintunClient.

Definition at line 44 of file tunbase.hpp.

Here is the caller graph for this function:

◆ vpn_gw6()

virtual std::string openvpn::TunClient::vpn_gw6 ( ) const
inlinevirtual

Reimplemented in openvpn::DCOTransport::Client, openvpn::TunBuilderClient::Client, openvpn::TunLinux::Client, openvpn::TunMac::Client, openvpn::TunWin::Client, and openvpn::TunWin::WintunClient.

Definition at line 48 of file tunbase.hpp.

Here is the caller graph for this function:

◆ vpn_ip4()

virtual std::string openvpn::TunClient::vpn_ip4 ( ) const
pure virtual

Implemented in openvpn::DCOTransport::Client, openvpn::TunBuilderClient::Client, openvpn::TunNull::Client, openvpn::TunLinux::Client, openvpn::TunMac::Client, openvpn::TunWin::Client, and openvpn::TunWin::WintunClient.

Here is the caller graph for this function:

◆ vpn_ip6()

virtual std::string openvpn::TunClient::vpn_ip6 ( ) const
pure virtual

Implemented in openvpn::DCOTransport::Client, openvpn::TunBuilderClient::Client, openvpn::TunNull::Client, openvpn::TunLinux::Client, openvpn::TunMac::Client, openvpn::TunWin::Client, and openvpn::TunWin::WintunClient.

Here is the caller graph for this function:

◆ vpn_mtu()

virtual int openvpn::TunClient::vpn_mtu ( ) const
pure virtual

Implemented in openvpn::DCOTransport::Client, openvpn::TunBuilderClient::Client, openvpn::TunNull::Client, openvpn::TunLinux::Client, openvpn::TunMac::Client, openvpn::TunWin::Client, and openvpn::TunWin::WintunClient.

Here is the caller graph for this function:

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