From 7c7a22168250ffbe02fc00c707628d3b1ebee893 Mon Sep 17 00:00:00 2001 From: Ricardo Pchevuzinske Katz Date: Wed, 19 Aug 2020 14:04:36 +0000 Subject: [PATCH] unix: add nftables_compat defines and types Some types from nftables compatibility header are missing in unix package and this change adds those missing types Fixes golang/go#40898 Change-Id: I9a33aa4e4c6e1938fa40900ac74c1fc07ed00df2 GitHub-Last-Rev: 57a6fa7ca74fa5bae5c6356ec059a654f8aba875 GitHub-Pull-Request: golang/sys#80 Reviewed-on: https://go-review.googlesource.com/c/sys/+/249237 Run-TryBot: Tobias Klauser TryBot-Result: Gobot Gobot Reviewed-by: Tobias Klauser --- unix/linux/types.go | 19 +++++++++++++++++++ unix/ztypes_linux.go | 15 +++++++++++++++ 2 files changed, 34 insertions(+) diff --git a/unix/linux/types.go b/unix/linux/types.go index 8202d0c7..1f9176bd 100644 --- a/unix/linux/types.go +++ b/unix/linux/types.go @@ -105,6 +105,7 @@ struct termios2 { #include #include #include +#include #include #include #include @@ -1742,6 +1743,24 @@ const ( NFT_NG_RANDOM = C.NFT_NG_RANDOM ) +// netfilter nf_tables_compat +// generated using: +// perl -nlE '/^\s*(NFT\w+)/ && say "$1 = C.$1"' /usr/include/linux/netfilter/nf_tables_compat.h +const ( + NFTA_TARGET_UNSPEC = C.NFTA_TARGET_UNSPEC + NFTA_TARGET_NAME = C.NFTA_TARGET_NAME + NFTA_TARGET_REV = C.NFTA_TARGET_REV + NFTA_TARGET_INFO = C.NFTA_TARGET_INFO + NFTA_MATCH_UNSPEC = C.NFTA_MATCH_UNSPEC + NFTA_MATCH_NAME = C.NFTA_MATCH_NAME + NFTA_MATCH_REV = C.NFTA_MATCH_REV + NFTA_MATCH_INFO = C.NFTA_MATCH_INFO + NFTA_COMPAT_UNSPEC = C.NFTA_COMPAT_UNSPEC + NFTA_COMPAT_NAME = C.NFTA_COMPAT_NAME + NFTA_COMPAT_REV = C.NFTA_COMPAT_REV + NFTA_COMPAT_TYPE = C.NFTA_COMPAT_TYPE +) + type RTCTime C.struct_rtc_time type RTCWkAlrm C.struct_rtc_wkalrm diff --git a/unix/ztypes_linux.go b/unix/ztypes_linux.go index 256d3e6d..953166c7 100644 --- a/unix/ztypes_linux.go +++ b/unix/ztypes_linux.go @@ -1752,6 +1752,21 @@ const ( NFT_NG_RANDOM = 0x1 ) +const ( + NFTA_TARGET_UNSPEC = 0x0 + NFTA_TARGET_NAME = 0x1 + NFTA_TARGET_REV = 0x2 + NFTA_TARGET_INFO = 0x3 + NFTA_MATCH_UNSPEC = 0x0 + NFTA_MATCH_NAME = 0x1 + NFTA_MATCH_REV = 0x2 + NFTA_MATCH_INFO = 0x3 + NFTA_COMPAT_UNSPEC = 0x0 + NFTA_COMPAT_NAME = 0x1 + NFTA_COMPAT_REV = 0x2 + NFTA_COMPAT_TYPE = 0x3 +) + type RTCTime struct { Sec int32 Min int32