OpenVPN
Data Structures | Macros | Functions
openvpn.h File Reference
#include "buffer.h"
#include "options.h"
#include "socket.h"
#include "crypto.h"
#include "ssl.h"
#include "packet_id.h"
#include "comp.h"
#include "tun.h"
#include "interval.h"
#include "status.h"
#include "fragment.h"
#include "shaper.h"
#include "route.h"
#include "proxy.h"
#include "socks.h"
#include "sig.h"
#include "misc.h"
#include "mbuf.h"
#include "pf.h"
#include "pool.h"
#include "plugin.h"
#include "manage.h"
Include dependency graph for openvpn.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  key_schedule
 
struct  packet_id_persist
 
struct  context_buffers
 
struct  context_persist
 
struct  context_0
 Level 0 context containing information related to the OpenVPN process. More...
 
struct  context_1
 Level 1 context containing state that persists across SIGUSR1 restarts. More...
 
struct  context_2
 Level 2 context containing state that is reset on both SIGHUP and SIGUSR1 restarts. More...
 
struct  context
 Contains all state information for one tunnel. More...
 

Macros

#define CM_P2P   0 /* standalone point-to-point session or client */
 
#define CM_TOP   1 /* top level of a multi-client or point-to-multipoint server */
 
#define CM_TOP_CLONE   2 /* clone of a CM_TOP context for one thread */
 
#define CM_CHILD_UDP   3 /* child context of a CM_TOP or CM_THREAD */
 
#define CM_CHILD_TCP   4 /* child context of a CM_TOP or CM_THREAD */
 
#define EVENT_LOOP_CHECK_SIGNAL(c, func, arg)
 
#define TLS_MODE(c)   ((c)->c2.tls_multi != NULL)
 
#define PROTO_DUMP_FLAGS   (check_debug_level(D_LINK_RW_VERBOSE) ? (PD_SHOW_DATA|PD_VERBOSE) : 0)
 
#define PROTO_DUMP(buf, gc)
 
#define CIPHER_ENABLED(c)   (c->c1.ks.key_type.cipher != NULL)
 
#define MAX_PEER_ID   0xFFFFFF
 

Functions

static void packet_id_persist_init (struct packet_id_persist *p)
 
static bool is_cas_pending (enum client_connect_status cas)
 

Macro Definition Documentation

◆ CIPHER_ENABLED

#define CIPHER_ENABLED (   c)    (c->c1.ks.key_type.cipher != NULL)

Definition at line 534 of file openvpn.h.

Referenced by frame_finalize_options().

◆ CM_CHILD_TCP

#define CM_CHILD_TCP   4 /* child context of a CM_TOP or CM_THREAD */

Definition at line 476 of file openvpn.h.

Referenced by close_instance(), inherit_context_child(), and init_instance().

◆ CM_CHILD_UDP

#define CM_CHILD_UDP   3 /* child context of a CM_TOP or CM_THREAD */

Definition at line 475 of file openvpn.h.

Referenced by close_instance(), inherit_context_child(), and init_instance().

◆ CM_P2P

#define CM_P2P   0 /* standalone point-to-point session or client */

Definition at line 472 of file openvpn.h.

Referenced by close_instance(), init_instance(), and tunnel_point_to_point().

◆ CM_TOP

#define CM_TOP   1 /* top level of a multi-client or point-to-multipoint server */

Definition at line 473 of file openvpn.h.

Referenced by close_instance(), init_instance(), tunnel_server_tcp(), and tunnel_server_udp().

◆ CM_TOP_CLONE

#define CM_TOP_CLONE   2 /* clone of a CM_TOP context for one thread */

Definition at line 474 of file openvpn.h.

Referenced by inherit_context_top().

◆ EVENT_LOOP_CHECK_SIGNAL

#define EVENT_LOOP_CHECK_SIGNAL (   c,
  func,
  arg 
)
Value:
if (IS_SIG(c)) \
{ \
const int brk = func(arg); \
perf_pop(); \
if (brk) { \
break;} \
else { \
continue;} \
}
#define IS_SIG(c)
Definition: sig.h:50

Definition at line 510 of file openvpn.h.

◆ MAX_PEER_ID

#define MAX_PEER_ID   0xFFFFFF

◆ PROTO_DUMP

#define PROTO_DUMP (   buf,
  gc 
)
Value:
protocol_dump((buf), \
|(c->c2.tls_multi ? PD_TLS : 0) \
|(c->options.tls_auth_file ? c->c1.ks.key_type.hmac_length : 0), \
gc)
const char * protocol_dump(struct buffer *buffer, unsigned int flags, struct gc_arena *gc)
Definition: ssl.c:4027
#define PROTO_DUMP_FLAGS
Definition: openvpn.h:527
#define PD_TLS
Definition: ssl.h:568

Definition at line 528 of file openvpn.h.

Referenced by process_incoming_link_part1(), and process_outgoing_link().

◆ PROTO_DUMP_FLAGS

#define PROTO_DUMP_FLAGS   (check_debug_level(D_LINK_RW_VERBOSE) ? (PD_SHOW_DATA|PD_VERBOSE) : 0)

Definition at line 527 of file openvpn.h.

◆ TLS_MODE

#define TLS_MODE (   c)    ((c)->c2.tls_multi != NULL)

Function Documentation

◆ is_cas_pending()

static bool is_cas_pending ( enum client_connect_status  cas)
inlinestatic

◆ packet_id_persist_init()

static void packet_id_persist_init ( struct packet_id_persist p)
inlinestatic

Definition at line 84 of file openvpn.h.

Referenced by context_init_1(), and inherit_context_child().