OpenVPN
Data Structures | Macros | Typedefs | Enumerations
ovpn_dco_win.h File Reference
#include <winsock2.h>
#include <ws2def.h>
#include <ws2ipdef.h>
Include dependency graph for ovpn_dco_win.h:

Go to the source code of this file.

Data Structures

struct  _OVPN_NEW_PEER
 
struct  _OVPN_MP_NEW_PEER
 
struct  _OVPN_STATS
 
struct  _OVPN_KEY_DIRECTION
 
struct  _OVPN_CRYPTO_DATA
 
struct  _OVPN_MP_SET_PEER
 
struct  _OVPN_SET_PEER
 
struct  _OVPN_VERSION
 
struct  _OVPN_SET_MODE
 
struct  _OVPN_MP_START_VPN
 
struct  _OVPN_NOTIFY_EVENT
 
struct  _OVPN_MP_DEL_PEER
 
struct  _OVPN_MP_SWAP_KEYS
 
struct  _OVPN_MP_IROUTE
 

Macros

#define OVPN_IOCTL_NEW_PEER   CTL_CODE(FILE_DEVICE_UNKNOWN, 1, METHOD_BUFFERED, FILE_ANY_ACCESS)
 
#define OVPN_IOCTL_GET_STATS   CTL_CODE(FILE_DEVICE_UNKNOWN, 2, METHOD_BUFFERED, FILE_ANY_ACCESS)
 
#define OVPN_IOCTL_NEW_KEY   CTL_CODE(FILE_DEVICE_UNKNOWN, 3, METHOD_BUFFERED, FILE_ANY_ACCESS)
 
#define OVPN_IOCTL_SWAP_KEYS   CTL_CODE(FILE_DEVICE_UNKNOWN, 4, METHOD_BUFFERED, FILE_ANY_ACCESS)
 
#define OVPN_IOCTL_SET_PEER   CTL_CODE(FILE_DEVICE_UNKNOWN, 5, METHOD_BUFFERED, FILE_ANY_ACCESS)
 
#define OVPN_IOCTL_START_VPN   CTL_CODE(FILE_DEVICE_UNKNOWN, 6, METHOD_BUFFERED, FILE_ANY_ACCESS)
 
#define OVPN_IOCTL_DEL_PEER   CTL_CODE(FILE_DEVICE_UNKNOWN, 7, METHOD_BUFFERED, FILE_ANY_ACCESS)
 
#define OVPN_IOCTL_GET_VERSION   CTL_CODE(FILE_DEVICE_UNKNOWN, 8, METHOD_BUFFERED, FILE_ANY_ACCESS)
 
#define OVPN_IOCTL_NEW_KEY_V2   CTL_CODE(FILE_DEVICE_UNKNOWN, 9, METHOD_BUFFERED, FILE_ANY_ACCESS)
 
#define OVPN_IOCTL_SET_MODE   CTL_CODE(FILE_DEVICE_UNKNOWN, 10, METHOD_BUFFERED, FILE_ANY_ACCESS)
 
#define OVPN_IOCTL_MP_START_VPN   CTL_CODE(FILE_DEVICE_UNKNOWN, 11, METHOD_BUFFERED, FILE_ANY_ACCESS)
 
#define OVPN_IOCTL_MP_NEW_PEER   CTL_CODE(FILE_DEVICE_UNKNOWN, 12, METHOD_BUFFERED, FILE_ANY_ACCESS)
 
#define OVPN_IOCTL_MP_SET_PEER   CTL_CODE(FILE_DEVICE_UNKNOWN, 13, METHOD_BUFFERED, FILE_ANY_ACCESS)
 
#define OVPN_IOCTL_NOTIFY_EVENT   CTL_CODE(FILE_DEVICE_UNKNOWN, 14, METHOD_BUFFERED, FILE_ANY_ACCESS)
 
#define OVPN_IOCTL_MP_DEL_PEER   CTL_CODE(FILE_DEVICE_UNKNOWN, 15, METHOD_BUFFERED, FILE_ANY_ACCESS)
 
#define OVPN_IOCTL_MP_SWAP_KEYS   CTL_CODE(FILE_DEVICE_UNKNOWN, 16, METHOD_BUFFERED, FILE_ANY_ACCESS)
 
#define OVPN_IOCTL_MP_ADD_IROUTE   CTL_CODE(FILE_DEVICE_UNKNOWN, 17, METHOD_BUFFERED, FILE_ANY_ACCESS)
 
