OpenVPN
openvpn-msg.h
Go to the documentation of this file.
1/*
2 * OpenVPN -- An application to securely tunnel IP networks
3 * over a single TCP/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) 2013-2024 Heiko Hund <heiko.hund@sophos.com>
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, write to the Free Software Foundation, Inc.,
21 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
22 */
23
24#ifndef OPENVPN_MSG_H_
25#define OPENVPN_MSG_H_
26
27#include <windef.h>
28#include <ws2tcpip.h>
29
53
54typedef struct {
56 size_t size;
59
60typedef union {
61 struct in_addr ipv4;
62 struct in6_addr ipv6;
64
65typedef struct {
66 int index;
67 char name[256];
69
70typedef enum {
72 wfp_block_dns = 1<<1
74
82
92
93typedef struct {
96 char domains[512];
97 short family;
99 inet_address_t addr[4]; /* support up to 4 dns addresses */
101
102
103typedef enum {
106
107#define NRPT_ADDR_NUM 8 /* Max. number of addresses */
108#define NRPT_ADDR_SIZE 48 /* Max. address strlen + some */
110typedef struct {
114 char resolve_domains[512]; /* double \0 terminated */
115 char search_domains[512];
118
119typedef struct {
123 inet_address_t addr[4]; /* support up to 4 dns addresses */
125
126typedef struct {
131 char scope_id[256];
132 struct in_addr primary_nbns;
133 struct in_addr secondary_nbns;
135
136/* TODO: NTP */
137
143
148
154
159
166
171
176
177#endif /* ifndef OPENVPN_MSG_H_ */
nrpt_flags_t
@ nrpt_dnssec
wfp_block_flags_t
Definition openvpn-msg.h:70
@ wfp_block_local
Definition openvpn-msg.h:71
@ wfp_block_dns
Definition openvpn-msg.h:72
char nrpt_address_t[NRPT_ADDR_SIZE]
message_type_t
Definition openvpn-msg.h:30
@ msg_add_nrpt_cfg
Definition openvpn-msg.h:38
@ msg_del_address
Definition openvpn-msg.h:33
@ msg_add_wins_cfg
Definition openvpn-msg.h:49
@ msg_add_address
Definition openvpn-msg.h:32
@ msg_del_nbt_cfg
Definition openvpn-msg.h:41
@ msg_del_wfp_block
Definition openvpn-msg.h:44
@ msg_enable_dhcp
Definition openvpn-msg.h:46
@ msg_add_wfp_block
Definition openvpn-msg.h:43
@ msg_add_route
Definition openvpn-msg.h:34
@ msg_add_nbt_cfg
Definition openvpn-msg.h:40
@ msg_create_adapter
Definition openvpn-msg.h:51
@ msg_del_wins_cfg
Definition openvpn-msg.h:50
@ deprecated_msg_register_ring_buffers
Definition openvpn-msg.h:47
@ msg_acknowledgement
Definition openvpn-msg.h:31
@ msg_add_dns_cfg
Definition openvpn-msg.h:36
@ msg_register_dns
Definition openvpn-msg.h:45
@ msg_del_nrpt_cfg
Definition openvpn-msg.h:39
@ msg_del_route
Definition openvpn-msg.h:35
@ msg_set_mtu
Definition openvpn-msg.h:48
@ msg_flush_neighbors
Definition openvpn-msg.h:42
@ msg_del_dns_cfg
Definition openvpn-msg.h:37
adapter_type_t
@ ADAPTER_TYPE_DCO
@ ADAPTER_TYPE_TAP
#define NRPT_ADDR_SIZE
#define NRPT_ADDR_NUM
message_header_t header
inet_address_t address
Definition openvpn-msg.h:78
message_header_t header
Definition openvpn-msg.h:76
interface_t iface
Definition openvpn-msg.h:80
message_header_t header
adapter_type_t adapter_type
message_header_t header
Definition openvpn-msg.h:94
interface_t iface
Definition openvpn-msg.h:95
message_header_t header
message_header_t header
message_type_t type
Definition openvpn-msg.h:55
message_header_t header
interface_t iface
message_header_t header
message_header_t header
Definition openvpn-msg.h:84
interface_t iface
Definition openvpn-msg.h:89
inet_address_t gateway
Definition openvpn-msg.h:88
inet_address_t prefix
Definition openvpn-msg.h:86
message_header_t header
interface_t iface
wfp_block_flags_t flags
message_header_t header
interface_t iface
message_header_t header