internal/socket: use AF_* and SOCK_RAW constants from x/sys
Use the AF_UNSPEC, AF_INET, AF_INET6 and SOCK_RAW constants from
golang.org/x/sys instead of locally deriving them from the C headers (or
hard coding them in the case of Windows).
Change-Id: I37fe61d0435b6c615cd767eef38380db4b4af7b1
Reviewed-on: https://go-review.googlesource.com/c/net/+/53310
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
diff --git a/go.mod b/go.mod
index 78a1450..0db2ff2 100644
--- a/go.mod
+++ b/go.mod
@@ -2,5 +2,6 @@
require (
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2
+ golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a
golang.org/x/text v0.3.0
)
diff --git a/internal/socket/defs_darwin.go b/internal/socket/defs_darwin.go
index 14e28c0..b780bc6 100644
--- a/internal/socket/defs_darwin.go
+++ b/internal/socket/defs_darwin.go
@@ -16,14 +16,6 @@
*/
import "C"
-const (
- sysAF_UNSPEC = C.AF_UNSPEC
- sysAF_INET = C.AF_INET
- sysAF_INET6 = C.AF_INET6
-
- sysSOCK_RAW = C.SOCK_RAW
-)
-
type iovec C.struct_iovec
type msghdr C.struct_msghdr
diff --git a/internal/socket/defs_dragonfly.go b/internal/socket/defs_dragonfly.go
index 14e28c0..b780bc6 100644
--- a/internal/socket/defs_dragonfly.go
+++ b/internal/socket/defs_dragonfly.go
@@ -16,14 +16,6 @@
*/
import "C"
-const (
- sysAF_UNSPEC = C.AF_UNSPEC
- sysAF_INET = C.AF_INET
- sysAF_INET6 = C.AF_INET6
-
- sysSOCK_RAW = C.SOCK_RAW
-)
-
type iovec C.struct_iovec
type msghdr C.struct_msghdr
diff --git a/internal/socket/defs_freebsd.go b/internal/socket/defs_freebsd.go
index 14e28c0..b780bc6 100644
--- a/internal/socket/defs_freebsd.go
+++ b/internal/socket/defs_freebsd.go
@@ -16,14 +16,6 @@
*/
import "C"
-const (
- sysAF_UNSPEC = C.AF_UNSPEC
- sysAF_INET = C.AF_INET
- sysAF_INET6 = C.AF_INET6
-
- sysSOCK_RAW = C.SOCK_RAW
-)
-
type iovec C.struct_iovec
type msghdr C.struct_msghdr
diff --git a/internal/socket/defs_linux.go b/internal/socket/defs_linux.go
index ce9ec2f..6c5c11d 100644
--- a/internal/socket/defs_linux.go
+++ b/internal/socket/defs_linux.go
@@ -18,14 +18,6 @@
*/
import "C"
-const (
- sysAF_UNSPEC = C.AF_UNSPEC
- sysAF_INET = C.AF_INET
- sysAF_INET6 = C.AF_INET6
-
- sysSOCK_RAW = C.SOCK_RAW
-)
-
type iovec C.struct_iovec
type msghdr C.struct_msghdr
diff --git a/internal/socket/defs_netbsd.go b/internal/socket/defs_netbsd.go
index 3f84335..3d3b776 100644
--- a/internal/socket/defs_netbsd.go
+++ b/internal/socket/defs_netbsd.go
@@ -16,14 +16,6 @@
*/
import "C"
-const (
- sysAF_UNSPEC = C.AF_UNSPEC
- sysAF_INET = C.AF_INET
- sysAF_INET6 = C.AF_INET6
-
- sysSOCK_RAW = C.SOCK_RAW
-)
-
type iovec C.struct_iovec
type msghdr C.struct_msghdr
diff --git a/internal/socket/defs_openbsd.go b/internal/socket/defs_openbsd.go
index 14e28c0..b780bc6 100644
--- a/internal/socket/defs_openbsd.go
+++ b/internal/socket/defs_openbsd.go
@@ -16,14 +16,6 @@
*/
import "C"
-const (
- sysAF_UNSPEC = C.AF_UNSPEC
- sysAF_INET = C.AF_INET
- sysAF_INET6 = C.AF_INET6
-
- sysSOCK_RAW = C.SOCK_RAW
-)
-
type iovec C.struct_iovec
type msghdr C.struct_msghdr
diff --git a/internal/socket/defs_solaris.go b/internal/socket/defs_solaris.go
index 14e28c0..b780bc6 100644
--- a/internal/socket/defs_solaris.go
+++ b/internal/socket/defs_solaris.go
@@ -16,14 +16,6 @@
*/
import "C"
-const (
- sysAF_UNSPEC = C.AF_UNSPEC
- sysAF_INET = C.AF_INET
- sysAF_INET6 = C.AF_INET6
-
- sysSOCK_RAW = C.SOCK_RAW
-)
-
type iovec C.struct_iovec
type msghdr C.struct_msghdr
diff --git a/internal/socket/sys_const_unix.go b/internal/socket/sys_const_unix.go
new file mode 100644
index 0000000..43797d6
--- /dev/null
+++ b/internal/socket/sys_const_unix.go
@@ -0,0 +1,17 @@
+// Copyright 2019 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
+
+package socket
+
+import "golang.org/x/sys/unix"
+
+const (
+ sysAF_UNSPEC = unix.AF_UNSPEC
+ sysAF_INET = unix.AF_INET
+ sysAF_INET6 = unix.AF_INET6
+
+ sysSOCK_RAW = unix.SOCK_RAW
+)
diff --git a/internal/socket/sys_windows.go b/internal/socket/sys_windows.go
index 924e327..d556a44 100644
--- a/internal/socket/sys_windows.go
+++ b/internal/socket/sys_windows.go
@@ -7,6 +7,8 @@
import (
"syscall"
"unsafe"
+
+ "golang.org/x/sys/windows"
)
func probeProtocolStack() int {
@@ -15,11 +17,11 @@
}
const (
- sysAF_UNSPEC = 0x0
- sysAF_INET = 0x2
- sysAF_INET6 = 0x17
+ sysAF_UNSPEC = windows.AF_UNSPEC
+ sysAF_INET = windows.AF_INET
+ sysAF_INET6 = windows.AF_INET6
- sysSOCK_RAW = 0x3
+ sysSOCK_RAW = windows.SOCK_RAW
)
type sockaddrInet struct {
diff --git a/internal/socket/zsys_aix_ppc64.go b/internal/socket/zsys_aix_ppc64.go
index 3a825f4..813385a 100644
--- a/internal/socket/zsys_aix_ppc64.go
+++ b/internal/socket/zsys_aix_ppc64.go
@@ -6,14 +6,6 @@
package socket
-const (
- sysAF_UNSPEC = 0x0
- sysAF_INET = 0x2
- sysAF_INET6 = 0x18
-
- sysSOCK_RAW = 0x3
-)
-
type iovec struct {
Base *byte
Len uint64
diff --git a/internal/socket/zsys_darwin_386.go b/internal/socket/zsys_darwin_386.go
index 26f8fef..9c96042 100644
--- a/internal/socket/zsys_darwin_386.go
+++ b/internal/socket/zsys_darwin_386.go
@@ -3,14 +3,6 @@
package socket
-const (
- sysAF_UNSPEC = 0x0
- sysAF_INET = 0x2
- sysAF_INET6 = 0x1e
-
- sysSOCK_RAW = 0x3
-)
-
type iovec struct {
Base *byte
Len uint32
diff --git a/internal/socket/zsys_darwin_amd64.go b/internal/socket/zsys_darwin_amd64.go
index e2987f7..3564171 100644
--- a/internal/socket/zsys_darwin_amd64.go
+++ b/internal/socket/zsys_darwin_amd64.go
@@ -3,14 +3,6 @@
package socket
-const (
- sysAF_UNSPEC = 0x0
- sysAF_INET = 0x2
- sysAF_INET6 = 0x1e
-
- sysSOCK_RAW = 0x3
-)
-
type iovec struct {
Base *byte
Len uint64
diff --git a/internal/socket/zsys_darwin_arm.go b/internal/socket/zsys_darwin_arm.go
index 26f8fef..9c96042 100644
--- a/internal/socket/zsys_darwin_arm.go
+++ b/internal/socket/zsys_darwin_arm.go
@@ -3,14 +3,6 @@
package socket
-const (
- sysAF_UNSPEC = 0x0
- sysAF_INET = 0x2
- sysAF_INET6 = 0x1e
-
- sysSOCK_RAW = 0x3
-)
-
type iovec struct {
Base *byte
Len uint32
diff --git a/internal/socket/zsys_darwin_arm64.go b/internal/socket/zsys_darwin_arm64.go
index e2987f7..3564171 100644
--- a/internal/socket/zsys_darwin_arm64.go
+++ b/internal/socket/zsys_darwin_arm64.go
@@ -3,14 +3,6 @@
package socket
-const (
- sysAF_UNSPEC = 0x0
- sysAF_INET = 0x2
- sysAF_INET6 = 0x1e
-
- sysSOCK_RAW = 0x3
-)
-
type iovec struct {
Base *byte
Len uint64
diff --git a/internal/socket/zsys_dragonfly_amd64.go b/internal/socket/zsys_dragonfly_amd64.go
index c582abd..90a57f5 100644
--- a/internal/socket/zsys_dragonfly_amd64.go
+++ b/internal/socket/zsys_dragonfly_amd64.go
@@ -3,14 +3,6 @@
package socket
-const (
- sysAF_UNSPEC = 0x0
- sysAF_INET = 0x2
- sysAF_INET6 = 0x1c
-
- sysSOCK_RAW = 0x3
-)
-
type iovec struct {
Base *byte
Len uint64
diff --git a/internal/socket/zsys_freebsd_386.go b/internal/socket/zsys_freebsd_386.go
index 04a2488..e5bc557 100644
--- a/internal/socket/zsys_freebsd_386.go
+++ b/internal/socket/zsys_freebsd_386.go
@@ -3,14 +3,6 @@
package socket
-const (
- sysAF_UNSPEC = 0x0
- sysAF_INET = 0x2
- sysAF_INET6 = 0x1c
-
- sysSOCK_RAW = 0x3
-)
-
type iovec struct {
Base *byte
Len uint32
diff --git a/internal/socket/zsys_freebsd_amd64.go b/internal/socket/zsys_freebsd_amd64.go
index 35c7cb9..cbf85af 100644
--- a/internal/socket/zsys_freebsd_amd64.go
+++ b/internal/socket/zsys_freebsd_amd64.go
@@ -3,14 +3,6 @@
package socket
-const (
- sysAF_UNSPEC = 0x0
- sysAF_INET = 0x2
- sysAF_INET6 = 0x1c
-
- sysSOCK_RAW = 0x3
-)
-
type iovec struct {
Base *byte
Len uint64
diff --git a/internal/socket/zsys_freebsd_arm.go b/internal/socket/zsys_freebsd_arm.go
index 04a2488..e5bc557 100644
--- a/internal/socket/zsys_freebsd_arm.go
+++ b/internal/socket/zsys_freebsd_arm.go
@@ -3,14 +3,6 @@
package socket
-const (
- sysAF_UNSPEC = 0x0
- sysAF_INET = 0x2
- sysAF_INET6 = 0x1c
-
- sysSOCK_RAW = 0x3
-)
-
type iovec struct {
Base *byte
Len uint32
diff --git a/internal/socket/zsys_linux_386.go b/internal/socket/zsys_linux_386.go
index 4302069..b7db0f0 100644
--- a/internal/socket/zsys_linux_386.go
+++ b/internal/socket/zsys_linux_386.go
@@ -3,14 +3,6 @@
package socket
-const (
- sysAF_UNSPEC = 0x0
- sysAF_INET = 0x2
- sysAF_INET6 = 0xa
-
- sysSOCK_RAW = 0x3
-)
-
type iovec struct {
Base *byte
Len uint32
diff --git a/internal/socket/zsys_linux_amd64.go b/internal/socket/zsys_linux_amd64.go
index 1502f6c..87a4e0b 100644
--- a/internal/socket/zsys_linux_amd64.go
+++ b/internal/socket/zsys_linux_amd64.go
@@ -3,14 +3,6 @@
package socket
-const (
- sysAF_UNSPEC = 0x0
- sysAF_INET = 0x2
- sysAF_INET6 = 0xa
-
- sysSOCK_RAW = 0x3
-)
-
type iovec struct {
Base *byte
Len uint64
diff --git a/internal/socket/zsys_linux_arm.go b/internal/socket/zsys_linux_arm.go
index 4302069..b7db0f0 100644
--- a/internal/socket/zsys_linux_arm.go
+++ b/internal/socket/zsys_linux_arm.go
@@ -3,14 +3,6 @@
package socket
-const (
- sysAF_UNSPEC = 0x0
- sysAF_INET = 0x2
- sysAF_INET6 = 0xa
-
- sysSOCK_RAW = 0x3
-)
-
type iovec struct {
Base *byte
Len uint32
diff --git a/internal/socket/zsys_linux_arm64.go b/internal/socket/zsys_linux_arm64.go
index 1502f6c..87a4e0b 100644
--- a/internal/socket/zsys_linux_arm64.go
+++ b/internal/socket/zsys_linux_arm64.go
@@ -3,14 +3,6 @@
package socket
-const (
- sysAF_UNSPEC = 0x0
- sysAF_INET = 0x2
- sysAF_INET6 = 0xa
-
- sysSOCK_RAW = 0x3
-)
-
type iovec struct {
Base *byte
Len uint64
diff --git a/internal/socket/zsys_linux_mips.go b/internal/socket/zsys_linux_mips.go
index 4302069..b7db0f0 100644
--- a/internal/socket/zsys_linux_mips.go
+++ b/internal/socket/zsys_linux_mips.go
@@ -3,14 +3,6 @@
package socket
-const (
- sysAF_UNSPEC = 0x0
- sysAF_INET = 0x2
- sysAF_INET6 = 0xa
-
- sysSOCK_RAW = 0x3
-)
-
type iovec struct {
Base *byte
Len uint32
diff --git a/internal/socket/zsys_linux_mips64.go b/internal/socket/zsys_linux_mips64.go
index 1502f6c..87a4e0b 100644
--- a/internal/socket/zsys_linux_mips64.go
+++ b/internal/socket/zsys_linux_mips64.go
@@ -3,14 +3,6 @@
package socket
-const (
- sysAF_UNSPEC = 0x0
- sysAF_INET = 0x2
- sysAF_INET6 = 0xa
-
- sysSOCK_RAW = 0x3
-)
-
type iovec struct {
Base *byte
Len uint64
diff --git a/internal/socket/zsys_linux_mips64le.go b/internal/socket/zsys_linux_mips64le.go
index 1502f6c..87a4e0b 100644
--- a/internal/socket/zsys_linux_mips64le.go
+++ b/internal/socket/zsys_linux_mips64le.go
@@ -3,14 +3,6 @@
package socket
-const (
- sysAF_UNSPEC = 0x0
- sysAF_INET = 0x2
- sysAF_INET6 = 0xa
-
- sysSOCK_RAW = 0x3
-)
-
type iovec struct {
Base *byte
Len uint64
diff --git a/internal/socket/zsys_linux_mipsle.go b/internal/socket/zsys_linux_mipsle.go
index 4302069..b7db0f0 100644
--- a/internal/socket/zsys_linux_mipsle.go
+++ b/internal/socket/zsys_linux_mipsle.go
@@ -3,14 +3,6 @@
package socket
-const (
- sysAF_UNSPEC = 0x0
- sysAF_INET = 0x2
- sysAF_INET6 = 0xa
-
- sysSOCK_RAW = 0x3
-)
-
type iovec struct {
Base *byte
Len uint32
diff --git a/internal/socket/zsys_linux_ppc64.go b/internal/socket/zsys_linux_ppc64.go
index 1502f6c..87a4e0b 100644
--- a/internal/socket/zsys_linux_ppc64.go
+++ b/internal/socket/zsys_linux_ppc64.go
@@ -3,14 +3,6 @@
package socket
-const (
- sysAF_UNSPEC = 0x0
- sysAF_INET = 0x2
- sysAF_INET6 = 0xa
-
- sysSOCK_RAW = 0x3
-)
-
type iovec struct {
Base *byte
Len uint64
diff --git a/internal/socket/zsys_linux_ppc64le.go b/internal/socket/zsys_linux_ppc64le.go
index 1502f6c..87a4e0b 100644
--- a/internal/socket/zsys_linux_ppc64le.go
+++ b/internal/socket/zsys_linux_ppc64le.go
@@ -3,14 +3,6 @@
package socket
-const (
- sysAF_UNSPEC = 0x0
- sysAF_INET = 0x2
- sysAF_INET6 = 0xa
-
- sysSOCK_RAW = 0x3
-)
-
type iovec struct {
Base *byte
Len uint64
diff --git a/internal/socket/zsys_linux_riscv64.go b/internal/socket/zsys_linux_riscv64.go
index 62a51f9..dbff234 100644
--- a/internal/socket/zsys_linux_riscv64.go
+++ b/internal/socket/zsys_linux_riscv64.go
@@ -5,14 +5,6 @@
package socket
-const (
- sysAF_UNSPEC = 0x0
- sysAF_INET = 0x2
- sysAF_INET6 = 0xa
-
- sysSOCK_RAW = 0x3
-)
-
type iovec struct {
Base *byte
Len uint64
diff --git a/internal/socket/zsys_linux_s390x.go b/internal/socket/zsys_linux_s390x.go
index 1502f6c..87a4e0b 100644
--- a/internal/socket/zsys_linux_s390x.go
+++ b/internal/socket/zsys_linux_s390x.go
@@ -3,14 +3,6 @@
package socket
-const (
- sysAF_UNSPEC = 0x0
- sysAF_INET = 0x2
- sysAF_INET6 = 0xa
-
- sysSOCK_RAW = 0x3
-)
-
type iovec struct {
Base *byte
Len uint64
diff --git a/internal/socket/zsys_netbsd_386.go b/internal/socket/zsys_netbsd_386.go
index db60491..cd32844 100644
--- a/internal/socket/zsys_netbsd_386.go
+++ b/internal/socket/zsys_netbsd_386.go
@@ -3,14 +3,6 @@
package socket
-const (
- sysAF_UNSPEC = 0x0
- sysAF_INET = 0x2
- sysAF_INET6 = 0x18
-
- sysSOCK_RAW = 0x3
-)
-
type iovec struct {
Base *byte
Len uint32
diff --git a/internal/socket/zsys_netbsd_amd64.go b/internal/socket/zsys_netbsd_amd64.go
index 2a1a799..fa88b66 100644
--- a/internal/socket/zsys_netbsd_amd64.go
+++ b/internal/socket/zsys_netbsd_amd64.go
@@ -3,14 +3,6 @@
package socket
-const (
- sysAF_UNSPEC = 0x0
- sysAF_INET = 0x2
- sysAF_INET6 = 0x18
-
- sysSOCK_RAW = 0x3
-)
-
type iovec struct {
Base *byte
Len uint64
diff --git a/internal/socket/zsys_netbsd_arm.go b/internal/socket/zsys_netbsd_arm.go
index db60491..cd32844 100644
--- a/internal/socket/zsys_netbsd_arm.go
+++ b/internal/socket/zsys_netbsd_arm.go
@@ -3,14 +3,6 @@
package socket
-const (
- sysAF_UNSPEC = 0x0
- sysAF_INET = 0x2
- sysAF_INET6 = 0x18
-
- sysSOCK_RAW = 0x3
-)
-
type iovec struct {
Base *byte
Len uint32
diff --git a/internal/socket/zsys_openbsd_386.go b/internal/socket/zsys_openbsd_386.go
index 1c83636..64e2ea8 100644
--- a/internal/socket/zsys_openbsd_386.go
+++ b/internal/socket/zsys_openbsd_386.go
@@ -3,14 +3,6 @@
package socket
-const (
- sysAF_UNSPEC = 0x0
- sysAF_INET = 0x2
- sysAF_INET6 = 0x18
-
- sysSOCK_RAW = 0x3
-)
-
type iovec struct {
Base *byte
Len uint32
diff --git a/internal/socket/zsys_openbsd_amd64.go b/internal/socket/zsys_openbsd_amd64.go
index a6c0bf4..13554be 100644
--- a/internal/socket/zsys_openbsd_amd64.go
+++ b/internal/socket/zsys_openbsd_amd64.go
@@ -3,14 +3,6 @@
package socket
-const (
- sysAF_UNSPEC = 0x0
- sysAF_INET = 0x2
- sysAF_INET6 = 0x18
-
- sysSOCK_RAW = 0x3
-)
-
type iovec struct {
Base *byte
Len uint64
diff --git a/internal/socket/zsys_openbsd_arm.go b/internal/socket/zsys_openbsd_arm.go
index 1c83636..64e2ea8 100644
--- a/internal/socket/zsys_openbsd_arm.go
+++ b/internal/socket/zsys_openbsd_arm.go
@@ -3,14 +3,6 @@
package socket
-const (
- sysAF_UNSPEC = 0x0
- sysAF_INET = 0x2
- sysAF_INET6 = 0x18
-
- sysSOCK_RAW = 0x3
-)
-
type iovec struct {
Base *byte
Len uint32
diff --git a/internal/socket/zsys_solaris_amd64.go b/internal/socket/zsys_solaris_amd64.go
index 327c632..a27d73c 100644
--- a/internal/socket/zsys_solaris_amd64.go
+++ b/internal/socket/zsys_solaris_amd64.go
@@ -3,14 +3,6 @@
package socket
-const (
- sysAF_UNSPEC = 0x0
- sysAF_INET = 0x2
- sysAF_INET6 = 0x1a
-
- sysSOCK_RAW = 0x4
-)
-
type iovec struct {
Base *int8
Len uint64