OpenVPN
options_string.h
Go to the documentation of this file.
1/*
2 * OpenVPN -- An application to securely tunnel IP networks
3 * over a single UDP port, with support for SSL/TLS-based
4 * session authentication and key exchange,
5 * packet encryption, packet authentication, and
6 * packet compression.
7 *
8 * Copyright (C) 2002-2026 OpenVPN Inc <sales@openvpn.net>
9 *
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License version 2
12 * as published by the Free Software Foundation.
13 *
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * You should have received a copy of the GNU General Public License along
20 * with this program; if not, see <https://www.gnu.org/licenses/>.
21 */
22
23#ifndef OPTIONS_STRING_H
24#define OPTIONS_STRING_H
25
26#include "buffer.h"
27#include "options.h"
28
29const char *options_string_version(const char *s, struct gc_arena *gc);
30
72char *options_string(const struct options *o, const struct frame *frame, struct tuntap *tt,
73 openvpn_net_ctx_t *ctx, bool remote, struct gc_arena *gc);
74
75bool options_cmp_equal_safe(char *actual, const char *expected, size_t actual_n);
76
77void options_warning_safe(char *actual, const char *expected, size_t actual_n);
78
79bool options_cmp_equal(char *actual, const char *expected);
80
81void options_warning(char *actual, const char *expected);
82
93char *options_string_extract_option(const char *options_string, const char *opt_name,
94 struct gc_arena *gc);
95
96
97#endif
Buffer management functions and garbage collection.
void * openvpn_net_ctx_t
Definition networking.h:38
bool options_cmp_equal(char *actual, const char *expected)
bool options_cmp_equal_safe(char *actual, const char *expected, size_t actual_n)
void options_warning_safe(char *actual, const char *expected, size_t actual_n)
char * options_string_extract_option(const char *options_string, const char *opt_name, struct gc_arena *gc)
Given an OpenVPN options string, extract the value of an option.
void options_warning(char *actual, const char *expected)
const char * options_string_version(const char *s, struct gc_arena *gc)
char * options_string(const struct options *o, const struct frame *frame, struct tuntap *tt, openvpn_net_ctx_t *ctx, bool remote, struct gc_arena *gc)
Build an options string to represent data channel encryption options.
Packet geometry parameters.
Definition mtu.h:113
Garbage collection arena used to keep track of dynamically allocated memory.
Definition buffer.h:127
Definition tun.h:181
struct gc_arena gc
Definition test_ssl.c:122