#define OVPN_IOCTL_MP_DEL_IROUTE   CTL_CODE(FILE_DEVICE_UNKNOWN, 18, METHOD_BUFFERED, FILE_ANY_ACCESS)
 

Typedefs

typedef struct _OVPN_NEW_PEER OVPN_NEW_PEER
 
typedef struct _OVPN_NEW_PEERPOVPN_NEW_PEER
 
typedef struct _OVPN_MP_NEW_PEER OVPN_MP_NEW_PEER
 
typedef struct _OVPN_MP_NEW_PEERPOVPN_MP_NEW_PEER
 
typedef struct _OVPN_STATS OVPN_STATS
 
typedef struct _OVPN_STATSPOVPN_STATS
 
typedef enum _OVPN_KEY_SLOT OVPN_KEY_SLOT
 
typedef enum _OVPN_CIPHER_ALG OVPN_CIPHER_ALG
 
typedef struct _OVPN_KEY_DIRECTION OVPN_KEY_DIRECTION
 
typedef struct _OVPN_CRYPTO_DATA OVPN_CRYPTO_DATA
 
typedef struct _OVPN_CRYPTO_DATAPOVPN_CRYPTO_DATA
 
typedef struct _OVPN_MP_SET_PEER OVPN_MP_SET_PEER
 
typedef struct _OVPN_MP_SET_PEERPOVPN_MP_SET_PEER
 
typedef struct _OVPN_SET_PEER OVPN_SET_PEER
 
typedef struct _OVPN_SET_PEERPOVPN_SET_PEER
 
typedef struct _OVPN_VERSION OVPN_VERSION
 
typedef struct _OVPN_VERSIONPOVPN_VERSION
 
typedef struct _OVPN_SET_MODE OVPN_SET_MODE
 
typedef struct _OVPN_SET_MODEPOVPN_SET_MODE
 
typedef struct _OVPN_MP_START_VPN OVPN_MP_START_VPN
 
typedef struct _OVPN_MP_START_VPNPOVPN_MP_START_VPN
 
typedef struct _OVPN_NOTIFY_EVENT OVPN_NOTIFY_EVENT
 
typedef struct _OVPN_NOTIFY_EVENTPOVPN_NOTIFY_EVENT
 
typedef struct _OVPN_MP_DEL_PEER OVPN_MP_DEL_PEER
 
typedef struct _OVPN_MP_DEL_PEERPOVPN_MP_DEL_PEER
 
typedef struct _OVPN_MP_SWAP_KEYS OVPN_MP_SWAP_KEYS
 
typedef struct _OVPN_MP_SWAP_KEYSPOVPN_MP_SWAP_KEYS
 
typedef struct _OVPN_MP_IROUTE OVPN_MP_IROUTE
 
typedef struct _OVPN_MP_IROUTEPOVPN_MP_IROUTE
 

Enumerations

enum  OVPN_PROTO { OVPN_PROTO_UDP , OVPN_PROTO_TCP }
 
enum  _OVPN_KEY_SLOT { OVPN_KEY_SLOT_PRIMARY , OVPN_KEY_SLOT_SECONDARY }
 
enum  _OVPN_CIPHER_ALG { OVPN_CIPHER_ALG_NONE , OVPN_CIPHER_ALG_AES_GCM , OVPN_CIPHER_ALG_CHACHA20_POLY1305 }
 
enum  OVPN_MODE { OVPN_MODE_P2P , OVPN_MODE_MP }
 
enum  OVPN_NOTIFY_CMD { OVPN_CMD_DEL_PEER , OVPN_CMD_SWAP_KEYS }
 
enum  OVPN_DEL_PEER_REASON {
  OVPN_DEL_PEER_REASON_TEARDOWN , OVPN_DEL_PEER_REASON_USERSPACE , OVPN_DEL_PEER_REASON_EXPIRED , OVPN_DEL_PEER_REASON_TRANSPORT_ERROR ,
  OVPN_DEL_PEER_REASON_TRANSPORT_DISCONNECT
}
 

Macro Definition Documentation

◆ OVPN_IOCTL_DEL_PEER

#define OVPN_IOCTL_DEL_PEER   CTL_CODE(FILE_DEVICE_UNKNOWN, 7, METHOD_BUFFERED, FILE_ANY_ACCESS)

Definition at line 193 of file ovpn_dco_win.h.

◆ OVPN_IOCTL_GET_STATS

