include/uapi/linux/ovpn.h

Source file repositories/reference/linux-study-clean/include/uapi/linux/ovpn.h

File Facts

System
Linux kernel
Corpus path
include/uapi/linux/ovpn.h
Extension
.h
Size
2384 bytes
Lines
113
Domain
Core OS
Bucket
Core Kernel Interface
Inferred role
Core OS: implementation source
Status
source implementation candidate

Why This File Exists

Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.

Dependency Surface

Detected Declarations

Annotated Snippet

#ifndef _UAPI_LINUX_OVPN_H
#define _UAPI_LINUX_OVPN_H

#define OVPN_FAMILY_NAME	"ovpn"
#define OVPN_FAMILY_VERSION	1

#define OVPN_NONCE_TAIL_SIZE	8

enum ovpn_cipher_alg {
	OVPN_CIPHER_ALG_NONE,
	OVPN_CIPHER_ALG_AES_GCM,
	OVPN_CIPHER_ALG_CHACHA20_POLY1305,
};

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,
};

enum ovpn_key_slot {
	OVPN_KEY_SLOT_PRIMARY,
	OVPN_KEY_SLOT_SECONDARY,
};

enum {
	OVPN_A_PEER_ID = 1,
	OVPN_A_PEER_REMOTE_IPV4,
	OVPN_A_PEER_REMOTE_IPV6,
	OVPN_A_PEER_REMOTE_IPV6_SCOPE_ID,
	OVPN_A_PEER_REMOTE_PORT,
	OVPN_A_PEER_SOCKET,
	OVPN_A_PEER_SOCKET_NETNSID,
	OVPN_A_PEER_VPN_IPV4,
	OVPN_A_PEER_VPN_IPV6,
	OVPN_A_PEER_LOCAL_IPV4,
	OVPN_A_PEER_LOCAL_IPV6,
	OVPN_A_PEER_LOCAL_PORT,
	OVPN_A_PEER_KEEPALIVE_INTERVAL,
	OVPN_A_PEER_KEEPALIVE_TIMEOUT,
	OVPN_A_PEER_DEL_REASON,
	OVPN_A_PEER_VPN_RX_BYTES,
	OVPN_A_PEER_VPN_TX_BYTES,
	OVPN_A_PEER_VPN_RX_PACKETS,
	OVPN_A_PEER_VPN_TX_PACKETS,
	OVPN_A_PEER_LINK_RX_BYTES,
	OVPN_A_PEER_LINK_TX_BYTES,
	OVPN_A_PEER_LINK_RX_PACKETS,
	OVPN_A_PEER_LINK_TX_PACKETS,
	OVPN_A_PEER_TX_ID,

	__OVPN_A_PEER_MAX,
	OVPN_A_PEER_MAX = (__OVPN_A_PEER_MAX - 1)
};

enum {
	OVPN_A_KEYCONF_PEER_ID = 1,
	OVPN_A_KEYCONF_SLOT,
	OVPN_A_KEYCONF_KEY_ID,
	OVPN_A_KEYCONF_CIPHER_ALG,
	OVPN_A_KEYCONF_ENCRYPT_DIR,
	OVPN_A_KEYCONF_DECRYPT_DIR,

	__OVPN_A_KEYCONF_MAX,
	OVPN_A_KEYCONF_MAX = (__OVPN_A_KEYCONF_MAX - 1)
};

enum {
	OVPN_A_KEYDIR_CIPHER_KEY = 1,
	OVPN_A_KEYDIR_NONCE_TAIL,

	__OVPN_A_KEYDIR_MAX,
	OVPN_A_KEYDIR_MAX = (__OVPN_A_KEYDIR_MAX - 1)
};

enum {
	OVPN_A_IFINDEX = 1,
	OVPN_A_PEER,
	OVPN_A_KEYCONF,

	__OVPN_A_MAX,
	OVPN_A_MAX = (__OVPN_A_MAX - 1)
};

enum {
	OVPN_CMD_PEER_NEW = 1,
	OVPN_CMD_PEER_SET,
	OVPN_CMD_PEER_GET,

Annotation

Implementation Notes