From 4abf325e0275e4ef0bdd441dcf497570f1419ab9 Mon Sep 17 00:00:00 2001 From: Matt Layher Date: Wed, 15 Dec 2021 14:34:23 -0500 Subject: [PATCH] unix: add netlink attribute type and policy type constants Change-Id: I343785b938461c94c32d52fb632514293564311a Reviewed-on: https://go-review.googlesource.com/c/sys/+/372295 Trust: Matt Layher Run-TryBot: Matt Layher Reviewed-by: Ian Lance Taylor Reviewed-by: Tobias Klauser --- unix/linux/types.go | 39 +++++++++++++++++++++++++++++++++++++++ unix/ztypes_linux.go | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 73 insertions(+) diff --git a/unix/linux/types.go b/unix/linux/types.go index 7d5ff91b..e1212f65 100644 --- a/unix/linux/types.go +++ b/unix/linux/types.go @@ -3919,3 +3919,42 @@ const ( WGALLOWEDIP_A_IPADDR = C.WGALLOWEDIP_A_IPADDR WGALLOWEDIP_A_CIDR_MASK = C.WGALLOWEDIP_A_CIDR_MASK ) + +// netlink attribute types and policies + +// Generated by: +// perl -nlE '/^\s*(NL_ATTR\w+)/ && say "$1 = C.$1"' /usr/include/linux/netlink.h +// perl -nlE '/^\s*(NL_POLICY\w+)/ && say "$1 = C.$1"' /usr/include/linux/netlink.h +const ( + NL_ATTR_TYPE_INVALID = C.NL_ATTR_TYPE_INVALID + NL_ATTR_TYPE_FLAG = C.NL_ATTR_TYPE_FLAG + NL_ATTR_TYPE_U8 = C.NL_ATTR_TYPE_U8 + NL_ATTR_TYPE_U16 = C.NL_ATTR_TYPE_U16 + NL_ATTR_TYPE_U32 = C.NL_ATTR_TYPE_U32 + NL_ATTR_TYPE_U64 = C.NL_ATTR_TYPE_U64 + NL_ATTR_TYPE_S8 = C.NL_ATTR_TYPE_S8 + NL_ATTR_TYPE_S16 = C.NL_ATTR_TYPE_S16 + NL_ATTR_TYPE_S32 = C.NL_ATTR_TYPE_S32 + NL_ATTR_TYPE_S64 = C.NL_ATTR_TYPE_S64 + NL_ATTR_TYPE_BINARY = C.NL_ATTR_TYPE_BINARY + NL_ATTR_TYPE_STRING = C.NL_ATTR_TYPE_STRING + NL_ATTR_TYPE_NUL_STRING = C.NL_ATTR_TYPE_NUL_STRING + NL_ATTR_TYPE_NESTED = C.NL_ATTR_TYPE_NESTED + NL_ATTR_TYPE_NESTED_ARRAY = C.NL_ATTR_TYPE_NESTED_ARRAY + NL_ATTR_TYPE_BITFIELD32 = C.NL_ATTR_TYPE_BITFIELD32 + + NL_POLICY_TYPE_ATTR_UNSPEC = C.NL_POLICY_TYPE_ATTR_UNSPEC + NL_POLICY_TYPE_ATTR_TYPE = C.NL_POLICY_TYPE_ATTR_TYPE + NL_POLICY_TYPE_ATTR_MIN_VALUE_S = C.NL_POLICY_TYPE_ATTR_MIN_VALUE_S + NL_POLICY_TYPE_ATTR_MAX_VALUE_S = C.NL_POLICY_TYPE_ATTR_MAX_VALUE_S + NL_POLICY_TYPE_ATTR_MIN_VALUE_U = C.NL_POLICY_TYPE_ATTR_MIN_VALUE_U + NL_POLICY_TYPE_ATTR_MAX_VALUE_U = C.NL_POLICY_TYPE_ATTR_MAX_VALUE_U + NL_POLICY_TYPE_ATTR_MIN_LENGTH = C.NL_POLICY_TYPE_ATTR_MIN_LENGTH + NL_POLICY_TYPE_ATTR_MAX_LENGTH = C.NL_POLICY_TYPE_ATTR_MAX_LENGTH + NL_POLICY_TYPE_ATTR_POLICY_IDX = C.NL_POLICY_TYPE_ATTR_POLICY_IDX + NL_POLICY_TYPE_ATTR_POLICY_MAXTYPE = C.NL_POLICY_TYPE_ATTR_POLICY_MAXTYPE + NL_POLICY_TYPE_ATTR_BITFIELD32_MASK = C.NL_POLICY_TYPE_ATTR_BITFIELD32_MASK + NL_POLICY_TYPE_ATTR_PAD = C.NL_POLICY_TYPE_ATTR_PAD + NL_POLICY_TYPE_ATTR_MASK = C.NL_POLICY_TYPE_ATTR_MASK + NL_POLICY_TYPE_ATTR_MAX = C.NL_POLICY_TYPE_ATTR_MAX +) diff --git a/unix/ztypes_linux.go b/unix/ztypes_linux.go index e76b7f6f..f6f0d79c 100644 --- a/unix/ztypes_linux.go +++ b/unix/ztypes_linux.go @@ -4009,3 +4009,37 @@ const ( WGALLOWEDIP_A_IPADDR = 0x2 WGALLOWEDIP_A_CIDR_MASK = 0x3 ) + +const ( + NL_ATTR_TYPE_INVALID = 0x0 + NL_ATTR_TYPE_FLAG = 0x1 + NL_ATTR_TYPE_U8 = 0x2 + NL_ATTR_TYPE_U16 = 0x3 + NL_ATTR_TYPE_U32 = 0x4 + NL_ATTR_TYPE_U64 = 0x5 + NL_ATTR_TYPE_S8 = 0x6 + NL_ATTR_TYPE_S16 = 0x7 + NL_ATTR_TYPE_S32 = 0x8 + NL_ATTR_TYPE_S64 = 0x9 + NL_ATTR_TYPE_BINARY = 0xa + NL_ATTR_TYPE_STRING = 0xb + NL_ATTR_TYPE_NUL_STRING = 0xc + NL_ATTR_TYPE_NESTED = 0xd + NL_ATTR_TYPE_NESTED_ARRAY = 0xe + NL_ATTR_TYPE_BITFIELD32 = 0xf + + NL_POLICY_TYPE_ATTR_UNSPEC = 0x0 + NL_POLICY_TYPE_ATTR_TYPE = 0x1 + NL_POLICY_TYPE_ATTR_MIN_VALUE_S = 0x2 + NL_POLICY_TYPE_ATTR_MAX_VALUE_S = 0x3 + NL_POLICY_TYPE_ATTR_MIN_VALUE_U = 0x4 + NL_POLICY_TYPE_ATTR_MAX_VALUE_U = 0x5 + NL_POLICY_TYPE_ATTR_MIN_LENGTH = 0x6 + NL_POLICY_TYPE_ATTR_MAX_LENGTH = 0x7 + NL_POLICY_TYPE_ATTR_POLICY_IDX = 0x8 + NL_POLICY_TYPE_ATTR_POLICY_MAXTYPE = 0x9 + NL_POLICY_TYPE_ATTR_BITFIELD32_MASK = 0xa + NL_POLICY_TYPE_ATTR_PAD = 0xb + NL_POLICY_TYPE_ATTR_MASK = 0xc + NL_POLICY_TYPE_ATTR_MAX = 0xc +)