#define OVPN_IOCTL_GET_STATS   CTL_CODE(FILE_DEVICE_UNKNOWN, 2, METHOD_BUFFERED, FILE_ANY_ACCESS)

Definition at line 188 of file ovpn_dco_win.h.

◆ OVPN_IOCTL_GET_VERSION

#define OVPN_IOCTL_GET_VERSION   CTL_CODE(FILE_DEVICE_UNKNOWN, 8, METHOD_BUFFERED, FILE_ANY_ACCESS)

Definition at line 194 of file ovpn_dco_win.h.

◆ OVPN_IOCTL_MP_ADD_IROUTE

#define OVPN_IOCTL_MP_ADD_IROUTE   CTL_CODE(FILE_DEVICE_UNKNOWN, 17, METHOD_BUFFERED, FILE_ANY_ACCESS)

Definition at line 207 of file ovpn_dco_win.h.

◆ OVPN_IOCTL_MP_DEL_IROUTE

#define OVPN_IOCTL_MP_DEL_IROUTE   CTL_CODE(FILE_DEVICE_UNKNOWN, 18, METHOD_BUFFERED, FILE_ANY_ACCESS)

Definition at line 208 of file ovpn_dco_win.h.

◆ OVPN_IOCTL_MP_DEL_PEER

#define OVPN_IOCTL_MP_DEL_PEER   CTL_CODE(FILE_DEVICE_UNKNOWN, 15, METHOD_BUFFERED, FILE_ANY_ACCESS)

Definition at line 204 of file ovpn_dco_win.h.

◆ OVPN_IOCTL_MP_NEW_PEER

#define OVPN_IOCTL_MP_NEW_PEER   CTL_CODE(FILE_DEVICE_UNKNOWN, 12, METHOD_BUFFERED, FILE_ANY_ACCESS)

Definition at line 199 of file ovpn_dco_win.h.

◆ OVPN_IOCTL_MP_SET_PEER

#define OVPN_IOCTL_MP_SET_PEER   CTL_CODE(FILE_DEVICE_UNKNOWN, 13, METHOD_BUFFERED, FILE_ANY_ACCESS)

Definition at line 200 of file ovpn_dco_win.h.

◆ OVPN_IOCTL_MP_START_VPN

#define OVPN_IOCTL_MP_START_VPN   CTL_CODE(FILE_DEVICE_UNKNOWN, 11, METHOD_BUFFERED, FILE_ANY_ACCESS)

Definition at line 198 of file ovpn_dco_win.h.

◆ OVPN_IOCTL_MP_SWAP_KEYS

#define OVPN_IOCTL_MP_SWAP_KEYS   CTL_CODE(FILE_DEVICE_UNKNOWN, 16, METHOD_BUFFERED, FILE_ANY_ACCESS)

Definition at line 205 of file ovpn_dco_win.h.

◆ OVPN_IOCTL_NEW_KEY

#define OVPN_IOCTL_NEW_KEY   CTL_CODE(FILE_DEVICE_UNKNOWN, 3, METHOD_BUFFERED, FILE_ANY_ACCESS)

Definition at line 189 of file ovpn_dco_win.h.

◆ OVPN_IOCTL_NEW_KEY_V2

#define OVPN_IOCTL_NEW_KEY_V2   CTL_CODE(FILE_DEVICE_UNKNOWN, 9, METHOD_BUFFERED, FILE_ANY_ACCESS)

Definition at line 195 of file ovpn_dco_win.h.

◆ OVPN_IOCTL_NEW_PEER

#define OVPN_IOCTL_NEW_PEER   CTL_CODE(FILE_DEVICE_UNKNOWN, 1, METHOD_BUFFERED, FILE_ANY_ACCESS)

Definition at line 187 of file ovpn_dco_win.h.

◆ OVPN_IOCTL_NOTIFY_EVENT

#define OVPN_IOCTL_NOTIFY_EVENT   CTL_CODE(FILE_DEVICE_UNKNOWN, 14, METHOD_BUFFERED, FILE_ANY_ACCESS)

Definition at line 202 of file ovpn_dco_win.h.

◆ OVPN_IOCTL_SET_MODE

#define OVPN_IOCTL_SET_MODE   CTL_CODE(FILE_DEVICE_UNKNOWN, 10, METHOD_BUFFERED, FILE_ANY_ACCESS)

Definition at line 196 of file ovpn_dco_win.h.

◆ OVPN_IOCTL_SET_PEER

#define OVPN_IOCTL_SET_PEER   CTL_CODE(FILE_DEVICE_UNKNOWN, 5, METHOD_BUFFERED, FILE_ANY_ACCESS)

