unix: add WireGuard generic netlink interface constants on Linux

Change-Id: I619c49f745da8cfd17bc2aae28d97aff73daf4d5
Reviewed-on: https://go-review.googlesource.com/c/sys/+/371674
Trust: Matt Layher <mdlayher@gmail.com>
Run-TryBot: Matt Layher <mdlayher@gmail.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
Matt Layher
2021-12-14 10:20:10 -05:00
parent 3b038e5940
commit 4825e8c387
4 changed files with 80 additions and 0 deletions

View File

@@ -135,6 +135,7 @@ struct termios2 {
#include <linux/taskstats.h>
#include <linux/tipc.h>
#include <linux/watchdog.h>
#include <linux/wireguard.h>
#include <linux/vm_sockets.h>
#include <mtd/mtd-user.h>
@@ -3881,3 +3882,40 @@ const (
// mount_setattr
type MountAttr C.struct_mount_attr
// WireGuard generic netlink interface
// Generated by:
// perl -nlE '/^\s*(WG\w+)/ && say "$1 = C.$1"' /usr/include/linux/wireguard.h
const (
WG_CMD_GET_DEVICE = C.WG_CMD_GET_DEVICE
WG_CMD_SET_DEVICE = C.WG_CMD_SET_DEVICE
WGDEVICE_F_REPLACE_PEERS = C.WGDEVICE_F_REPLACE_PEERS
WGDEVICE_A_UNSPEC = C.WGDEVICE_A_UNSPEC
WGDEVICE_A_IFINDEX = C.WGDEVICE_A_IFINDEX
WGDEVICE_A_IFNAME = C.WGDEVICE_A_IFNAME
WGDEVICE_A_PRIVATE_KEY = C.WGDEVICE_A_PRIVATE_KEY
WGDEVICE_A_PUBLIC_KEY = C.WGDEVICE_A_PUBLIC_KEY
WGDEVICE_A_FLAGS = C.WGDEVICE_A_FLAGS
WGDEVICE_A_LISTEN_PORT = C.WGDEVICE_A_LISTEN_PORT
WGDEVICE_A_FWMARK = C.WGDEVICE_A_FWMARK
WGDEVICE_A_PEERS = C.WGDEVICE_A_PEERS
WGPEER_F_REMOVE_ME = C.WGPEER_F_REMOVE_ME
WGPEER_F_REPLACE_ALLOWEDIPS = C.WGPEER_F_REPLACE_ALLOWEDIPS
WGPEER_F_UPDATE_ONLY = C.WGPEER_F_UPDATE_ONLY
WGPEER_A_UNSPEC = C.WGPEER_A_UNSPEC
WGPEER_A_PUBLIC_KEY = C.WGPEER_A_PUBLIC_KEY
WGPEER_A_PRESHARED_KEY = C.WGPEER_A_PRESHARED_KEY
WGPEER_A_FLAGS = C.WGPEER_A_FLAGS
WGPEER_A_ENDPOINT = C.WGPEER_A_ENDPOINT
WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL = C.WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL
WGPEER_A_LAST_HANDSHAKE_TIME = C.WGPEER_A_LAST_HANDSHAKE_TIME
WGPEER_A_RX_BYTES = C.WGPEER_A_RX_BYTES
WGPEER_A_TX_BYTES = C.WGPEER_A_TX_BYTES
WGPEER_A_ALLOWEDIPS = C.WGPEER_A_ALLOWEDIPS
WGPEER_A_PROTOCOL_VERSION = C.WGPEER_A_PROTOCOL_VERSION
WGALLOWEDIP_A_UNSPEC = C.WGALLOWEDIP_A_UNSPEC
WGALLOWEDIP_A_FAMILY = C.WGALLOWEDIP_A_FAMILY
WGALLOWEDIP_A_IPADDR = C.WGALLOWEDIP_A_IPADDR
WGALLOWEDIP_A_CIDR_MASK = C.WGALLOWEDIP_A_CIDR_MASK
)

View File

@@ -261,6 +261,7 @@ struct ltchars {
#include <linux/vm_sockets.h>
#include <linux/wait.h>
#include <linux/watchdog.h>
#include <linux/wireguard.h>
#include <mtd/ubi-user.h>
#include <mtd/mtd-user.h>
@@ -606,6 +607,7 @@ ccflags="$@"
$2 ~ /^MTD/ ||
$2 ~ /^OTP/ ||
$2 ~ /^MEM/ ||
$2 ~ /^WG/ ||
$2 ~ /^BLK[A-Z]*(GET$|SET$|BUF$|PART$|SIZE)/ {printf("\t%s = C.%s\n", $2, $2)}
$2 ~ /^__WCOREFLAG$/ {next}
$2 ~ /^__W[A-Z0-9]+$/ {printf("\t%s = C.%s\n", substr($2,3), $2)}

View File

@@ -2826,6 +2826,13 @@ const (
WDIOS_TEMPPANIC = 0x4
WDIOS_UNKNOWN = -0x1
WEXITED = 0x4
WGALLOWEDIP_A_MAX = 0x3
WGDEVICE_A_MAX = 0x8
WGPEER_A_MAX = 0xa
WG_CMD_MAX = 0x1
WG_GENL_NAME = "wireguard"
WG_GENL_VERSION = 0x1
WG_KEY_LEN = 0x20
WIN_ACKMEDIACHANGE = 0xdb
WIN_CHECKPOWERMODE1 = 0xe5
WIN_CHECKPOWERMODE2 = 0x98

View File

@@ -3976,3 +3976,36 @@ type MountAttr struct {
Propagation uint64
Userns_fd uint64
}
const (
WG_CMD_GET_DEVICE = 0x0
WG_CMD_SET_DEVICE = 0x1
WGDEVICE_F_REPLACE_PEERS = 0x1
WGDEVICE_A_UNSPEC = 0x0
WGDEVICE_A_IFINDEX = 0x1
WGDEVICE_A_IFNAME = 0x2
WGDEVICE_A_PRIVATE_KEY = 0x3
WGDEVICE_A_PUBLIC_KEY = 0x4
WGDEVICE_A_FLAGS = 0x5
WGDEVICE_A_LISTEN_PORT = 0x6
WGDEVICE_A_FWMARK = 0x7
WGDEVICE_A_PEERS = 0x8
WGPEER_F_REMOVE_ME = 0x1
WGPEER_F_REPLACE_ALLOWEDIPS = 0x2
WGPEER_F_UPDATE_ONLY = 0x4
WGPEER_A_UNSPEC = 0x0
WGPEER_A_PUBLIC_KEY = 0x1
WGPEER_A_PRESHARED_KEY = 0x2
WGPEER_A_FLAGS = 0x3
WGPEER_A_ENDPOINT = 0x4
WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL = 0x5
WGPEER_A_LAST_HANDSHAKE_TIME = 0x6
WGPEER_A_RX_BYTES = 0x7
WGPEER_A_TX_BYTES = 0x8
WGPEER_A_ALLOWEDIPS = 0x9
WGPEER_A_PROTOCOL_VERSION = 0xa
WGALLOWEDIP_A_UNSPEC = 0x0
WGALLOWEDIP_A_FAMILY = 0x1
WGALLOWEDIP_A_IPADDR = 0x2
WGALLOWEDIP_A_CIDR_MASK = 0x3
)