Go: internal/syscall/windows Index | Files | Directories

package windows

import "internal/syscall/windows"

Index

Package Files

mksyscall.go psapi_windows.go reparse_windows.go security_windows.go symlink_windows.go syscall_windows.go zsyscall_windows.go

Constants

const (
    FSCTL_SET_REPARSE_POINT    = 0x000900A4
    IO_REPARSE_TAG_MOUNT_POINT = 0xA0000003

    SYMLINK_FLAG_RELATIVE = 1
)
const (
    SecurityAnonymous      = 0
    SecurityIdentification = 1
    SecurityImpersonation  = 2
    SecurityDelegation     = 3
)
const (
    TOKEN_ADJUST_PRIVILEGES = 0x0020
    SE_PRIVILEGE_ENABLED    = 0x00000002
)
const (
    LG_INCLUDE_INDIRECT  = 0x1
    MAX_PREFERRED_LENGTH = 0xFFFFFFFF
)
const (
    ERROR_INVALID_PARAMETER syscall.Errno = 87

    // symlink support for CreateSymbolicLink() starting with Windows 10 (1703, v10.0.14972)
    SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE = 0x2

    // FileInformationClass values
    FileBasicInfo                  = 0    // FILE_BASIC_INFO
    FileStandardInfo               = 1    // FILE_STANDARD_INFO
    FileNameInfo                   = 2    // FILE_NAME_INFO
    FileStreamInfo                 = 7    // FILE_STREAM_INFO
    FileCompressionInfo            = 8    // FILE_COMPRESSION_INFO
    FileAttributeTagInfo           = 9    // FILE_ATTRIBUTE_TAG_INFO
    FileIdBothDirectoryInfo        = 0xa  // FILE_ID_BOTH_DIR_INFO
    FileIdBothDirectoryRestartInfo = 0xb  // FILE_ID_BOTH_DIR_INFO
    FileRemoteProtocolInfo         = 0xd  // FILE_REMOTE_PROTOCOL_INFO
    FileFullDirectoryInfo          = 0xe  // FILE_FULL_DIR_INFO
    FileFullDirectoryRestartInfo   = 0xf  // FILE_FULL_DIR_INFO
    FileStorageInfo                = 0x10 // FILE_STORAGE_INFO
    FileAlignmentInfo              = 0x11 // FILE_ALIGNMENT_INFO
    FileIdInfo                     = 0x12 // FILE_ID_INFO
    FileIdExtdDirectoryInfo        = 0x13 // FILE_ID_EXTD_DIR_INFO
    FileIdExtdDirectoryRestartInfo = 0x14 // FILE_ID_EXTD_DIR_INFO
)
const (
    ERROR_SHARING_VIOLATION      syscall.Errno = 32
    ERROR_LOCK_VIOLATION         syscall.Errno = 33
    ERROR_NOT_SUPPORTED          syscall.Errno = 50
    ERROR_CALL_NOT_IMPLEMENTED   syscall.Errno = 120
    ERROR_INVALID_NAME           syscall.Errno = 123
    ERROR_LOCK_FAILED            syscall.Errno = 167
    ERROR_NO_UNICODE_TRANSLATION syscall.Errno = 1113
)
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
)
const (
    IfOperStatusUp             = 1
    IfOperStatusDown           = 2
    IfOperStatusTesting        = 3
    IfOperStatusUnknown        = 4
    IfOperStatusDormant        = 5
    IfOperStatusNotPresent     = 6
    IfOperStatusLowerLayerDown = 7
)
const (
    WSA_FLAG_OVERLAPPED        = 0x01
    WSA_FLAG_NO_HANDLE_INHERIT = 0x80

    WSAEMSGSIZE syscall.Errno = 10040

    MSG_PEEK   = 0x2
    MSG_TRUNC  = 0x0100
    MSG_CTRUNC = 0x0200
)
const (
    ComputerNameNetBIOS                   = 0
    ComputerNameDnsHostname               = 1
    ComputerNameDnsDomain                 = 2
    ComputerNameDnsFullyQualified         = 3
    ComputerNamePhysicalNetBIOS           = 4
    ComputerNamePhysicalDnsHostname       = 5
    ComputerNamePhysicalDnsDomain         = 6
    ComputerNamePhysicalDnsFullyQualified = 7
    ComputerNameMax                       = 8

    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 (
    LOCKFILE_FAIL_IMMEDIATELY = 0x00000001
    LOCKFILE_EXCLUSIVE_LOCK   = 0x00000002
)
const (
    FILE_NAME_NORMALIZED = 0x0
    FILE_NAME_OPENED     = 0x8

    VOLUME_NAME_DOS  = 0x0
    VOLUME_NAME_GUID = 0x1
    VOLUME_NAME_NONE = 0x4
    VOLUME_NAME_NT   = 0x2
)
const GAA_FLAG_INCLUDE_PREFIX = 0x00000010
const MB_ERR_INVALID_CHARS = 8
const SE_GROUP_INTEGRITY = 0x00000020
const STYPE_DISKTREE = 0x00

Variables

var WSAID_WSARECVMSG = syscall.GUID{
    Data1: 0xf689d7c8,
    Data2: 0x6f1f,
    Data3: 0x436b,
    Data4: [8]byte{0x8a, 0x53, 0xe5, 0x4f, 0xe3, 0x51, 0xc3, 0x22},
}
var WSAID_WSASENDMSG = syscall.GUID{
    Data1: 0xa441e712,
    Data2: 0x754f,
    Data3: 0x43ca,
    Data4: [8]byte{0x84, 0xa7, 0x0d, 0xee, 0x44, 0xcf, 0x60, 0x6d},
}

func AdjustTokenPrivileges Uses

func AdjustTokenPrivileges(token syscall.Token, disableAllPrivileges bool, newstate *TOKEN_PRIVILEGES, buflen uint32, prevstate *TOKEN_PRIVILEGES, returnlen *uint32) error

func DuplicateTokenEx Uses

func DuplicateTokenEx(hExistingToken syscall.Token, dwDesiredAccess uint32, lpTokenAttributes *syscall.SecurityAttributes, impersonationLevel uint32, tokenType TokenType, phNewToken *syscall.Token) (err error)

func GetACP Uses

func GetACP() (acp uint32)

func GetAdaptersAddresses Uses

func GetAdaptersAddresses(family uint32, flags uint32, reserved uintptr, adapterAddresses *IpAdapterAddresses, sizePointer *uint32) (errcode error)

func GetComputerNameEx Uses

func GetComputerNameEx(nameformat uint32, buf *uint16, n *uint32) (err error)

func GetConsoleCP Uses

func GetConsoleCP() (ccp uint32)

func GetCurrentThread Uses

func GetCurrentThread() (pseudoHandle syscall.Handle, err error)

func GetFileInformationByHandleEx Uses

func GetFileInformationByHandleEx(handle syscall.Handle, class uint32, info *byte, bufsize uint32) (err error)

func GetFinalPathNameByHandle Uses

func GetFinalPathNameByHandle(file syscall.Handle, filePath *uint16, filePathSize uint32, flags uint32) (n uint32, err error)

func GetModuleFileName Uses

func GetModuleFileName(module syscall.Handle, fn *uint16, len uint32) (n uint32, err error)

func GetProcessMemoryInfo Uses

func GetProcessMemoryInfo(handle syscall.Handle, memCounters *PROCESS_MEMORY_COUNTERS, cb uint32) (err error)

func GetProfilesDirectory Uses

func GetProfilesDirectory(dir *uint16, dirLen *uint32) (err error)

func ImpersonateSelf Uses

func ImpersonateSelf(impersonationlevel uint32) (err error)

func LoadGetFinalPathNameByHandle Uses

func LoadGetFinalPathNameByHandle() error

func LockFileEx Uses

func LockFileEx(file syscall.Handle, flags uint32, reserved uint32, bytesLow uint32, bytesHigh uint32, overlapped *syscall.Overlapped) (err error)

func LookupPrivilegeValue Uses

func LookupPrivilegeValue(systemname *uint16, name *uint16, luid *LUID) (err error)

func MoveFileEx Uses

func MoveFileEx(from *uint16, to *uint16, flags uint32) (err error)

func MultiByteToWideChar Uses

func MultiByteToWideChar(codePage uint32, dwFlags uint32, str *byte, nstr int32, wchar *uint16, nwchar int32) (nwrite int32, err error)

func NetShareAdd Uses

func NetShareAdd(serverName *uint16, level uint32, buf *byte, parmErr *uint16) (neterr error)

func NetShareDel Uses

func NetShareDel(serverName *uint16, netName *uint16, reserved uint32) (neterr error)

func NetUserGetLocalGroups Uses

func NetUserGetLocalGroups(serverName *uint16, userName *uint16, level uint32, flags uint32, buf **byte, prefMaxLen uint32, entriesRead *uint32, totalEntries *uint32) (neterr error)

func OpenThreadToken Uses

func OpenThreadToken(h syscall.Handle, access uint32, openasself bool, token *syscall.Token) (err error)

func Rename Uses

func Rename(oldpath, newpath string) error

func RevertToSelf Uses

func RevertToSelf() (err error)

func SetTokenInformation Uses

func SetTokenInformation(tokenHandle syscall.Token, tokenInformationClass uint32, tokenInformation uintptr, tokenInformationLength uint32) (err error)

func UnlockFileEx Uses

func UnlockFileEx(file syscall.Handle, reserved uint32, bytesLow uint32, bytesHigh uint32, overlapped *syscall.Overlapped) (err error)

func WSARecvMsg Uses

func WSARecvMsg(fd syscall.Handle, msg *WSAMsg, bytesReceived *uint32, overlapped *syscall.Overlapped, croutine *byte) error

func WSASendMsg Uses

func WSASendMsg(fd syscall.Handle, msg *WSAMsg, flags uint32, bytesSent *uint32, overlapped *syscall.Overlapped, croutine *byte) error

func WSASocket Uses

func WSASocket(af int32, typ int32, protocol int32, protinfo *syscall.WSAProtocolInfo, group uint32, flags uint32) (handle syscall.Handle, err error)

type FILE_ATTRIBUTE_TAG_INFO Uses

type FILE_ATTRIBUTE_TAG_INFO struct {
    FileAttributes uint32
    ReparseTag     uint32
}

type IpAdapterAddresses Uses

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
}

