mirror of
https://github.com/golang/go
synced 2024-11-16 19:34:48 -07:00
internal/syscall/windows: unexport Version
windows.Version is just a thin wrapper around RtlGetNtVersionNumbers, which is an undocumented Windows API. This CL unexports windows.Version so it is harder to use by accident. Change-Id: Ib782da04e4e8be66970111a75f5c2df27ef51643 Reviewed-on: https://go-review.googlesource.com/c/go/+/570055 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Michael Knyszek <mknyszek@google.com> Reviewed-by: Bryan Mills <bcmills@google.com>
This commit is contained in:
parent
336617186a
commit
c220fbabd5
@ -9,10 +9,10 @@ import (
|
|||||||
_ "unsafe" // for linkname
|
_ "unsafe" // for linkname
|
||||||
)
|
)
|
||||||
|
|
||||||
// Version retrieves the major, minor, and build version numbers
|
// version retrieves the major, minor, and build version numbers
|
||||||
// of the current Windows OS from the RtlGetNtVersionNumbers API
|
// of the current Windows OS from the RtlGetNtVersionNumbers API
|
||||||
// and parse the results properly.
|
// and parse the results properly.
|
||||||
func Version() (major, minor, build uint32) {
|
func version() (major, minor, build uint32) {
|
||||||
rtlGetNtVersionNumbers(&major, &minor, &build)
|
rtlGetNtVersionNumbers(&major, &minor, &build)
|
||||||
build &= 0x7fff
|
build &= 0x7fff
|
||||||
return
|
return
|
||||||
@ -23,24 +23,25 @@ func Version() (major, minor, build uint32) {
|
|||||||
func rtlGetNtVersionNumbers(majorVersion *uint32, minorVersion *uint32, buildNumber *uint32)
|
func rtlGetNtVersionNumbers(majorVersion *uint32, minorVersion *uint32, buildNumber *uint32)
|
||||||
|
|
||||||
// SupportFullTCPKeepAlive indicates whether the current Windows version
|
// SupportFullTCPKeepAlive indicates whether the current Windows version
|
||||||
// supports the full TCP keep-alive configurations, the minimal requirement
|
// supports the full TCP keep-alive configurations.
|
||||||
// is Windows 10, version 1709.
|
// The minimal requirement is Windows 10.0.16299.
|
||||||
var SupportFullTCPKeepAlive = sync.OnceValue(func() bool {
|
var SupportFullTCPKeepAlive = sync.OnceValue(func() bool {
|
||||||
major, _, build := Version()
|
major, _, build := version()
|
||||||
return major >= 10 && build >= 16299
|
return major >= 10 && build >= 16299
|
||||||
})
|
})
|
||||||
|
|
||||||
// SupportTCPInitialRTONoSYNRetransmissions indicates whether the current
|
// SupportTCPInitialRTONoSYNRetransmissions indicates whether the current
|
||||||
// Windows version supports the TCP_INITIAL_RTO_NO_SYN_RETRANSMISSIONS, the
|
// Windows version supports the TCP_INITIAL_RTO_NO_SYN_RETRANSMISSIONS.
|
||||||
// minimal requirement is Windows 10.0.16299.
|
// The minimal requirement is Windows 10.0.16299.
|
||||||
var SupportTCPInitialRTONoSYNRetransmissions = sync.OnceValue(func() bool {
|
var SupportTCPInitialRTONoSYNRetransmissions = sync.OnceValue(func() bool {
|
||||||
major, _, build := Version()
|
major, _, build := version()
|
||||||
return major >= 10 && build >= 16299
|
return major >= 10 && build >= 16299
|
||||||
})
|
})
|
||||||
|
|
||||||
// SupportUnixSocket indicates whether the current Windows version supports
|
// SupportUnixSocket indicates whether the current Windows version supports
|
||||||
// Unix Domain Sockets, the minimal requirement is Windows 10, build 17063.
|
// Unix Domain Sockets.
|
||||||
|
// The minimal requirement is Windows 10.0.17063.
|
||||||
var SupportUnixSocket = sync.OnceValue(func() bool {
|
var SupportUnixSocket = sync.OnceValue(func() bool {
|
||||||
major, _, build := Version()
|
major, _, build := version()
|
||||||
return major >= 10 && build >= 17063
|
return major >= 10 && build >= 17063
|
||||||
})
|
})
|
||||||
|
Loading…
Reference in New Issue
Block a user