OSDN Git Service

Thanos did someting
[bytom/vapor.git] / vendor / golang.org / x / sys / windows / types_windows.go
diff --git a/vendor/golang.org/x/sys/windows/types_windows.go b/vendor/golang.org/x/sys/windows/types_windows.go
deleted file mode 100644 (file)
index 401a5f2..0000000
+++ /dev/null
@@ -1,1282 +0,0 @@
-// Copyright 2011 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.
-
-package windows
-
-import "syscall"
-
-const (
-       // Windows errors.
-       ERROR_FILE_NOT_FOUND         syscall.Errno = 2
-       ERROR_PATH_NOT_FOUND         syscall.Errno = 3
-       ERROR_ACCESS_DENIED          syscall.Errno = 5
-       ERROR_NO_MORE_FILES          syscall.Errno = 18
-       ERROR_HANDLE_EOF             syscall.Errno = 38
-       ERROR_NETNAME_DELETED        syscall.Errno = 64
-       ERROR_FILE_EXISTS            syscall.Errno = 80
-       ERROR_BROKEN_PIPE            syscall.Errno = 109
-       ERROR_BUFFER_OVERFLOW        syscall.Errno = 111
-       ERROR_INSUFFICIENT_BUFFER    syscall.Errno = 122
-       ERROR_MOD_NOT_FOUND          syscall.Errno = 126
-       ERROR_PROC_NOT_FOUND         syscall.Errno = 127
-       ERROR_ALREADY_EXISTS         syscall.Errno = 183
-       ERROR_ENVVAR_NOT_FOUND       syscall.Errno = 203
-       ERROR_MORE_DATA              syscall.Errno = 234
-       ERROR_OPERATION_ABORTED      syscall.Errno = 995
-       ERROR_IO_PENDING             syscall.Errno = 997
-       ERROR_SERVICE_SPECIFIC_ERROR syscall.Errno = 1066
-       ERROR_NOT_FOUND              syscall.Errno = 1168
-       ERROR_PRIVILEGE_NOT_HELD     syscall.Errno = 1314
-       WSAEACCES                    syscall.Errno = 10013
-       WSAECONNRESET                syscall.Errno = 10054
-)
-
-const (
-       // Invented values to support what package os expects.
-       O_RDONLY   = 0x00000
-       O_WRONLY   = 0x00001
-       O_RDWR     = 0x00002
-       O_CREAT    = 0x00040
-       O_EXCL     = 0x00080
-       O_NOCTTY   = 0x00100
-       O_TRUNC    = 0x00200
-       O_NONBLOCK = 0x00800
-       O_APPEND   = 0x00400
-       O_SYNC     = 0x01000
-       O_ASYNC    = 0x02000
-       O_CLOEXEC  = 0x80000
-)
-
-const (
-       // More invented values for signals
-       SIGHUP  = Signal(0x1)
-       SIGINT  = Signal(0x2)
-       SIGQUIT = Signal(0x3)
-       SIGILL  = Signal(0x4)
-       SIGTRAP = Signal(0x5)
-       SIGABRT = Signal(0x6)
-       SIGBUS  = Signal(0x7)
-       SIGFPE  = Signal(0x8)
-       SIGKILL = Signal(0x9)
-       SIGSEGV = Signal(0xb)
-       SIGPIPE = Signal(0xd)
-       SIGALRM = Signal(0xe)
-       SIGTERM = Signal(0xf)
-)
-
-var signals = [...]string{
-       1:  "hangup",
-       2:  "interrupt",
-       3:  "quit",
-       4:  "illegal instruction",
-       5:  "trace/breakpoint trap",
-       6:  "aborted",
-       7:  "bus error",
-       8:  "floating point exception",
-       9:  "killed",
-       10: "user defined signal 1",
-       11: "segmentation fault",
-       12: "user defined signal 2",
-       13: "broken pipe",
-       14: "alarm clock",
-       15: "terminated",
-}
-
-const (
-       GENERIC_READ    = 0x80000000
-       GENERIC_WRITE   = 0x40000000
-       GENERIC_EXECUTE = 0x20000000
-       GENERIC_ALL     = 0x10000000
-
-       FILE_LIST_DIRECTORY   = 0x00000001
-       FILE_APPEND_DATA      = 0x00000004
-       FILE_WRITE_ATTRIBUTES = 0x00000100
-
-       FILE_SHARE_READ              = 0x00000001
-       FILE_SHARE_WRITE             = 0x00000002
-       FILE_SHARE_DELETE            = 0x00000004
-       FILE_ATTRIBUTE_READONLY      = 0x00000001
-       FILE_ATTRIBUTE_HIDDEN        = 0x00000002
-       FILE_ATTRIBUTE_SYSTEM        = 0x00000004
-       FILE_ATTRIBUTE_DIRECTORY     = 0x00000010
-       FILE_ATTRIBUTE_ARCHIVE       = 0x00000020
-       FILE_ATTRIBUTE_NORMAL        = 0x00000080
-       FILE_ATTRIBUTE_REPARSE_POINT = 0x00000400
-
-       INVALID_FILE_ATTRIBUTES = 0xffffffff
-
-       CREATE_NEW        = 1
-       CREATE_ALWAYS     = 2
-       OPEN_EXISTING     = 3
-       OPEN_ALWAYS       = 4
-       TRUNCATE_EXISTING = 5
-
-       FILE_FLAG_OPEN_REPARSE_POINT = 0x00200000
-       FILE_FLAG_BACKUP_SEMANTICS   = 0x02000000
-       FILE_FLAG_OVERLAPPED         = 0x40000000
-
-       HANDLE_FLAG_INHERIT    = 0x00000001
-       STARTF_USESTDHANDLES   = 0x00000100
-       STARTF_USESHOWWINDOW   = 0x00000001
-       DUPLICATE_CLOSE_SOURCE = 0x00000001
-       DUPLICATE_SAME_ACCESS  = 0x00000002
-
-       STD_INPUT_HANDLE  = -10 & (1<<32 - 1)
-       STD_OUTPUT_HANDLE = -11 & (1<<32 - 1)
-       STD_ERROR_HANDLE  = -12 & (1<<32 - 1)
-
-       FILE_BEGIN   = 0
-       FILE_CURRENT = 1
-       FILE_END     = 2
-
-       LANG_ENGLISH       = 0x09
-       SUBLANG_ENGLISH_US = 0x01
-
-       FORMAT_MESSAGE_ALLOCATE_BUFFER = 256
-       FORMAT_MESSAGE_IGNORE_INSERTS  = 512
-       FORMAT_MESSAGE_FROM_STRING     = 1024
-       FORMAT_MESSAGE_FROM_HMODULE    = 2048
-       FORMAT_MESSAGE_FROM_SYSTEM     = 4096
-       FORMAT_MESSAGE_ARGUMENT_ARRAY  = 8192
-       FORMAT_MESSAGE_MAX_WIDTH_MASK  = 255
-
-       MAX_PATH      = 260
-       MAX_LONG_PATH = 32768
-
-       MAX_COMPUTERNAME_LENGTH = 15
-
-       TIME_ZONE_ID_UNKNOWN  = 0
-       TIME_ZONE_ID_STANDARD = 1
-
-       TIME_ZONE_ID_DAYLIGHT = 2
-       IGNORE                = 0
-       INFINITE              = 0xffffffff
-
-       WAIT_TIMEOUT   = 258
-       WAIT_ABANDONED = 0x00000080
-       WAIT_OBJECT_0  = 0x00000000
-       WAIT_FAILED    = 0xFFFFFFFF
-
-       CREATE_NEW_PROCESS_GROUP   = 0x00000200
-       CREATE_UNICODE_ENVIRONMENT = 0x00000400
-
-       PROCESS_TERMINATE         = 1
-       PROCESS_QUERY_INFORMATION = 0x00000400
-       SYNCHRONIZE               = 0x00100000
-
-       FILE_MAP_COPY    = 0x01
-       FILE_MAP_WRITE   = 0x02
-       FILE_MAP_READ    = 0x04
-       FILE_MAP_EXECUTE = 0x20
-
-       CTRL_C_EVENT     = 0
-       CTRL_BREAK_EVENT = 1
-
-       // Windows reserves errors >= 1<<29 for application use.
-       APPLICATION_ERROR = 1 << 29
-)
-
-const (
-       // flags for CreateToolhelp32Snapshot
-       TH32CS_SNAPHEAPLIST = 0x01
-       TH32CS_SNAPPROCESS  = 0x02
-       TH32CS_SNAPTHREAD   = 0x04
-       TH32CS_SNAPMODULE   = 0x08
-       TH32CS_SNAPMODULE32 = 0x10
-       TH32CS_SNAPALL      = TH32CS_SNAPHEAPLIST | TH32CS_SNAPMODULE | TH32CS_SNAPPROCESS | TH32CS_SNAPTHREAD
-       TH32CS_INHERIT      = 0x80000000
-)
-
-const (
-       // filters for ReadDirectoryChangesW
-       FILE_NOTIFY_CHANGE_FILE_NAME   = 0x001
-       FILE_NOTIFY_CHANGE_DIR_NAME    = 0x002
-       FILE_NOTIFY_CHANGE_ATTRIBUTES  = 0x004
-       FILE_NOTIFY_CHANGE_SIZE        = 0x008
-       FILE_NOTIFY_CHANGE_LAST_WRITE  = 0x010
-       FILE_NOTIFY_CHANGE_LAST_ACCESS = 0x020
-       FILE_NOTIFY_CHANGE_CREATION    = 0x040
-       FILE_NOTIFY_CHANGE_SECURITY    = 0x100
-)
-
-const (
-       // do not reorder
-       FILE_ACTION_ADDED = iota + 1
-       FILE_ACTION_REMOVED
-       FILE_ACTION_MODIFIED
-       FILE_ACTION_RENAMED_OLD_NAME
-       FILE_ACTION_RENAMED_NEW_NAME
-)
-
-const (
-       // wincrypt.h
-       PROV_RSA_FULL                    = 1
-       PROV_RSA_SIG                     = 2
-       PROV_DSS                         = 3
-       PROV_FORTEZZA                    = 4
-       PROV_MS_EXCHANGE                 = 5
-       PROV_SSL                         = 6
-       PROV_RSA_SCHANNEL                = 12
-       PROV_DSS_DH                      = 13
-       PROV_EC_ECDSA_SIG                = 14
-       PROV_EC_ECNRA_SIG                = 15
-       PROV_EC_ECDSA_FULL               = 16
-       PROV_EC_ECNRA_FULL               = 17
-       PROV_DH_SCHANNEL                 = 18
-       PROV_SPYRUS_LYNKS                = 20
-       PROV_RNG                         = 21
-       PROV_INTEL_SEC                   = 22
-       PROV_REPLACE_OWF                 = 23
-       PROV_RSA_AES                     = 24
-       CRYPT_VERIFYCONTEXT              = 0xF0000000
-       CRYPT_NEWKEYSET                  = 0x00000008
-       CRYPT_DELETEKEYSET               = 0x00000010
-       CRYPT_MACHINE_KEYSET             = 0x00000020
-       CRYPT_SILENT                     = 0x00000040
-       CRYPT_DEFAULT_CONTAINER_OPTIONAL = 0x00000080
-
-       USAGE_MATCH_TYPE_AND = 0
-       USAGE_MATCH_TYPE_OR  = 1
-
-       X509_ASN_ENCODING   = 0x00000001
-       PKCS_7_ASN_ENCODING = 0x00010000
-
-       CERT_STORE_PROV_MEMORY = 2
-
-       CERT_STORE_ADD_ALWAYS = 4
-
-       CERT_STORE_DEFER_CLOSE_UNTIL_LAST_FREE_FLAG = 0x00000004
-
-       CERT_TRUST_NO_ERROR                          = 0x00000000
-       CERT_TRUST_IS_NOT_TIME_VALID                 = 0x00000001
-       CERT_TRUST_IS_REVOKED                        = 0x00000004
-       CERT_TRUST_IS_NOT_SIGNATURE_VALID            = 0x00000008
-       CERT_TRUST_IS_NOT_VALID_FOR_USAGE            = 0x00000010
-       CERT_TRUST_IS_UNTRUSTED_ROOT                 = 0x00000020
-       CERT_TRUST_REVOCATION_STATUS_UNKNOWN         = 0x00000040
-       CERT_TRUST_IS_CYCLIC                         = 0x00000080
-       CERT_TRUST_INVALID_EXTENSION                 = 0x00000100
-       CERT_TRUST_INVALID_POLICY_CONSTRAINTS        = 0x00000200
-       CERT_TRUST_INVALID_BASIC_CONSTRAINTS         = 0x00000400
-       CERT_TRUST_INVALID_NAME_CONSTRAINTS          = 0x00000800
-       CERT_TRUST_HAS_NOT_SUPPORTED_NAME_CONSTRAINT = 0x00001000
-       CERT_TRUST_HAS_NOT_DEFINED_NAME_CONSTRAINT   = 0x00002000
-       CERT_TRUST_HAS_NOT_PERMITTED_NAME_CONSTRAINT = 0x00004000
-       CERT_TRUST_HAS_EXCLUDED_NAME_CONSTRAINT      = 0x00008000
-       CERT_TRUST_IS_OFFLINE_REVOCATION             = 0x01000000
-       CERT_TRUST_NO_ISSUANCE_CHAIN_POLICY          = 0x02000000
-       CERT_TRUST_IS_EXPLICIT_DISTRUST              = 0x04000000
-       CERT_TRUST_HAS_NOT_SUPPORTED_CRITICAL_EXT    = 0x08000000
-
-       CERT_CHAIN_POLICY_BASE              = 1
-       CERT_CHAIN_POLICY_AUTHENTICODE      = 2
-       CERT_CHAIN_POLICY_AUTHENTICODE_TS   = 3
-       CERT_CHAIN_POLICY_SSL               = 4
-       CERT_CHAIN_POLICY_BASIC_CONSTRAINTS = 5
-       CERT_CHAIN_POLICY_NT_AUTH           = 6
-       CERT_CHAIN_POLICY_MICROSOFT_ROOT    = 7
-       CERT_CHAIN_POLICY_EV                = 8
-
-       CERT_E_EXPIRED       = 0x800B0101
-       CERT_E_ROLE          = 0x800B0103
-       CERT_E_PURPOSE       = 0x800B0106
-       CERT_E_UNTRUSTEDROOT = 0x800B0109
-       CERT_E_CN_NO_MATCH   = 0x800B010F
-
-       AUTHTYPE_CLIENT = 1
-       AUTHTYPE_SERVER = 2
-)
-
-var (
-       OID_PKIX_KP_SERVER_AUTH = []byte("1.3.6.1.5.5.7.3.1\x00")
-       OID_SERVER_GATED_CRYPTO = []byte("1.3.6.1.4.1.311.10.3.3\x00")
-       OID_SGC_NETSCAPE        = []byte("2.16.840.1.113730.4.1\x00")
-)
-
-// Invented values to support what package os expects.
-type Timeval struct {
-       Sec  int32
-       Usec int32
-}
-
-func (tv *Timeval) Nanoseconds() int64 {
-       return (int64(tv.Sec)*1e6 + int64(tv.Usec)) * 1e3
-}
-
-func NsecToTimeval(nsec int64) (tv Timeval) {
-       tv.Sec = int32(nsec / 1e9)
-       tv.Usec = int32(nsec % 1e9 / 1e3)
-       return
-}
-
-type SecurityAttributes struct {
-       Length             uint32
-       SecurityDescriptor uintptr
-       InheritHandle      uint32
-}
-
-type Overlapped struct {
-       Internal     uintptr
-       InternalHigh uintptr
-       Offset       uint32
-       OffsetHigh   uint32
-       HEvent       Handle
-}
-
-type FileNotifyInformation struct {
-       NextEntryOffset uint32
-       Action          uint32
-       FileNameLength  uint32
-       FileName        uint16
-}
-
-type Filetime struct {
-       LowDateTime  uint32
-       HighDateTime uint32
-}
-
-// Nanoseconds returns Filetime ft in nanoseconds
-// since Epoch (00:00:00 UTC, January 1, 1970).
-func (ft *Filetime) Nanoseconds() int64 {
-       // 100-nanosecond intervals since January 1, 1601
-       nsec := int64(ft.HighDateTime)<<32 + int64(ft.LowDateTime)
-       // change starting time to the Epoch (00:00:00 UTC, January 1, 1970)
-       nsec -= 116444736000000000
-       // convert into nanoseconds
-       nsec *= 100
-       return nsec
-}
-
-func NsecToFiletime(nsec int64) (ft Filetime) {
-       // convert into 100-nanosecond
-       nsec /= 100
-       // change starting time to January 1, 1601
-       nsec += 116444736000000000
-       // split into high / low
-       ft.LowDateTime = uint32(nsec & 0xffffffff)
-       ft.HighDateTime = uint32(nsec >> 32 & 0xffffffff)
-       return ft
-}
-
-type Win32finddata struct {
-       FileAttributes    uint32
-       CreationTime      Filetime
-       LastAccessTime    Filetime
-       LastWriteTime     Filetime
-       FileSizeHigh      uint32
-       FileSizeLow       uint32
-       Reserved0         uint32
-       Reserved1         uint32
-       FileName          [MAX_PATH - 1]uint16
-       AlternateFileName [13]uint16
-}
-
-// This is the actual system call structure.
-// Win32finddata is what we committed to in Go 1.
-type win32finddata1 struct {
-       FileAttributes    uint32
-       CreationTime      Filetime
-       LastAccessTime    Filetime
-       LastWriteTime     Filetime
-       FileSizeHigh      uint32
-       FileSizeLow       uint32
-       Reserved0         uint32
-       Reserved1         uint32
-       FileName          [MAX_PATH]uint16
-       AlternateFileName [14]uint16
-}
-
-func copyFindData(dst *Win32finddata, src *win32finddata1) {
-       dst.FileAttributes = src.FileAttributes
-       dst.CreationTime = src.CreationTime
-       dst.LastAccessTime = src.LastAccessTime
-       dst.LastWriteTime = src.LastWriteTime
-       dst.FileSizeHigh = src.FileSizeHigh
-       dst.FileSizeLow = src.FileSizeLow
-       dst.Reserved0 = src.Reserved0
-       dst.Reserved1 = src.Reserved1
-
-       // The src is 1 element bigger than dst, but it must be NUL.
-       copy(dst.FileName[:], src.FileName[:])
-       copy(dst.AlternateFileName[:], src.AlternateFileName[:])
-}
-
-type ByHandleFileInformation struct {
-       FileAttributes     uint32
-       CreationTime       Filetime
-       LastAccessTime     Filetime
-       LastWriteTime      Filetime
-       VolumeSerialNumber uint32
-       FileSizeHigh       uint32
-       FileSizeLow        uint32
-       NumberOfLinks      uint32
-       FileIndexHigh      uint32
-       FileIndexLow       uint32
-}
-
-const (
-       GetFileExInfoStandard = 0
-       GetFileExMaxInfoLevel = 1
-)
-
-type Win32FileAttributeData struct {
-       FileAttributes uint32
-       CreationTime   Filetime
-       LastAccessTime Filetime
-       LastWriteTime  Filetime
-       FileSizeHigh   uint32
-       FileSizeLow    uint32
-}
-
-// ShowWindow constants
-const (
-       // winuser.h
-       SW_HIDE            = 0
-       SW_NORMAL          = 1
-       SW_SHOWNORMAL      = 1
-       SW_SHOWMINIMIZED   = 2
-       SW_SHOWMAXIMIZED   = 3
-       SW_MAXIMIZE        = 3
-       SW_SHOWNOACTIVATE  = 4
-       SW_SHOW            = 5
-       SW_MINIMIZE        = 6
-       SW_SHOWMINNOACTIVE = 7
-       SW_SHOWNA          = 8
-       SW_RESTORE         = 9
-       SW_SHOWDEFAULT     = 10
-       SW_FORCEMINIMIZE   = 11
-)
-
-type StartupInfo struct {
-       Cb            uint32
-       _             *uint16
-       Desktop       *uint16
-       Title         *uint16
-       X             uint32
-       Y             uint32
-       XSize         uint32
-       YSize         uint32
-       XCountChars   uint32
-       YCountChars   uint32
-       FillAttribute uint32
-       Flags         uint32
-       ShowWindow    uint16
-       _             uint16
-       _             *byte
-       StdInput      Handle
-       StdOutput     Handle
-       StdErr        Handle
-}
-
-type ProcessInformation struct {
-       Process   Handle
-       Thread    Handle
-       ProcessId uint32
-       ThreadId  uint32
-}
-
-type ProcessEntry32 struct {
-       Size            uint32
-       Usage           uint32
-       ProcessID       uint32
-       DefaultHeapID   uintptr
-       ModuleID        uint32
-       Threads         uint32
-       ParentProcessID uint32
-       PriClassBase    int32
-       Flags           uint32
-       ExeFile         [MAX_PATH]uint16
-}
-
-type Systemtime struct {
-       Year         uint16
-       Month        uint16
-       DayOfWeek    uint16
-       Day          uint16
-       Hour         uint16
-       Minute       uint16
-       Second       uint16
-       Milliseconds uint16
-}
-
-type Timezoneinformation struct {
-       Bias         int32
-       StandardName [32]uint16
-       StandardDate Systemtime
-       StandardBias int32
-       DaylightName [32]uint16
-       DaylightDate Systemtime
-       DaylightBias int32
-}
-
-// Socket related.
-
-const (
-       AF_UNSPEC  = 0
-       AF_UNIX    = 1
-       AF_INET    = 2
-       AF_INET6   = 23
-       AF_NETBIOS = 17
-
-       SOCK_STREAM    = 1
-       SOCK_DGRAM     = 2
-       SOCK_RAW       = 3
-       SOCK_SEQPACKET = 5
-
-       IPPROTO_IP   = 0
-       IPPROTO_IPV6 = 0x29
-       IPPROTO_TCP  = 6
-       IPPROTO_UDP  = 17
-
-       SOL_SOCKET                = 0xffff
-       SO_REUSEADDR              = 4
-       SO_KEEPALIVE              = 8
-       SO_DONTROUTE              = 16
-       SO_BROADCAST              = 32
-       SO_LINGER                 = 128
-       SO_RCVBUF                 = 0x1002
-       SO_SNDBUF                 = 0x1001
-       SO_UPDATE_ACCEPT_CONTEXT  = 0x700b
-       SO_UPDATE_CONNECT_CONTEXT = 0x7010
-
-       IOC_OUT                            = 0x40000000
-       IOC_IN                             = 0x80000000
-       IOC_VENDOR                         = 0x18000000
-       IOC_INOUT                          = IOC_IN | IOC_OUT
-       IOC_WS2                            = 0x08000000
-       SIO_GET_EXTENSION_FUNCTION_POINTER = IOC_INOUT | IOC_WS2 | 6
-       SIO_KEEPALIVE_VALS                 = IOC_IN | IOC_VENDOR | 4
-       SIO_UDP_CONNRESET                  = IOC_IN | IOC_VENDOR | 12
-
-       // cf. http://support.microsoft.com/default.aspx?scid=kb;en-us;257460
-
-       IP_TOS             = 0x3
-       IP_TTL             = 0x4
-       IP_MULTICAST_IF    = 0x9
-       IP_MULTICAST_TTL   = 0xa
-       IP_MULTICAST_LOOP  = 0xb
-       IP_ADD_MEMBERSHIP  = 0xc
-       IP_DROP_MEMBERSHIP = 0xd
-
-       IPV6_V6ONLY         = 0x1b
-       IPV6_UNICAST_HOPS   = 0x4
-       IPV6_MULTICAST_IF   = 0x9
-       IPV6_MULTICAST_HOPS = 0xa
-       IPV6_MULTICAST_LOOP = 0xb
-       IPV6_JOIN_GROUP     = 0xc
-       IPV6_LEAVE_GROUP    = 0xd
-
-       SOMAXCONN = 0x7fffffff
-
-       TCP_NODELAY = 1
-
-       SHUT_RD   = 0
-       SHUT_WR   = 1
-       SHUT_RDWR = 2
-
-       WSADESCRIPTION_LEN = 256
-       WSASYS_STATUS_LEN  = 128
-)
-
-type WSABuf struct {
-       Len uint32
-       Buf *byte
-}
-
-// Invented values to support what package os expects.
-const (
-       S_IFMT   = 0x1f000
-       S_IFIFO  = 0x1000
-       S_IFCHR  = 0x2000
-       S_IFDIR  = 0x4000
-       S_IFBLK  = 0x6000
-       S_IFREG  = 0x8000
-       S_IFLNK  = 0xa000
-       S_IFSOCK = 0xc000
-       S_ISUID  = 0x800
-       S_ISGID  = 0x400
-       S_ISVTX  = 0x200
-       S_IRUSR  = 0x100
-       S_IWRITE = 0x80
-       S_IWUSR  = 0x80
-       S_IXUSR  = 0x40
-)
-
-const (
-       FILE_TYPE_CHAR    = 0x0002
-       FILE_TYPE_DISK    = 0x0001
-       FILE_TYPE_PIPE    = 0x0003
-       FILE_TYPE_REMOTE  = 0x8000
-       FILE_TYPE_UNKNOWN = 0x0000
-)
-
-type Hostent struct {
-       Name     *byte
-       Aliases  **byte
-       AddrType uint16
-       Length   uint16
-       AddrList **byte
-}
-
-type Protoent struct {
-       Name    *byte
-       Aliases **byte
-       Proto   uint16
-}
-
-const (
-       DNS_TYPE_A       = 0x0001
-       DNS_TYPE_NS      = 0x0002
-       DNS_TYPE_MD      = 0x0003
-       DNS_TYPE_MF      = 0x0004
-       DNS_TYPE_CNAME   = 0x0005
-       DNS_TYPE_SOA     = 0x0006
-       DNS_TYPE_MB      = 0x0007
-       DNS_TYPE_MG      = 0x0008
-       DNS_TYPE_MR      = 0x0009
-       DNS_TYPE_NULL    = 0x000a
-       DNS_TYPE_WKS     = 0x000b
-       DNS_TYPE_PTR     = 0x000c
-       DNS_TYPE_HINFO   = 0x000d
-       DNS_TYPE_MINFO   = 0x000e
-       DNS_TYPE_MX      = 0x000f
-       DNS_TYPE_TEXT    = 0x0010
-       DNS_TYPE_RP      = 0x0011
-       DNS_TYPE_AFSDB   = 0x0012
-       DNS_TYPE_X25     = 0x0013
-       DNS_TYPE_ISDN    = 0x0014
-       DNS_TYPE_RT      = 0x0015
-       DNS_TYPE_NSAP    = 0x0016
-       DNS_TYPE_NSAPPTR = 0x0017
-       DNS_TYPE_SIG     = 0x0018
-       DNS_TYPE_KEY     = 0x0019
-       DNS_TYPE_PX      = 0x001a
-       DNS_TYPE_GPOS    = 0x001b
-       DNS_TYPE_AAAA    = 0x001c
-       DNS_TYPE_LOC     = 0x001d
-       DNS_TYPE_NXT     = 0x001e
-       DNS_TYPE_EID     = 0x001f
-       DNS_TYPE_NIMLOC  = 0x0020
-       DNS_TYPE_SRV     = 0x0021
-       DNS_TYPE_ATMA    = 0x0022
-       DNS_TYPE_NAPTR   = 0x0023
-       DNS_TYPE_KX      = 0x0024
-       DNS_TYPE_CERT    = 0x0025
-       DNS_TYPE_A6      = 0x0026
-       DNS_TYPE_DNAME   = 0x0027
-       DNS_TYPE_SINK    = 0x0028
-       DNS_TYPE_OPT     = 0x0029
-       DNS_TYPE_DS      = 0x002B
-       DNS_TYPE_RRSIG   = 0x002E
-       DNS_TYPE_NSEC    = 0x002F
-       DNS_TYPE_DNSKEY  = 0x0030
-       DNS_TYPE_DHCID   = 0x0031
-       DNS_TYPE_UINFO   = 0x0064
-       DNS_TYPE_UID     = 0x0065
-       DNS_TYPE_GID     = 0x0066
-       DNS_TYPE_UNSPEC  = 0x0067
-       DNS_TYPE_ADDRS   = 0x00f8
-       DNS_TYPE_TKEY    = 0x00f9
-       DNS_TYPE_TSIG    = 0x00fa
-       DNS_TYPE_IXFR    = 0x00fb
-       DNS_TYPE_AXFR    = 0x00fc
-       DNS_TYPE_MAILB   = 0x00fd
-       DNS_TYPE_MAILA   = 0x00fe
-       DNS_TYPE_ALL     = 0x00ff
-       DNS_TYPE_ANY     = 0x00ff
-       DNS_TYPE_WINS    = 0xff01
-       DNS_TYPE_WINSR   = 0xff02
-       DNS_TYPE_NBSTAT  = 0xff01
-)
-
-const (
-       DNS_INFO_NO_RECORDS = 0x251D
-)
-
-const (
-       // flags inside DNSRecord.Dw
-       DnsSectionQuestion   = 0x0000
-       DnsSectionAnswer     = 0x0001
-       DnsSectionAuthority  = 0x0002
-       DnsSectionAdditional = 0x0003
-)
-
-type DNSSRVData struct {
-       Target   *uint16
-       Priority uint16
-       Weight   uint16
-       Port     uint16
-       Pad      uint16
-}
-
-type DNSPTRData struct {
-       Host *uint16
-}
-
-type DNSMXData struct {
-       NameExchange *uint16
-       Preference   uint16
-       Pad          uint16
-}
-
-type DNSTXTData struct {
-       StringCount uint16
-       StringArray [1]*uint16
-}
-
-type DNSRecord struct {
-       Next     *DNSRecord
-       Name     *uint16
-       Type     uint16
-       Length   uint16
-       Dw       uint32
-       Ttl      uint32
-       Reserved uint32
-       Data     [40]byte
-}
-
-const (
-       TF_DISCONNECT         = 1
-       TF_REUSE_SOCKET       = 2
-       TF_WRITE_BEHIND       = 4
-       TF_USE_DEFAULT_WORKER = 0
-       TF_USE_SYSTEM_THREAD  = 16
-       TF_USE_KERNEL_APC     = 32
-)
-
-type TransmitFileBuffers struct {
-       Head       uintptr
-       HeadLength uint32
-       Tail       uintptr
-       TailLength uint32
-}
-
-const (
-       IFF_UP           = 1
-       IFF_BROADCAST    = 2
-       IFF_LOOPBACK     = 4
-       IFF_POINTTOPOINT = 8
-       IFF_MULTICAST    = 16
-)
-
-const SIO_GET_INTERFACE_LIST = 0x4004747F
-
-// TODO(mattn): SockaddrGen is union of sockaddr/sockaddr_in/sockaddr_in6_old.
-// will be fixed to change variable type as suitable.
-
-type SockaddrGen [24]byte
-
-type InterfaceInfo struct {
-       Flags            uint32
-       Address          SockaddrGen
-       BroadcastAddress SockaddrGen
-       Netmask          SockaddrGen
-}
-
-type IpAddressString struct {
-       String [16]byte
-}
-
-type IpMaskString IpAddressString
-
-type IpAddrString struct {
-       Next      *IpAddrString
-       IpAddress IpAddressString
-       IpMask    IpMaskString
-       Context   uint32
-}
-
-const MAX_ADAPTER_NAME_LENGTH = 256
-const MAX_ADAPTER_DESCRIPTION_LENGTH = 128
-const MAX_ADAPTER_ADDRESS_LENGTH = 8
-
-type IpAdapterInfo struct {
-       Next                *IpAdapterInfo
-       ComboIndex          uint32
-       AdapterName         [MAX_ADAPTER_NAME_LENGTH + 4]byte
-       Description         [MAX_ADAPTER_DESCRIPTION_LENGTH + 4]byte
-       AddressLength       uint32
-       Address             [MAX_ADAPTER_ADDRESS_LENGTH]byte
-       Index               uint32
-       Type                uint32
-       DhcpEnabled         uint32
-       CurrentIpAddress    *IpAddrString
-       IpAddressList       IpAddrString
-       GatewayList         IpAddrString
-       DhcpServer          IpAddrString
-       HaveWins            bool
-       PrimaryWinsServer   IpAddrString
-       SecondaryWinsServer IpAddrString
-       LeaseObtained       int64
-       LeaseExpires        int64
-}
-
-const MAXLEN_PHYSADDR = 8
-const MAX_INTERFACE_NAME_LEN = 256
-const MAXLEN_IFDESCR = 256
-
-type MibIfRow struct {
-       Name            [MAX_INTERFACE_NAME_LEN]uint16
-       Index           uint32
-       Type            uint32
-       Mtu             uint32
-       Speed           uint32
-       PhysAddrLen     uint32
-       PhysAddr        [MAXLEN_PHYSADDR]byte
-       AdminStatus     uint32
-       OperStatus      uint32
-       LastChange      uint32
-       InOctets        uint32
-       InUcastPkts     uint32
-       InNUcastPkts    uint32
-       InDiscards      uint32
-       InErrors        uint32
-       InUnknownProtos uint32
-       OutOctets       uint32
-       OutUcastPkts    uint32
-       OutNUcastPkts   uint32
-       OutDiscards     uint32
-       OutErrors       uint32
-       OutQLen         uint32
-       DescrLen        uint32
-       Descr           [MAXLEN_IFDESCR]byte
-}
-
-type CertContext struct {
-       EncodingType uint32
-       EncodedCert  *byte
-       Length       uint32
-       CertInfo     uintptr
-       Store        Handle
-}
-
-type CertChainContext struct {
-       Size                       uint32
-       TrustStatus                CertTrustStatus
-       ChainCount                 uint32
-       Chains                     **CertSimpleChain
-       LowerQualityChainCount     uint32
-       LowerQualityChains         **CertChainContext
-       HasRevocationFreshnessTime uint32
-       RevocationFreshnessTime    uint32
-}
-
-type CertSimpleChain struct {
-       Size                       uint32
-       TrustStatus                CertTrustStatus
-       NumElements                uint32
-       Elements                   **CertChainElement
-       TrustListInfo              uintptr
-       HasRevocationFreshnessTime uint32
-       RevocationFreshnessTime    uint32
-}
-
-type CertChainElement struct {
-       Size              uint32
-       CertContext       *CertContext
-       TrustStatus       CertTrustStatus
-       RevocationInfo    *CertRevocationInfo
-       IssuanceUsage     *CertEnhKeyUsage
-       ApplicationUsage  *CertEnhKeyUsage
-       ExtendedErrorInfo *uint16
-}
-
-type CertRevocationInfo struct {
-       Size             uint32
-       RevocationResult uint32
-       RevocationOid    *byte
-       OidSpecificInfo  uintptr
-       HasFreshnessTime uint32
-       FreshnessTime    uint32
-       CrlInfo          uintptr // *CertRevocationCrlInfo
-}
-
-type CertTrustStatus struct {
-       ErrorStatus uint32
-       InfoStatus  uint32
-}
-
-type CertUsageMatch struct {
-       Type  uint32
-       Usage CertEnhKeyUsage
-}
-
-type CertEnhKeyUsage struct {
-       Length           uint32
-       UsageIdentifiers **byte
-}
-
-type CertChainPara struct {
-       Size                         uint32
-       RequestedUsage               CertUsageMatch
-       RequstedIssuancePolicy       CertUsageMatch
-       URLRetrievalTimeout          uint32
-       CheckRevocationFreshnessTime uint32
-       RevocationFreshnessTime      uint32
-       CacheResync                  *Filetime
-}
-
-type CertChainPolicyPara struct {
-       Size            uint32
-       Flags           uint32
-       ExtraPolicyPara uintptr
-}
-
-type SSLExtraCertChainPolicyPara struct {
-       Size       uint32
-       AuthType   uint32
-       Checks     uint32
-       ServerName *uint16
-}
-
-type CertChainPolicyStatus struct {
-       Size              uint32
-       Error             uint32
-       ChainIndex        uint32
-       ElementIndex      uint32
-       ExtraPolicyStatus uintptr
-}
-
-const (
-       // do not reorder
-       HKEY_CLASSES_ROOT = 0x80000000 + iota
-       HKEY_CURRENT_USER
-       HKEY_LOCAL_MACHINE
-       HKEY_USERS
-       HKEY_PERFORMANCE_DATA
-       HKEY_CURRENT_CONFIG
-       HKEY_DYN_DATA
-
-       KEY_QUERY_VALUE        = 1
-       KEY_SET_VALUE          = 2
-       KEY_CREATE_SUB_KEY     = 4
-       KEY_ENUMERATE_SUB_KEYS = 8
-       KEY_NOTIFY             = 16
-       KEY_CREATE_LINK        = 32
-       KEY_WRITE              = 0x20006
-       KEY_EXECUTE            = 0x20019
-       KEY_READ               = 0x20019
-       KEY_WOW64_64KEY        = 0x0100
-       KEY_WOW64_32KEY        = 0x0200
-       KEY_ALL_ACCESS         = 0xf003f
-)
-
-const (
-       // do not reorder
-       REG_NONE = iota
-       REG_SZ
-       REG_EXPAND_SZ
-       REG_BINARY
-       REG_DWORD_LITTLE_ENDIAN
-       REG_DWORD_BIG_ENDIAN
-       REG_LINK
-       REG_MULTI_SZ
-       REG_RESOURCE_LIST
-       REG_FULL_RESOURCE_DESCRIPTOR
-       REG_RESOURCE_REQUIREMENTS_LIST
-       REG_QWORD_LITTLE_ENDIAN
-       REG_DWORD = REG_DWORD_LITTLE_ENDIAN
-       REG_QWORD = REG_QWORD_LITTLE_ENDIAN
-)
-
-type AddrinfoW struct {
-       Flags     int32
-       Family    int32
-       Socktype  int32
-       Protocol  int32
-       Addrlen   uintptr
-       Canonname *uint16
-       Addr      uintptr
-       Next      *AddrinfoW
-}
-
-const (
-       AI_PASSIVE     = 1
-       AI_CANONNAME   = 2
-       AI_NUMERICHOST = 4
-)
-
-type GUID struct {
-       Data1 uint32
-       Data2 uint16
-       Data3 uint16
-       Data4 [8]byte
-}
-
-var WSAID_CONNECTEX = GUID{
-       0x25a207b9,
-       0xddf3,
-       0x4660,
-       [8]byte{0x8e, 0xe9, 0x76, 0xe5, 0x8c, 0x74, 0x06, 0x3e},
-}
-
-const (
-       FILE_SKIP_COMPLETION_PORT_ON_SUCCESS = 1
-       FILE_SKIP_SET_EVENT_ON_HANDLE        = 2
-)
-
-const (
-       WSAPROTOCOL_LEN    = 255
-       MAX_PROTOCOL_CHAIN = 7
-       BASE_PROTOCOL      = 1
-       LAYERED_PROTOCOL   = 0
-
-       XP1_CONNECTIONLESS           = 0x00000001
-       XP1_GUARANTEED_DELIVERY      = 0x00000002
-       XP1_GUARANTEED_ORDER         = 0x00000004
-       XP1_MESSAGE_ORIENTED         = 0x00000008
-       XP1_PSEUDO_STREAM            = 0x00000010
-       XP1_GRACEFUL_CLOSE           = 0x00000020
-       XP1_EXPEDITED_DATA           = 0x00000040
-       XP1_CONNECT_DATA             = 0x00000080
-       XP1_DISCONNECT_DATA          = 0x00000100
-       XP1_SUPPORT_BROADCAST        = 0x00000200
-       XP1_SUPPORT_MULTIPOINT       = 0x00000400
-       XP1_MULTIPOINT_CONTROL_PLANE = 0x00000800
-       XP1_MULTIPOINT_DATA_PLANE    = 0x00001000
-       XP1_QOS_SUPPORTED            = 0x00002000
-       XP1_UNI_SEND                 = 0x00008000
-       XP1_UNI_RECV                 = 0x00010000
-       XP1_IFS_HANDLES              = 0x00020000
-       XP1_PARTIAL_MESSAGE          = 0x00040000
-       XP1_SAN_SUPPORT_SDP          = 0x00080000
-
-       PFL_MULTIPLE_PROTO_ENTRIES  = 0x00000001
-       PFL_RECOMMENDED_PROTO_ENTRY = 0x00000002
-       PFL_HIDDEN                  = 0x00000004
-       PFL_MATCHES_PROTOCOL_ZERO   = 0x00000008
-       PFL_NETWORKDIRECT_PROVIDER  = 0x00000010
-)
-
-type WSAProtocolInfo struct {
-       ServiceFlags1     uint32
-       ServiceFlags2     uint32
-       ServiceFlags3     uint32
-       ServiceFlags4     uint32
-       ProviderFlags     uint32
-       ProviderId        GUID
-       CatalogEntryId    uint32
-       ProtocolChain     WSAProtocolChain
-       Version           int32
-       AddressFamily     int32
-       MaxSockAddr       int32
-       MinSockAddr       int32
-       SocketType        int32
-       Protocol          int32
-       ProtocolMaxOffset int32
-       NetworkByteOrder  int32
-       SecurityScheme    int32
-       MessageSize       uint32
-       ProviderReserved  uint32
-       ProtocolName      [WSAPROTOCOL_LEN + 1]uint16
-}
-
-type WSAProtocolChain struct {
-       ChainLen     int32
-       ChainEntries [MAX_PROTOCOL_CHAIN]uint32
-}
-
-type TCPKeepalive struct {
-       OnOff    uint32
-       Time     uint32
-       Interval uint32
-}
-
-type symbolicLinkReparseBuffer struct {
-       SubstituteNameOffset uint16
-       SubstituteNameLength uint16
-       PrintNameOffset      uint16
-       PrintNameLength      uint16
-       Flags                uint32
-       PathBuffer           [1]uint16
-}
-
-type mountPointReparseBuffer struct {
-       SubstituteNameOffset uint16
-       SubstituteNameLength uint16
-       PrintNameOffset      uint16
-       PrintNameLength      uint16
-       PathBuffer           [1]uint16
-}
-
-type reparseDataBuffer struct {
-       ReparseTag        uint32
-       ReparseDataLength uint16
-       Reserved          uint16
-
-       // GenericReparseBuffer
-       reparseBuffer byte
-}
-
-const (
-       FSCTL_GET_REPARSE_POINT          = 0x900A8
-       MAXIMUM_REPARSE_DATA_BUFFER_SIZE = 16 * 1024
-       IO_REPARSE_TAG_MOUNT_POINT       = 0xA0000003
-       IO_REPARSE_TAG_SYMLINK           = 0xA000000C
-       SYMBOLIC_LINK_FLAG_DIRECTORY     = 0x1
-)
-
-const (
-       ComputerNameNetBIOS                   = 0
-       ComputerNameDnsHostname               = 1
-       ComputerNameDnsDomain                 = 2
-       ComputerNameDnsFullyQualified         = 3
-       ComputerNamePhysicalNetBIOS           = 4
-       ComputerNamePhysicalDnsHostname       = 5
-       ComputerNamePhysicalDnsDomain         = 6
-       ComputerNamePhysicalDnsFullyQualified = 7
-       ComputerNameMax                       = 8
-)
-
-const (
-       MOVEFILE_REPLACE_EXISTING      = 0x1
-       MOVEFILE_COPY_ALLOWED          = 0x2
-       MOVEFILE_DELAY_UNTIL_REBOOT    = 0x4
-       MOVEFILE_WRITE_THROUGH         = 0x8
-       MOVEFILE_CREATE_HARDLINK       = 0x10
-       MOVEFILE_FAIL_IF_NOT_TRACKABLE = 0x20
-)
-
-const GAA_FLAG_INCLUDE_PREFIX = 0x00000010
-
-const (
-       IF_TYPE_OTHER              = 1
-       IF_TYPE_ETHERNET_CSMACD    = 6
-       IF_TYPE_ISO88025_TOKENRING = 9
-       IF_TYPE_PPP                = 23
-       IF_TYPE_SOFTWARE_LOOPBACK  = 24
-       IF_TYPE_ATM                = 37
-       IF_TYPE_IEEE80211          = 71
-       IF_TYPE_TUNNEL             = 131
-       IF_TYPE_IEEE1394           = 144
-)
-
-type SocketAddress struct {
-       Sockaddr       *syscall.RawSockaddrAny
-       SockaddrLength int32
-}
-
-type IpAdapterUnicastAddress struct {
-       Length             uint32
-       Flags              uint32
-       Next               *IpAdapterUnicastAddress
-       Address            SocketAddress
-       PrefixOrigin       int32
-       SuffixOrigin       int32
-       DadState           int32
-       ValidLifetime      uint32
-       PreferredLifetime  uint32
-       LeaseLifetime      uint32
-       OnLinkPrefixLength uint8
-}
-
-type IpAdapterAnycastAddress struct {
-       Length  uint32
-       Flags   uint32
-       Next    *IpAdapterAnycastAddress
-       Address SocketAddress
-}
-
-type IpAdapterMulticastAddress struct {
-       Length  uint32
-       Flags   uint32
-       Next    *IpAdapterMulticastAddress
-       Address SocketAddress
-}
-
-type IpAdapterDnsServerAdapter struct {
-       Length   uint32
-       Reserved uint32
-       Next     *IpAdapterDnsServerAdapter
-       Address  SocketAddress
-}
-
-type IpAdapterPrefix struct {
-       Length       uint32
-       Flags        uint32
-       Next         *IpAdapterPrefix
-       Address      SocketAddress
-       PrefixLength uint32
-}
-
-type IpAdapterAddresses struct {
-       Length                uint32
-       IfIndex               uint32
-       Next                  *IpAdapterAddresses
-       AdapterName           *byte
-       FirstUnicastAddress   *IpAdapterUnicastAddress
-       FirstAnycastAddress   *IpAdapterAnycastAddress
-       FirstMulticastAddress *IpAdapterMulticastAddress
-       FirstDnsServerAddress *IpAdapterDnsServerAdapter
-       DnsSuffix             *uint16
-       Description           *uint16
-       FriendlyName          *uint16
-       PhysicalAddress       [syscall.MAX_ADAPTER_ADDRESS_LENGTH]byte
-       PhysicalAddressLength uint32
-       Flags                 uint32
-       Mtu                   uint32
-       IfType                uint32
-       OperStatus            uint32
-       Ipv6IfIndex           uint32
-       ZoneIndices           [16]uint32
-       FirstPrefix           *IpAdapterPrefix
-       /* more fields might be present here. */
-}
-
-const (
-       IfOperStatusUp             = 1
-       IfOperStatusDown           = 2
-       IfOperStatusTesting        = 3
-       IfOperStatusUnknown        = 4
-       IfOperStatusDormant        = 5
-       IfOperStatusNotPresent     = 6
-       IfOperStatusLowerLayerDown = 7
-)
-
-// Console related constants used for the mode parameter to SetConsoleMode. See
-// https://docs.microsoft.com/en-us/windows/console/setconsolemode for details.
-
-const (
-       ENABLE_PROCESSED_INPUT        = 0x1
-       ENABLE_LINE_INPUT             = 0x2
-       ENABLE_ECHO_INPUT             = 0x4
-       ENABLE_WINDOW_INPUT           = 0x8
-       ENABLE_MOUSE_INPUT            = 0x10
-       ENABLE_INSERT_MODE            = 0x20
-       ENABLE_QUICK_EDIT_MODE        = 0x40
-       ENABLE_EXTENDED_FLAGS         = 0x80
-       ENABLE_AUTO_POSITION          = 0x100
-       ENABLE_VIRTUAL_TERMINAL_INPUT = 0x200
-
-       ENABLE_PROCESSED_OUTPUT            = 0x1
-       ENABLE_WRAP_AT_EOL_OUTPUT          = 0x2
-       ENABLE_VIRTUAL_TERMINAL_PROCESSING = 0x4
-       DISABLE_NEWLINE_AUTO_RETURN        = 0x8
-       ENABLE_LVB_GRID_WORLDWIDE          = 0x10
-)
-
-type Coord struct {
-       X int16
-       Y int16
-}
-
-type SmallRect struct {
-       Left   int16
-       Top    int16
-       Right  int16
-       Bottom int16
-}
-
-// Used with GetConsoleScreenBuffer to retreive information about a console
-// screen buffer. See
-// https://docs.microsoft.com/en-us/windows/console/console-screen-buffer-info-str
-// for details.
-
-type ConsoleScreenBufferInfo struct {
-       Size              Coord
-       CursorPosition    Coord
-       Attributes        uint16
-       Window            SmallRect
-       MaximumWindowSize Coord
-}