type IpAdapterAnycastAddress Uses

type IpAdapterAnycastAddress struct {
    Length  uint32
    Flags   uint32
    Next    *IpAdapterAnycastAddress
    Address SocketAddress
}

type IpAdapterDnsServerAdapter Uses

type IpAdapterDnsServerAdapter struct {
    Length   uint32
    Reserved uint32
    Next     *IpAdapterDnsServerAdapter
    Address  SocketAddress
}

type IpAdapterMulticastAddress Uses

type IpAdapterMulticastAddress struct {
    Length  uint32
    Flags   uint32
    Next    *IpAdapterMulticastAddress
    Address SocketAddress
}

type IpAdapterPrefix Uses

type IpAdapterPrefix struct {
    Length       uint32
    Flags        uint32
    Next         *IpAdapterPrefix
    Address      SocketAddress
    PrefixLength uint32
}

type IpAdapterUnicastAddress Uses

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 LUID Uses

type LUID struct {
    LowPart  uint32
    HighPart int32
}

type LUID_AND_ATTRIBUTES Uses

type LUID_AND_ATTRIBUTES struct {
    Luid       LUID
    Attributes uint32
}

type LocalGroupUserInfo0 Uses

type LocalGroupUserInfo0 struct {
    Name *uint16
}

type MountPointReparseBuffer Uses

