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-2018 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 typedef enum {
43 
44 typedef struct {
46  size_t size;
49 
50 typedef union {
51  struct in_addr ipv4;
52  struct in6_addr ipv6;
54 
55 typedef struct {
56  int index;
57  char name[256];
58 } interface_t;
59 
60 typedef struct {
62  short family;
67 
68 typedef struct {
70  short family;
75  int metric;
77 
78 typedef struct {
81  char domains[512];
82  short family;
83  int addr_len;
84  inet_address_t addr[4]; /* support up to 4 dns addresses */
86 
87 typedef struct {
91  int nbt_type;
92  char scope_id[256];
93  struct in_addr primary_nbns;
94  struct in_addr secondary_nbns;
96 
97 /* TODO: NTP */
98 
99 typedef struct {
101  short family;
104 
105 typedef struct {
108 } ack_message_t;
109 
110 typedef struct {
114 
115 typedef struct {
119 
120 #endif /* ifndef OPENVPN_MSG_H_ */
message_header_t header
Definition: openvpn-msg.h:79
inet_address_t prefix
Definition: openvpn-msg.h:71
inet_address_t address
Definition: openvpn-msg.h:63
message_header_t header
Definition: openvpn-msg.h:69
inet_address_t gateway
Definition: openvpn-msg.h:73
message_type_t type
Definition: openvpn-msg.h:45
message_header_t header
Definition: openvpn-msg.h:88
message_header_t header
Definition: openvpn-msg.h:106
interface_t iface
Definition: openvpn-msg.h:74
message_type_t
Definition: openvpn-msg.h:27
message_header_t header
Definition: openvpn-msg.h:116
interface_t iface
Definition: openvpn-msg.h:80
message_header_t header
Definition: openvpn-msg.h:61
message_header_t header
Definition: openvpn-msg.h:100
interface_t iface
Definition: openvpn-msg.h:89
interface_t iface
Definition: openvpn-msg.h:65
message_header_t header
Definition: openvpn-msg.h:111
interface_t iface
Definition: openvpn-msg.h:112