OpenVPN
multi_io.h File Reference
#include "event.h"
Include dependency graph for multi_io.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  multi_io

Macros

#define TA_UNDEF   0
#define TA_SOCKET_READ   1
#define TA_SOCKET_READ_RESIDUAL   2
#define TA_SOCKET_WRITE   3
#define TA_SOCKET_WRITE_READY   4
#define TA_SOCKET_WRITE_DEFERRED   5
#define TA_TUN_READ   6
#define TA_TUN_WRITE   7
#define TA_INITIAL   8
#define TA_TIMEOUT   9
#define TA_TUN_WRITE_TIMEOUT   10

Functions

struct multi_io * multi_io_init (int maxclients)
void multi_io_free (struct multi_io *multi_io)
int multi_io_wait (struct multi_context *m)
void multi_io_process_io (struct multi_context *m)
void multi_io_action (struct multi_context *m, struct multi_instance *mi, int action, bool poll)
void multi_io_delete_event (struct multi_io *multi_io, event_t event)
bool multi_io_send_link (struct multi_context *m, struct multi_instance *mi, const unsigned int mpp_flags)

Macro Definition Documentation

◆ TA_INITIAL

#define TA_INITIAL   8

Definition at line 44 of file multi_io.h.

Referenced by multi_io_dispatch(), multi_io_process_io(), and pract().

◆ TA_SOCKET_READ

#define TA_SOCKET_READ   1

Definition at line 37 of file multi_io.h.

Referenced by multi_io_dispatch(), multi_io_process_io(), and pract().

◆ TA_SOCKET_READ_RESIDUAL

#define TA_SOCKET_READ_RESIDUAL   2

Definition at line 38 of file multi_io.h.

Referenced by multi_io_action(), multi_io_dispatch(), multi_io_post(), and pract().

◆ TA_SOCKET_WRITE

#define TA_SOCKET_WRITE   3

◆ TA_SOCKET_WRITE_DEFERRED

#define TA_SOCKET_WRITE_DEFERRED   5

Definition at line 41 of file multi_io.h.

Referenced by multi_io_dispatch(), multi_io_wait_lite(), and pract().

◆ TA_SOCKET_WRITE_READY

#define TA_SOCKET_WRITE_READY   4

Definition at line 40 of file multi_io.h.

Referenced by multi_io_dispatch(), multi_io_process_io(), and pract().

◆ TA_TIMEOUT

#define TA_TIMEOUT   9

Definition at line 45 of file multi_io.h.

Referenced by multi_io_dispatch(), pract(), and tunnel_server_loop().

◆ TA_TUN_READ

#define TA_TUN_READ   6

Definition at line 42 of file multi_io.h.

Referenced by multi_io_action(), multi_io_dispatch(), multi_io_process_io(), and pract().

◆ TA_TUN_WRITE

#define TA_TUN_WRITE   7

◆ TA_TUN_WRITE_TIMEOUT

#define TA_TUN_WRITE_TIMEOUT   10

Definition at line 46 of file multi_io.h.

Referenced by multi_io_dispatch(), multi_io_wait_lite(), and pract().

◆ TA_UNDEF

#define TA_UNDEF   0

Definition at line 36 of file multi_io.h.

Referenced by multi_io_action(), multi_io_post(), multi_io_wait_lite(), and pract().

Function Documentation

◆ multi_io_action()

◆ multi_io_delete_event()

void multi_io_delete_event ( struct multi_io * multi_io,
event_t event )

Definition at line 773 of file multi_io.c.

References multi_io::es, and event_del().

◆ multi_io_free()

void multi_io_free ( struct multi_io * multi_io)

Definition at line 125 of file multi_io.c.

References multi_io::es, multi_io::esr, and event_free().

Referenced by multi_uninit().

◆ multi_io_init()

struct multi_io * multi_io_init ( int maxclients)

◆ multi_io_process_io()

◆ multi_io_send_link()

bool multi_io_send_link ( struct multi_context * m,
struct multi_instance * mi,
const unsigned int mpp_flags )

◆ multi_io_wait()