Definition at line 191 of file ovpn_dco_win.h.

◆ OVPN_IOCTL_START_VPN

#define OVPN_IOCTL_START_VPN   CTL_CODE(FILE_DEVICE_UNKNOWN, 6, METHOD_BUFFERED, FILE_ANY_ACCESS)

Definition at line 192 of file ovpn_dco_win.h.

◆ OVPN_IOCTL_SWAP_KEYS

#define OVPN_IOCTL_SWAP_KEYS   CTL_CODE(FILE_DEVICE_UNKNOWN, 4, METHOD_BUFFERED, FILE_ANY_ACCESS)

Definition at line 190 of file ovpn_dco_win.h.

Typedef Documentation

◆ OVPN_CIPHER_ALG

◆ OVPN_CRYPTO_DATA

◆ OVPN_KEY_DIRECTION

◆ OVPN_KEY_SLOT

◆ OVPN_MP_DEL_PEER

◆ OVPN_MP_IROUTE

◆ OVPN_MP_NEW_PEER

◆ OVPN_MP_SET_PEER

◆ OVPN_MP_START_VPN

◆ OVPN_MP_SWAP_KEYS

◆ OVPN_NEW_PEER

typedef struct _OVPN_NEW_PEER OVPN_NEW_PEER

◆ OVPN_NOTIFY_EVENT

◆ OVPN_SET_MODE

typedef struct _OVPN_SET_MODE OVPN_SET_MODE

◆ OVPN_SET_PEER

typedef struct _OVPN_SET_PEER OVPN_SET_PEER

◆ OVPN_STATS

typedef struct _OVPN_STATS OVPN_STATS

◆ OVPN_VERSION

typedef struct _OVPN_VERSION OVPN_VERSION

◆ POVPN_CRYPTO_DATA

◆ POVPN_MP_DEL_PEER

◆ POVPN_MP_IROUTE

typedef struct _OVPN_MP_IROUTE * POVPN_MP_IROUTE

◆ POVPN_MP_NEW_PEER

◆ POVPN_MP_SET_PEER

◆ POVPN_MP_START_VPN

◆ POVPN_MP_SWAP_KEYS

◆ POVPN_NEW_PEER

typedef struct _OVPN_NEW_PEER * POVPN_NEW_PEER

◆ POVPN_NOTIFY_EVENT

◆ POVPN_SET_MODE

typedef struct _OVPN_SET_MODE * POVPN_SET_MODE

◆ POVPN_SET_PEER

typedef struct _OVPN_SET_PEER * POVPN_SET_PEER

◆ POVPN_STATS

typedef struct _OVPN_STATS * POVPN_STATS

◆ POVPN_VERSION

typedef struct _OVPN_VERSION * POVPN_VERSION

Enumeration Type Documentation

◆ _OVPN_CIPHER_ALG

Enumerator
OVPN_CIPHER_ALG_NONE 
OVPN_CIPHER_ALG_AES_GCM 
OVPN_CIPHER_ALG_CHACHA20_POLY1305 

Definition at line 92 of file ovpn_dco_win.h.

◆ _OVPN_KEY_SLOT

Enumerator
OVPN_KEY_SLOT_PRIMARY 
OVPN_KEY_SLOT_SECONDARY 

Definition at line 87 of file ovpn_dco_win.h.

◆ OVPN_DEL_PEER_REASON

Enumerator
OVPN_DEL_PEER_REASON_TEARDOWN 
OVPN_DEL_PEER_REASON_USERSPACE 
OVPN_DEL_PEER_REASON_EXPIRED 
OVPN_DEL_PEER_REASON_TRANSPORT_ERROR 
OVPN_DEL_PEER_REASON_TRANSPORT_DISCONNECT 

Definition at line 155 of file ovpn_dco_win.h.

◆ OVPN_MODE

enum OVPN_MODE
Enumerator
OVPN_MODE_P2P 
OVPN_MODE_MP 

Definition at line 133 of file ovpn_dco_win.h.

◆ OVPN_NOTIFY_CMD

Enumerator
OVPN_CMD_DEL_PEER 
OVPN_CMD_SWAP_KEYS 

Definition at line 150 of file ovpn_dco_win.h.

◆ OVPN_PROTO

enum OVPN_PROTO
Enumerator
OVPN_PROTO_UDP 
OVPN_PROTO_TCP 

Definition at line 31 of file ovpn_dco_win.h.