type MountPointReparseBuffer struct {
    // The integer that contains the offset, in bytes,
    // of the substitute name string in the PathBuffer array,
    // computed as an offset from byte 0 of PathBuffer. Note that
    // this offset must be divided by 2 to get the array index.
    SubstituteNameOffset uint16
    // The integer that contains the length, in bytes, of the
    // substitute name string. If this string is null-terminated,
    // SubstituteNameLength does not include the Unicode null character.
    SubstituteNameLength uint16
    // PrintNameOffset is similar to SubstituteNameOffset.
    PrintNameOffset uint16
    // PrintNameLength is similar to SubstituteNameLength.
    PrintNameLength uint16
    PathBuffer      [1]uint16
}

type PROCESS_MEMORY_COUNTERS Uses

type PROCESS_MEMORY_COUNTERS struct {
    CB                         uint32
    PageFaultCount             uint32
    PeakWorkingSetSize         uintptr
    WorkingSetSize             uintptr
    QuotaPeakPagedPoolUsage    uintptr
    QuotaPagedPoolUsage        uintptr
    QuotaPeakNonPagedPoolUsage uintptr
    QuotaNonPagedPoolUsage     uintptr
    PagefileUsage              uintptr
    PeakPagefileUsage          uintptr
}

type REPARSE_DATA_BUFFER_HEADER Uses

