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 <mdlayher@gmail.com>
Run-TryBot: Matt Layher <mdlayher@gmail.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>
diff --git a/unix/linux/types.go b/unix/linux/types.go
index 7d5ff91..e1212f6 100644
--- a/unix/linux/types.go
+++ b/unix/linux/types.go
@@ -3919,3 +3919,42 @@
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 e76b7f6..f6f0d79 100644
--- a/unix/ztypes_linux.go
+++ b/unix/ztypes_linux.go
@@ -4009,3 +4009,37 @@
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
+)