syscall: convert Windows AddrinfoW.Addr from uintptr to syscall.Pointer

API compatibility violation, but it wasn't safe before and people
should be using golang.org/x/sys/windows instead.

Fixes #24820

Change-Id: I3b43493f56b3116924b9d848a294899279f314fd
Reviewed-on: https://go-review.googlesource.com/123455
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Austin Clements <austin@google.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
diff --git a/api/except.txt b/api/except.txt
index e104f8e..46dbb45 100644
--- a/api/except.txt
+++ b/api/except.txt
@@ -362,17 +362,19 @@
 pkg syscall (openbsd-amd64), const SYS_KILL = 37
 pkg syscall (openbsd-amd64-cgo), const SYS_KILL = 37
 pkg unicode, const Version = "9.0.0"
+pkg syscall (windows-386), const TOKEN_ALL_ACCESS = 983295
+pkg syscall (windows-386), type AddrinfoW struct, Addr uintptr
 pkg syscall (windows-386), type CertChainPolicyPara struct, ExtraPolicyPara uintptr
 pkg syscall (windows-386), type CertChainPolicyStatus struct, ExtraPolicyStatus uintptr
 pkg syscall (windows-386), type CertContext struct, CertInfo uintptr
 pkg syscall (windows-386), type CertRevocationInfo struct, CrlInfo uintptr
 pkg syscall (windows-386), type CertRevocationInfo struct, OidSpecificInfo uintptr
 pkg syscall (windows-386), type CertSimpleChain struct, TrustListInfo uintptr
-pkg syscall (windows-386), const TOKEN_ALL_ACCESS = 983295
+pkg syscall (windows-amd64), const TOKEN_ALL_ACCESS = 983295
+pkg syscall (windows-amd64), type AddrinfoW struct, Addr uintptr
 pkg syscall (windows-amd64), type CertChainPolicyPara struct, ExtraPolicyPara uintptr
 pkg syscall (windows-amd64), type CertChainPolicyStatus struct, ExtraPolicyStatus uintptr
 pkg syscall (windows-amd64), type CertContext struct, CertInfo uintptr
 pkg syscall (windows-amd64), type CertRevocationInfo struct, CrlInfo uintptr
 pkg syscall (windows-amd64), type CertRevocationInfo struct, OidSpecificInfo uintptr
 pkg syscall (windows-amd64), type CertSimpleChain struct, TrustListInfo uintptr
-pkg syscall (windows-amd64), const TOKEN_ALL_ACCESS = 983295
diff --git a/api/go1.11.txt b/api/go1.11.txt
index ead2a59..b0a7f64 100644
--- a/api/go1.11.txt
+++ b/api/go1.11.txt
@@ -529,6 +529,7 @@
 pkg syscall (windows-386), const TOKEN_ADJUST_SESSIONID = 256
 pkg syscall (windows-386), const TOKEN_ADJUST_SESSIONID ideal-int
 pkg syscall (windows-386), const TOKEN_ALL_ACCESS = 983551
+pkg syscall (windows-386), type AddrinfoW struct, Addr Pointer
 pkg syscall (windows-386), type CertChainPolicyPara struct, ExtraPolicyPara Pointer
 pkg syscall (windows-386), type CertChainPolicyStatus struct, ExtraPolicyStatus Pointer
 pkg syscall (windows-386), type CertContext struct, CertInfo *CertInfo
@@ -542,6 +543,7 @@
 pkg syscall (windows-amd64), const TOKEN_ADJUST_SESSIONID = 256
 pkg syscall (windows-amd64), const TOKEN_ADJUST_SESSIONID ideal-int
 pkg syscall (windows-amd64), const TOKEN_ALL_ACCESS = 983551
+pkg syscall (windows-amd64), type AddrinfoW struct, Addr Pointer
 pkg syscall (windows-amd64), type CertChainPolicyPara struct, ExtraPolicyPara Pointer
 pkg syscall (windows-amd64), type CertChainPolicyStatus struct, ExtraPolicyStatus Pointer
 pkg syscall (windows-amd64), type CertContext struct, CertInfo *CertInfo
diff --git a/src/syscall/types_windows.go b/src/syscall/types_windows.go
index 23ea5db..6911fe5 100644
--- a/src/syscall/types_windows.go
+++ b/src/syscall/types_windows.go
@@ -1009,7 +1009,7 @@
 	Protocol  int32
 	Addrlen   uintptr
 	Canonname *uint16
-	Addr      uintptr
+	Addr      Pointer
 	Next      *AddrinfoW
 }