type REPARSE_DATA_BUFFER_HEADER struct {
    ReparseTag uint32
    // The size, in bytes, of the reparse data that follows
    // the common portion of the REPARSE_DATA_BUFFER element.
    // This value is the length of the data starting at the
    // SubstituteNameOffset field.
    ReparseDataLength uint16
    Reserved          uint16
}

REPARSE_DATA_BUFFER_HEADER is a common part of REPARSE_DATA_BUFFER structure.

type SHARE_INFO_2 Uses

type SHARE_INFO_2 struct {
    Netname     *uint16
    Type        uint32
    Remark      *uint16
    Permissions uint32
    MaxUses     uint32
    CurrentUses uint32
    Path        *uint16
    Passwd      *uint16
}

type SID_AND_ATTRIBUTES Uses

type SID_AND_ATTRIBUTES struct {
    Sid        *syscall.SID
    Attributes uint32
}

type SocketAddress Uses

type SocketAddress struct {
    Sockaddr       *syscall.RawSockaddrAny
    SockaddrLength int32
}

type SymbolicLinkReparseBuffer Uses

type SymbolicLinkReparseBuffer struct {
    // The integer that contains the offset, in bytes,
    // of the substitute name string in the PathBuffer array,
    // computed as an offset from byte 0 of PathBuffer. Note that
    // this offset must be divided by 2 to get the array index.
    SubstituteNameOffset uint16
    // The integer that contains the length, in bytes, of the
    // substitute name string. If this string is null-terminated,
    // SubstituteNameLength does not include the Unicode null character.
    SubstituteNameLength uint16
    // PrintNameOffset is similar to SubstituteNameOffset.
    PrintNameOffset uint16
    // PrintNameLength is similar to SubstituteNameLength.
    PrintNameLength uint16
    // Flags specifies whether the substitute name is a full path name or
    // a path name relative to the directory containing the symbolic link.
    Flags      uint32
    PathBuffer [1]uint16
}

type TOKEN_MANDATORY_LABEL Uses

type TOKEN_MANDATORY_LABEL struct {
    Label SID_AND_ATTRIBUTES
}

func (*TOKEN_MANDATORY_LABEL) Size Uses

func (tml *TOKEN_MANDATORY_LABEL) Size() uint32

type TOKEN_PRIVILEGES Uses

type TOKEN_PRIVILEGES struct {
    PrivilegeCount uint32
    Privileges     [1]LUID_AND_ATTRIBUTES
}

type TokenType Uses

type TokenType uint32
const (
    TokenPrimary       TokenType = 1
    TokenImpersonation TokenType = 2
)

type UserInfo4 Uses

type UserInfo4 struct {
    Name            *uint16
    Password        *uint16
    PasswordAge     uint32
    Priv            uint32
    HomeDir         *uint16
    Comment         *uint16
    Flags           uint32
    ScriptPath      *uint16
    AuthFlags       uint32
    FullName        *uint16
    UsrComment      *uint16
    Parms           *uint16
    Workstations    *uint16
    LastLogon       uint32
    LastLogoff      uint32
    AcctExpires     uint32
    MaxStorage      uint32
    UnitsPerWeek    uint32
    LogonHours      *byte
    BadPwCount      uint32
    NumLogons       uint32
    LogonServer     *uint16
    CountryCode     uint32
    CodePage        uint32
    UserSid         *syscall.SID
    PrimaryGroupID  uint32
    Profile         *uint16
    HomeDirDrive    *uint16
    PasswordExpired uint32
}

type WSAMsg Uses

type WSAMsg struct {
    Name        *syscall.RawSockaddrAny
    Namelen     int32
    Buffers     *syscall.WSABuf
    BufferCount uint32
    Control     syscall.WSABuf
    Flags       uint32
}

Directories

PathSynopsis
registryPackage registry provides access to the Windows registry.
sysdllPackage sysdll is an internal leaf package that records and reports which Windows DLL names are used by Go itself.

Package windows imports 4 packages (graph). Updated 2019-05-08 with GOOS=windows. Refresh now. Tools for package owners.