28#ifndef OPENVPN_PLUGIN_H
29#define OPENVPN_PLUGIN_H
31#ifdef ENABLE_CRYPTO_OPENSSL
34#ifdef ENABLE_CRYPTO_MBEDTLS
37#include "openvpn-plugin.h"
123 const int init_point);
129 const struct argv *av,
132 int current_cert_depth,
142 const char *colname);
147void plugin_return_print(
const int msglevel,
const char *prefix,
const struct plugin_return *pr);
189 const struct argv *av,
192 int current_cert_depth,
204 const struct argv *av,
OPENVPN_EXPORT void openvpn_plugin_abort_v1(openvpn_plugin_handle_t handle)
OPENVPN_EXPORT int openvpn_plugin_func_v1(openvpn_plugin_handle_t handle, const int type, const char *argv[], const char *envp[])
OPENVPN_EXPORT openvpn_plugin_handle_t openvpn_plugin_open_v1(unsigned int *type_mask, const char *argv[], const char *envp[])
OPENVPN_EXPORT int openvpn_plugin_min_version_required_v1()
OPENVPN_EXPORT int openvpn_plugin_func_v3(const int v3structver, struct openvpn_plugin_args_func_in const *args, struct openvpn_plugin_args_func_return *ret)
void plugin_list_close(struct plugin_list *pl)
struct plugin_option_list * plugin_option_list_new(struct gc_arena *gc)
bool plugin_option_list_add(struct plugin_option_list *list, char **p, struct gc_arena *gc)
static int plugin_n(const struct plugin_list *pl)
static void plugin_return_init(struct plugin_return *pr)
void plugin_return_free(struct plugin_return *pr)
struct plugin_list * plugin_list_inherit(const struct plugin_list *src)
static int plugin_call(const struct plugin_list *pl, const int type, const struct argv *av, struct plugin_return *pr, struct env_set *es)
static bool plugin_return_defined(const struct plugin_return *pr)
struct plugin_list * plugin_list_init(const struct plugin_option_list *list)
void plugin_return_get_column(const struct plugin_return *src, struct plugin_return *dest, const char *colname)
void plugin_option_list_print(const struct plugin_option_list *list, int msglevel)
int plugin_call_ssl(const struct plugin_list *pl, const int type, const struct argv *av, struct plugin_return *pr, struct env_set *es, int current_cert_depth, openvpn_x509_cert_t *current_cert)
bool plugin_defined(const struct plugin_list *pl, const int type)
void plugin_list_open(struct plugin_list *pl, const struct plugin_option_list *list, struct plugin_return *pr, const struct env_set *es, const int init_point)
OPENVPN_EXPORT void openvpn_plugin_close_v1(openvpn_plugin_handle_t handle)
OPENVPN_EXPORT void openvpn_plugin_client_destructor_v1(openvpn_plugin_handle_t handle, void *per_client_context)
OPENVPN_EXPORT int openvpn_plugin_func_v2(openvpn_plugin_handle_t handle, const int type, const char *argv[], const char *envp[], void *per_client_context, struct openvpn_plugin_string_list **return_list)
OPENVPN_EXPORT void * openvpn_plugin_client_constructor_v1(openvpn_plugin_handle_t handle)
OPENVPN_EXPORT int openvpn_plugin_open_v3(const int v3structver, struct openvpn_plugin_args_open_in const *args, struct openvpn_plugin_args_open_return *ret)
Control Channel Verification Module mbed TLS backend.
mbedtls_x509_crt openvpn_x509_cert_t
Control Channel Verification Module OpenSSL backend.
Garbage collection arena used to keep track of dynamically allocated memory.
struct plugin plugins[MAX_PLUGINS]
struct plugin_common * common
struct plugin_per_client per_client
struct plugin_option plugins[MAX_PLUGINS]
void * per_client_context[MAX_PLUGINS]
struct openvpn_plugin_string_list * list[MAX_PLUGINS]
openvpn_plugin_abort_v1 abort
HMODULE openvpn_plugin_open_v1 open1
openvpn_plugin_select_initialization_point_v1 initialization_point
openvpn_plugin_close_v1 close
openvpn_plugin_handle_t plugin_handle
int requested_initialization_point
openvpn_plugin_open_v3 open3
openvpn_plugin_open_v2 open2
openvpn_plugin_client_destructor_v1 client_destructor
unsigned int plugin_type_mask
openvpn_plugin_min_version_required_v1 min_version_required
openvpn_plugin_client_constructor_v1 client_constructor
openvpn_plugin_func_v1 func1
openvpn_plugin_func_v2 func2
openvpn_plugin_func_v3 func3