types

package
v0.0.0-...-79e174a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 25, 2013 License: BSD-3-Clause Imports: 2 Imported by: 0

Documentation

Overview

Package types provides API structs, enums and other types.

Index

Constants

View Source
const (
	HW_PROFILE_GUIDLEN = 39
	MAX_PROFILE_LEN    = 80
)
View Source
const (
	WinNullSid = iota
	WinWorldSid
	WinLocalSid
	WinCreatorOwnerSid
	WinCreatorGroupSid
	WinCreatorOwnerServerSid
	WinCreatorGroupServerSid
	WinNtAuthoritySid
	WinDialupSid
	WinNetworkSid
	WinBatchSid
	WinInteractiveSid
	WinServiceSid
	WinAnonymousSid
	WinProxySid
	WinEnterpriseControllersSid
	WinSelfSid
	WinAuthenticatedUserSid
	WinRestrictedCodeSid
	WinTerminalServerSid
	WinRemoteLogonIdSid
	WinLogonIdsSid
	WinLocalSystemSid
	WinLocalServiceSid
	WinNetworkServiceSid
	WinBuiltinDomainSid
	WinBuiltinAdministratorsSid
	WinBuiltinUsersSid
	WinBuiltinGuestsSid
	WinBuiltinPowerUsersSid
	WinBuiltinAccountOperatorsSid
	WinBuiltinSystemOperatorsSid
	WinBuiltinPrintOperatorsSid
	WinBuiltinBackupOperatorsSid
	WinBuiltinReplicatorSid
	WinBuiltinPreWindows2000CompatibleAccessSid
	WinBuiltinRemoteDesktopUsersSid
	WinBuiltinNetworkConfigurationOperatorsSid
	WinAccountAdministratorSid
	WinAccountGuestSid
	WinAccountKrbtgtSid
	WinAccountDomainAdminsSid
	WinAccountDomainUsersSid
	WinAccountDomainGuestsSid
	WinAccountComputersSid
	WinAccountControllersSid
	WinAccountCertAdminsSid
	WinAccountSchemaAdminsSid
	WinAccountEnterpriseAdminsSid
	WinAccountPolicyAdminsSid
	WinAccountRasAndIasServersSid
	WinNTLMAuthenticationSid
	WinDigestAuthenticationSid
	WinSChannelAuthenticationSid
	WinThisOrganizationSid
	WinOtherOrganizationSid
	WinBuiltinIncomingForestTrustBuildersSid
	WinBuiltinPerfMonitoringUsersSid
	WinBuiltinPerfLoggingUsersSid
	WinBuiltinAuthorizationAccessSid
	WinBuiltinTerminalServerLicenseServersSid
	WinBuiltinDCOMUsersSid
)
View Source
const (
	MAX_NATURAL_ALIGNMENT       = 4
	MEMORY_ALLOCATION_ALIGNMENT = 8
)
View Source
const (
	CCHDEVICENAME = 32
	CCHFORMNAME   = 32
)
View Source
const (
	RIM_TYPEMOUSE = iota
	RIM_TYPEKEYBOARD
	RIM_TYPEHID
)
View Source
const (
	LAYERED_PROTOCOL = iota
	BASE_PROTOCOL
)
View Source
const (
	WS_OVERLAPPED WINDOW_STYLE = 0

	WS_MAXIMIZEBOX      = WS_TABSTOP
	WS_MINIMIZEBOX      = WS_GROUP
	WS_CAPTION          = WS_BORDER | WS_DLGFRAME
	WS_TILED            = WS_OVERLAPPED
	WS_ICONIC           = WS_MINIMIZE
	WS_SIZEBOX          = WS_THICKFRAME
	WS_TILEDWINDOW      = WS_OVERLAPPEDWINDOW
	WS_OVERLAPPEDWINDOW = WS_OVERLAPPED | WS_CAPTION |
		WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZEBOX |
		WS_MAXIMIZEBOX
	WS_POPUPWINDOW = WS_POPUP | WS_BORDER | WS_SYSMENU
	WS_CHILDWINDOW = WS_CHILD
)
View Source
const (
	BS_TEXT     WINDOW_STYLE = 0
	BS_LEFTTEXT              = 0x10 << iota
	BS_ICON
	BS_BITMAP
	BS_LEFT
	BS_RIGHT
	BS_TOP
	BS_BOTTOM
	BS_PUSHLIKE
	BS_MULTILINE
	BS_NOTIFY
	BS_FLAT
	BS_CENTER      = BS_LEFT | BS_RIGHT
	BS_VCENTER     = BS_TOP | BS_BOTTOM
	BS_RIGHTBUTTON = BS_LEFTTEXT
)
View Source
const (
	SBS_VERT WINDOW_STYLE = 1 << iota
	SBS_TOPALIGN
	SBS_BOTTOMALIGN
	SBS_SIZEBOX
	SBS_SIZEGRIP
	SBS_HORZ                    = SBS_VERT
	SBS_LEFTALIGN               = SBS_TOPALIGN
	SBS_RIGHTALIGN              = SBS_BOTTOMALIGN
	SBS_SIZEBOXTOPLEFTALIGN     = SBS_TOPALIGN
	SBS_SIZEBOXBOTTOMRIGHTALIGN = SBS_BOTTOMALIGN
)
View Source
const (
	MB_DEFBUTTON1 MSGBOX_TYPE = 0
	MB_DEFBUTTON4 MSGBOX_TYPE = 0x300
	MB_APPLMODAL  MSGBOX_TYPE = 0

	MB_TYPEMASK MSGBOX_TYPE = 0xF
	MB_ICONMASK MSGBOX_TYPE = 0xF0
	MB_DEFMASK  MSGBOX_TYPE = 0xF00
	MB_MODEMASK MSGBOX_TYPE = 0x3000
	MB_MISCMASK MSGBOX_TYPE = 0xC000

	MB_ICONWARNING     = MB_ICONEXCLAMATION
	MB_ICONERROR       = MB_ICONHAND
	MB_ICONINFORMATION = MB_ICONASTERISK
	MB_ICONSTOP        = MB_ICONHAND
)
View Source
const (
	GWL_WNDPROC    = -4
	GWL_HINSTANCE  = -6
	GWL_HWNDPARENT = -8
	GWL_STYLE      = -16
	GWL_EXSTYLE    = -20
	GWL_USERDATA   = -21
	GWL_ID         = -12
)
View Source
const (
	COLOR_SCROLLBAR = iota
	COLOR_BACKGROUND
	COLOR_ACTIVECAPTION
	COLOR_INACTIVECAPTION
	COLOR_MENU
	COLOR_WINDOW
	COLOR_WINDOWFRAME
	COLOR_MENUTEXT
	COLOR_WINDOWTEXT
	COLOR_CAPTIONTEXT
	COLOR_ACTIVEBORDER
	COLOR_INACTIVEBORDER
	COLOR_APPWORKSPACE
	COLOR_HIGHLIGHT
	COLOR_HIGHLIGHTTEXT
	COLOR_BTNFACE
	COLOR_BTNSHADOW
	COLOR_GRAYTEXT
	COLOR_BTNTEXT
	COLOR_INACTIVECAPTIONTEXT
	COLOR_BTNHIGHLIGHT
	COLOR_3DDKSHADOW
	COLOR_3DLIGHT
	COLOR_INFOTEXT
	COLOR_INFOBK

	COLOR_HOTLIGHT
	COLOR_GRADIENTACTIVECAPTION
	COLOR_GRADIENTINACTIVECAPTION
	COLOR_MENUHILIGHT
	COLOR_MENUBAR
	COLOR_DESKTOP     = COLOR_BACKGROUND
	COLOR_3DFACE      = COLOR_BTNFACE
	COLOR_3DSHADOW    = COLOR_BTNSHADOW
	COLOR_3DHIGHLIGHT = COLOR_BTNHIGHLIGHT
	COLOR_3DHILIGHT   = COLOR_BTNHIGHLIGHT
	COLOR_BTNHILIGHT  = COLOR_BTNHIGHLIGHT
)
View Source
const (
	SW_HIDE = iota
	SW_SHOWNORMAL
	SW_SHOWMINIMIZED
	SW_SHOWMAXIMIZED
	SW_SHOWNOACTIVATE
	SW_SHOW
	SW_MINIMIZE
	SW_SHOWMINNOACTIVE
	SW_SHOWNA
	SW_RESTORE
	SW_SHOWDEFAULT
	SW_FORCEMINIMIZE
	SW_NORMAL   = SW_SHOWNORMAL
	SW_MAXIMIZE = SW_SHOWMAXIMIZED
	SW_MAX      = SW_FORCEMINIMIZE
)
View Source
const (
	HIDE_WINDOW = iota
	SHOW_OPENWINDOW
	SHOW_ICONWINDOW
	SHOW_FULLSCREEN
	SHOW_OPENNOACTIVATE
)
View Source
const (
	MF_INSERT = 0x00000000
	MF_CHANGE = 0x00000080
	MF_APPEND = 0x00000100
	MF_DELETE = 0x00000200
	MF_REMOVE = 0x00001000

	MF_BYCOMMAND  = 0x00000000
	MF_BYPOSITION = 0x00000400

	MF_SEPARATOR = 0x00000800

	MF_ENABLED  = 0x00000000
	MF_GRAYED   = 0x00000001
	MF_DISABLED = 0x00000002

	MF_UNCHECKED       = 0x00000000
	MF_CHECKED         = 0x00000008
	MF_USECHECKBITMAPS = 0x00000200

	MF_STRING    = 0x00000000
	MF_BITMAP    = 0x00000004
	MF_OWNERDRAW = 0x00000100

	MF_POPUP        = 0x00000010
	MF_MENUBARBREAK = 0x00000020
	MF_MENUBREAK    = 0x00000040

	MF_UNHILITE = 0x00000000
	MF_HILITE   = 0x00000080

	MF_DEFAULT      = 0x00001000
	MF_SYSMENU      = 0x00002000
	MF_HELP         = 0x00004000
	MF_RIGHTJUSTIFY = 0x00004000
	MF_MOUSESELECT  = 0x00008000

	MFT_STRING       = MF_STRING
	MFT_BITMAP       = MF_BITMAP
	MFT_MENUBARBREAK = MF_MENUBARBREAK
	MFT_MENUBREAK    = MF_MENUBREAK
	MFT_OWNERDRAW    = MF_OWNERDRAW
	MFT_RADIOCHECK   = 0x00000200
	MFT_SEPARATOR    = MF_SEPARATOR
	MFT_RIGHTORDER   = 0x00002000
	MFT_RIGHTJUSTIFY = MF_RIGHTJUSTIFY

	MFS_GRAYED    = 0x00000003
	MFS_DISABLED  = MFS_GRAYED
	MFS_CHECKED   = MF_CHECKED
	MFS_HILITE    = MF_HILITE
	MFS_ENABLED   = MF_ENABLED
	MFS_UNCHECKED = MF_UNCHECKED
	MFS_UNHILITE  = MF_UNHILITE
	MFS_DEFAULT   = MF_DEFAULT
)
View Source
const (
	FILE_FLAG_FIRST_PIPE_INSTANCE = 0x080000 << iota
	FILE_FLAG_OPEN_NO_RECALL
	FILE_FLAG_OPEN_REPARSE_POINT

	FILE_FLAG_POSIX_SEMANTICS
	FILE_FLAG_BACKUP_SEMANTICS
	FILE_FLAG_DELETE_ON_CLOSE
	FILE_FLAG_SEQUENTIAL_SCAN
	FILE_FLAG_RANDOM_ACCESS
	FILE_FLAG_NO_BUFFERING
	FILE_FLAG_OVERLAPPED
	FILE_FLAG_WRITE_THROUGH
)
View Source
const (
	CREATE_NEW = iota + 1
	CREATE_ALWAYS
	OPEN_EXISTING
	OPEN_ALWAYS
	TRUNCATE_EXISTING
)
View Source
const (
	FILE_SHARE_READ = 1 << iota
	FILE_SHARE_WRITE
	FILE_SHARE_DELETE
)
View Source
const (
	FILE_ATTRIBUTE_READONLY = 1 << iota
	FILE_ATTRIBUTE_HIDDEN
	FILE_ATTRIBUTE_SYSTEM

	FILE_ATTRIBUTE_DIRECTORY
	FILE_ATTRIBUTE_ARCHIVE
	FILE_ATTRIBUTE_DEVICE
	FILE_ATTRIBUTE_NORMAL
	FILE_ATTRIBUTE_TEMPORARY
	FILE_ATTRIBUTE_SPARSE_FILE
	FILE_ATTRIBUTE_REPARSE_POINT
	FILE_ATTRIBUTE_COMPRESSED
	FILE_ATTRIBUTE_OFFLINE
	FILE_ATTRIBUTE_NOT_CONTENT_INDEXED
	FILE_ATTRIBUTE_ENCRYPTED
)
View Source
const (
	SECURITY_ANONYMOUS        = SecurityAnonymous << 16
	SECURITY_IDENTIFICATION   = SecurityIdentification << 16
	SECURITY_IMPERSONATION    = SecurityImpersonation << 16
	SECURITY_DELEGATION       = SecurityDelegation << 16
	SECURITY_CONTEXT_TRACKING = 0x40000
	SECURITY_EFFECTIVE_ONLY   = 0x80000
	SECURITY_SQOS_PRESENT     = 0x100000
	SECURITY_VALID_SQOS_FLAGS = 0x1F0000
)
View Source
const ANYSIZE_ARRAY = 1 //TODO(t):?
View Source
const CCHILDREN_SCROLLBAR = 5
View Source
const CCHILDREN_TITLEBAR = 5
View Source
const CW_USEDEFAULT int = -0x80000000
View Source
const EXCEPTION_MAXIMUM_PARAMETERS = 15
View Source
const FD_MAX_EVENTS = 10
View Source
const FD_SETSIZE = 64
View Source
const LF_FACESIZE = 32
View Source
const LF_FULLFACESIZE = 64
View Source
const MAXIMUM_SUPPORTED_EXTENSION = 512
View Source
const MAXPNAMELEN = 32
View Source
const MAX_DEFAULTCHAR = 2
View Source
const MAX_JOYSTICKOEMVXDNAME = 260
View Source
const MAX_LEADBYTES = 12
View Source
const MAX_PATH = 1 //TODO(t):?
View Source
const MAX_PROTOCOL_CHAIN = 7
View Source
const MIXER_LONG_NAME_CHARS = 64
View Source
const MIXER_SHORT_NAME_CHARS = 16
View Source
const MM_MAX_NUMAXES = 16
View Source
const NCBNAMSZ = 16
View Source
const OFS_MAXPATHNAME = 128
View Source
const SIZE_OF_80387_REGISTERS = 80
View Source
const WSADESCRIPTION_LEN = 256
View Source
const WSAPROTOCOL_LEN = 255
View Source
const WSASYS_STATUS_LEN = 128

Variables

View Source
var (
	IDI_APPLICATION = (*VString)(unsafe.Pointer(uintptr(32512)))
	IDI_HAND        = (*VString)(unsafe.Pointer(uintptr(32513)))
	IDI_QUESTION    = (*VString)(unsafe.Pointer(uintptr(32514)))
	IDI_EXCLAMATION = (*VString)(unsafe.Pointer(uintptr(32515)))
	IDI_ASTERISK    = (*VString)(unsafe.Pointer(uintptr(32516)))
	IDI_WARNING     = IDI_EXCLAMATION
	IDI_ERROR       = IDI_HAND
	IDI_INFORMATION = IDI_ASTERISK
)
View Source
var (
	OCR_NORMAL      = (*VString)(unsafe.Pointer(uintptr(32512)))
	OCR_IBEAM       = (*VString)(unsafe.Pointer(uintptr(32513)))
	OCR_WAIT        = (*VString)(unsafe.Pointer(uintptr(32514)))
	OCR_CROSS       = (*VString)(unsafe.Pointer(uintptr(32515)))
	OCR_UP          = (*VString)(unsafe.Pointer(uintptr(32516)))
	OCR_SIZENWSE    = (*VString)(unsafe.Pointer(uintptr(32642)))
	OCR_SIZENESW    = (*VString)(unsafe.Pointer(uintptr(32643)))
	OCR_SIZEWE      = (*VString)(unsafe.Pointer(uintptr(32644)))
	OCR_SIZENS      = (*VString)(unsafe.Pointer(uintptr(32645)))
	OCR_SIZEALL     = (*VString)(unsafe.Pointer(uintptr(32646)))
	OCR_NO          = (*VString)(unsafe.Pointer(uintptr(32648)))
	OCR_HAND        = (*VString)(unsafe.Pointer(uintptr(32649)))
	OCR_APPSTARTING = (*VString)(unsafe.Pointer(uintptr(32650)))
)
View Source
var (
	IDC_ARROW       = (*VString)(unsafe.Pointer(uintptr(32512))) // MAKEINTRESOURCE(32512)
	IDC_IBEAM       = (*VString)(unsafe.Pointer(uintptr(32513)))
	IDC_WAIT        = (*VString)(unsafe.Pointer(uintptr(32514)))
	IDC_CROSS       = (*VString)(unsafe.Pointer(uintptr(32515)))
	IDC_UPARROW     = (*VString)(unsafe.Pointer(uintptr(32516)))
	IDC_SIZENWSE    = (*VString)(unsafe.Pointer(uintptr(32642)))
	IDC_SIZENESW    = (*VString)(unsafe.Pointer(uintptr(32643)))
	IDC_SIZEWE      = (*VString)(unsafe.Pointer(uintptr(32644)))
	IDC_SIZENS      = (*VString)(unsafe.Pointer(uintptr(32645)))
	IDC_SIZEALL     = (*VString)(unsafe.Pointer(uintptr(32646)))
	IDC_NO          = (*VString)(unsafe.Pointer(uintptr(32648)))
	IDC_HAND        = (*VString)(unsafe.Pointer(uintptr(32649)))
	IDC_APPSTARTING = (*VString)(unsafe.Pointer(uintptr(32650)))
	IDC_HELP        = (*VString)(unsafe.Pointer(uintptr(32651)))
)

Functions

func MAKEINTRESOURCE

func MAKEINTRESOURCE(i WORD) *VString

Types

type ABC

type ABC struct {
	A int
	B UINT
	C int
}

type ABCFLOAT

type ABCFLOAT struct{ A, B, C FLOAT }

type ABORTPROC

type ABORTPROC func(HDC, int) BOOL

type ACCEL

type ACCEL struct {
	FVirt FVIRT
	Key   WORD
	Cmd   DWORD
}

type ACCESSTIMEOUT

type ACCESSTIMEOUT struct {
	Size        UINT
	Flags       DWORD
	TimeOutMSec DWORD
}

type ACCESS_MASK

type ACCESS_MASK DWORD

type ACL

type ACL struct {
	AclRevision BYTE
	Sbz1        BYTE
	AclSize     WORD
	AceCount    WORD
	Sbz2        WORD
}

type ACL_INFORMATION_CLASS

type ACL_INFORMATION_CLASS enum
const (
	AclRevisionInformation ACL_INFORMATION_CLASS = iota + 1
	AclSizeInformation
)

type ACTCTX

type ACTCTX struct {
	Size                  ULONG
	Flags                 DWORD
	Source                *VString
	ProcessorArchitecture USHORT
	LangId                LANGID
	AssemblyDirectory     *VString
	ResourceName          *VString
	ApplicationName       *VString
	Module                HMODULE
}

type ACTCTX_SECTION_KEYED_DATA

type ACTCTX_SECTION_KEYED_DATA struct {
	Size                    ULONG
	DataFormatVersion       ULONG
	Data                    *VOID
	Length                  ULONG
	SectionGlobalData       *VOID
	SectionGlobalDataLength ULONG
	SectionBase             *VOID
	SectionTotalLength      ULONG
	ActCtx                  HANDLE
	AssemblyRosterIndex     ULONG
	// 2600 stops here
	Flags            ULONG
	AssemblyMetadata ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA
}

type ACTCTX_SECTION_KEYED_DATA_2600

type ACTCTX_SECTION_KEYED_DATA_2600 struct {
	Size                    ULONG
	DataFormatVersion       ULONG
	Data                    *VOID
	Length                  ULONG
	SectionGlobalData       *VOID
	SectionGlobalDataLength ULONG
	SectionBase             *VOID
	SectionTotalLength      ULONG
	ActCtx                  HANDLE
	AssemblyRosterIndex     ULONG
}

type ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA

type ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA struct {
	Information             *VOID
	SectionBase             *VOID
	SectionLength           ULONG
	SectionGlobalDataBase   *VOID
	SectionGlobalDataLength ULONG
}

type ACTIVATION_CONTEXT_BASIC_INFORMATION

type ACTIVATION_CONTEXT_BASIC_INFORMATION struct {
	ActCtx HANDLE
	Flags  DWORD
}

type AChar

type AChar Char

type AFPROTOCOLS

type AFPROTOCOLS struct {
	AddressFamily INT
	Protocol      INT
}

type ALG_ID

type ALG_ID Unsigned_int

type ALTTABINFO

type ALTTABINFO struct {
	Size     DWORD
	Items    int
	Columns  int
	Rows     int
	ColFocus int
	RowFocus int
	CXItem   int
	CYItem   int
	Start    POINT
}

type ANIMATIONINFO

type ANIMATIONINFO struct {
	Size       UINT
	MinAnimate int
}

type APCFUNC

type APCFUNC func(Param ULONG_PTR)

type AString

type AString *string

type ATOM

type ATOM WORD

type AUDIT_EVENT_TYPE

type AUDIT_EVENT_TYPE enum
const (
	AuditEventObjectAccess AUDIT_EVENT_TYPE = iota
	AuditEventDirectoryServiceAccess
)

type AUXCAPSA

type AUXCAPSA struct {
	Mid           WORD
	Pid           WORD
	DriverVersion MMVERSION
	Pname         [MAXPNAMELEN]AChar
	Technology    WORD

	Support DWORD
	// contains filtered or unexported fields
}

type AUXCAPSW

type AUXCAPSW struct {
	Mid           WORD
	Pid           WORD
	DriverVersion MMVERSION
	Pname         [MAXPNAMELEN]WChar
	Technology    WORD

	Support DWORD
	// contains filtered or unexported fields
}

type BIND_OPTS

type BIND_OPTS struct {
	Struct            DWORD
	Flags             DWORD
	Mode              DWORD
	TickCountDeadline DWORD
}

type BITMAP

type BITMAP struct {
	Type       LONG
	Width      LONG
	Height     LONG
	WidthBytes LONG
	Planes     WORD
	BitsPixel  WORD
	Bits       *VOID
}

type BITMAPINFO

type BITMAPINFO struct {
	Header BITMAPINFOHEADER
	Colors [1]RGBQUAD
}

type BITMAPINFOHEADER

type BITMAPINFOHEADER struct {
	Size          DWORD
	Width         LONG
	Height        LONG
	Planes        WORD
	BitCount      WORD
	Compression   DWORD
	SizeImage     DWORD
	XPelsPerMeter LONG
	YPelsPerMeter LONG
	ClrUsed       DWORD
	ClrImportant  DWORD
}

type BLENDFUNCTION

type BLENDFUNCTION struct {
	BlendOp             BYTE
	BlendFlags          BYTE
	SourceConstantAlpha BYTE
	AlphaFormat         BYTE
}

type BLOB

type BLOB struct {
	Size     ULONG
	BlobData *BYTE
}

type BOOL

type BOOL int

type BOOLEAN

type BOOLEAN byte

type BSMINFO

type BSMINFO struct {
	Size UINT
	Desk HDESK
	Wnd  HWND
	Luid LUID
}

type BSM_FLAGS

type BSM_FLAGS DWORD
const (
	BSF_QUERY BSM_FLAGS = 1 << iota
	BSF_IGNORECURRENTTASK
	BSF_FLUSHDISK
	BSF_NOHANG
	BSF_POSTMESSAGE
	BSF_FORCEIFHUNG
	BSF_NOTIMEOUTIFNOTHUNG
	BSF_ALLOWSFW
	BSF_SENDNOTIFYMESSAGE
	BSF_RETURNHDESK
	BSF_LUID
)

type BSTR

type BSTR *OLECHAR

type BYTE

type BYTE byte

type BY_HANDLE_FILE_INFORMATION

type BY_HANDLE_FILE_INFORMATION struct {
	FileAttributes     DWORD
	CreationTime       FILETIME
	LastAccessTime     FILETIME
	LastWriteTime      FILETIME
	VolumeSerialNumber DWORD
	FileSizeHigh       DWORD
	FileSizeLow        DWORD
	NumberOfLinks      DWORD
	FileIndexHigh      DWORD
	FileIndexLow       DWORD
}

type CACHE_DESCRIPTOR

type CACHE_DESCRIPTOR struct {
	Level, Associativity BYTE
	LineSize             WORD
	Size                 DWORD
	Type                 PROCESSOR_CACHE_TYPE
}

type CALID

type CALID DWORD

type CALINFO_ENUMPROC

type CALINFO_ENUMPROC func(*VString) BOOL

type CALINFO_ENUMPROCEX

type CALINFO_ENUMPROCEX func(*VString, CALID) BOOL

type CALLCONV

type CALLCONV enum
const (
	CC_FASTCALL CALLCONV = iota
	CC_CDECL
	CC_MSCPASCAL
	CC_MACPASCAL
	CC_STDCALL
	CC_FPFASTCALL
	CC_SYSCALL
	CC_MPWCDECL
	CC_MPWPASCAL
	CC_MAX
	CC_PASCAL = CC_MSCPASCAL
)

type CALTYPE

type CALTYPE DWORD
const (
	CAL_ICALINTVALUE CALTYPE = iota + 1
	CAL_SCALNAME
	CAL_IYEAROFFSETRANGE
	CAL_SERASTRING
	CAL_SSHORTDATE
	CAL_SLONGDATE
	CAL_SDAYNAME1
	CAL_SDAYNAME2
	CAL_SDAYNAME3
	CAL_SDAYNAME4
	CAL_SDAYNAME5
	CAL_SDAYNAME6
	CAL_SDAYNAME7
	CAL_SABBREVDAYNAME1
	CAL_SABBREVDAYNAME2
	CAL_SABBREVDAYNAME3
	CAL_SABBREVDAYNAME4
	CAL_SABBREVDAYNAME5
	CAL_SABBREVDAYNAME6
	CAL_SABBREVDAYNAME7
	CAL_SMONTHNAME1
	CAL_SMONTHNAME2
	CAL_SMONTHNAME3
	CAL_SMONTHNAME4
	CAL_SMONTHNAME5
	CAL_SMONTHNAME6
	CAL_SMONTHNAME7
	CAL_SMONTHNAME8
	CAL_SMONTHNAME9
	CAL_SMONTHNAME10
	CAL_SMONTHNAME11
	CAL_SMONTHNAME12
	CAL_SMONTHNAME13
	CAL_SABBREVMONTHNAME1
	CAL_SABBREVMONTHNAME2
	CAL_SABBREVMONTHNAME3
	CAL_SABBREVMONTHNAME4
	CAL_SABBREVMONTHNAME5
	CAL_SABBREVMONTHNAME6
	CAL_SABBREVMONTHNAME7
	CAL_SABBREVMONTHNAME8
	CAL_SABBREVMONTHNAME9
	CAL_SABBREVMONTHNAME10
	CAL_SABBREVMONTHNAME11
	CAL_SABBREVMONTHNAME12
	CAL_SABBREVMONTHNAME13
	CAL_SYEARMONTH
	CAL_ITWODIGITYEARMAX
)

type CH

type CH AChar

type CHARSETINFO

type CHARSETINFO struct {
	Charset UINT
	ACP     UINT
	FS      FONTSIGNATURE
}

type CHAR_INFO

type CHAR_INFO struct {
	UnicodeChar WChar

	Attributes WORD
}

type CIEXYZ

type CIEXYZ struct{ X, Y, Z FXPT2DOT30 }

type CIEXYZTRIPLE

type CIEXYZTRIPLE struct{ Red, Green, Blue CIEXYZ }

type CLASS_STYLE

type CLASS_STYLE DWORD
const (
	CS_VREDRAW CLASS_STYLE = 1 << iota
	CS_HREDRAW

	CS_DBLCLKS

	CS_OWNDC
	CS_CLASSDC
	CS_PARENTDC

	CS_NOCLOSE

	CS_SAVEBITS
	CS_BYTEALIGNCLIENT
	CS_BYTEALIGNWINDOW
	CS_GLOBALCLASS

	CS_IME
	CS_DROPSHADOW
)

type CLIENTCREATESTRUCT

type CLIENTCREATESTRUCT struct {
	WindowMenu HANDLE
	FirstChild UINT
}

type CLIPFORMAT

type CLIPFORMAT WORD

type CLSID

type CLSID GUID

type COAUTHIDENTITY

type COAUTHIDENTITY struct {
	User           *USHORT
	UserLength     ULONG
	Domain         *USHORT
	DomainLength   ULONG
	Password       *USHORT
	PasswordLength ULONG
	Flags          ULONG
}

type COAUTHINFO

type COAUTHINFO struct {
	AuthnSvc           DWORD
	AuthzSvc           DWORD
	ServerPrincName    WString
	AuthnLevel         DWORD
	ImpersonationLevel DWORD
	AuthIdentityData   *COAUTHIDENTITY
	Capabilities       DWORD
}

type CODEPAGE_ENUMPROC

type CODEPAGE_ENUMPROC func(*VString) BOOL

type COLOR16

type COLOR16 USHORT

type COLORADJUSTMENT

type COLORADJUSTMENT struct {
	Size            WORD
	Flags           WORD
	IlluminantIndex WORD
	RedGamma        WORD
	GreenGamma      WORD
	BlueGamma       WORD
	ReferenceBlack  WORD
	ReferenceWhite  WORD
	Contrast        SHORT
	Brightness      SHORT
	Colorfulness    SHORT
	RedGreenTint    SHORT
}

type COLORMAP

type COLORMAP struct {
	From COLORREF
	To   COLORREF
}

type COLORREF

type COLORREF DWORD

type COMBOBOXINFO

type COMBOBOXINFO struct {
	Size        DWORD
	Item        RECT
	Button      RECT
	StateButton DWORD
	Combo       HWND
	ItemWin     HWND
	List        HWND
}

type COMMCONFIG

type COMMCONFIG struct {
	Size            DWORD
	Version         WORD
	Reserved        WORD
	Dcb             DCB
	ProviderSubType DWORD
	ProviderOffset  DWORD
	ProviderSize    DWORD
	ProviderData    [1]WChar
}

type COMMPROP

type COMMPROP struct {
	PacketLength       WORD
	PacketVersion      WORD
	ServiceMask        DWORD
	Reserved1          DWORD
	MaxTxQueue         DWORD
	MaxRxQueue         DWORD
	MaxBaud            DWORD
	ProvSubType        DWORD
	ProvCapabilities   DWORD
	SettableParams     DWORD
	SettableBaud       DWORD
	SettableData       WORD
	SettableStopParity WORD
	CurrentTxQueue     DWORD
	CurrentRxQueue     DWORD
	ProvSpec1          DWORD
	ProvSpec2          DWORD
	ProvChar           [1]WChar
}

type COMMTIMEOUTS

type COMMTIMEOUTS struct {
	ReadIntervalTimeout         DWORD
	ReadTotalTimeoutMultiplier  DWORD
	ReadTotalTimeoutConstant    DWORD
	WriteTotalTimeoutMultiplier DWORD
	WriteTotalTimeoutConstant   DWORD
}

type COMPAREITEMSTRUCT

type COMPAREITEMSTRUCT struct {
	CtlType  UINT
	CtlID    UINT
	Item     HWND
	ID1      UINT
	Data1    ULONG_PTR
	ID2      UINT
	Data2    ULONG_PTR
	LocaleId DWORD
}

type COMPUTER_NAME_FORMAT

type COMPUTER_NAME_FORMAT enum
const (
	ComputerNameNetBIOS COMPUTER_NAME_FORMAT = iota
	ComputerNameDnsHostname
	ComputerNameDnsDomain
	ComputerNameDnsFullyQualified
	ComputerNamePhysicalNetBIOS
	ComputerNamePhysicalDnsHostname
	ComputerNamePhysicalDnsDomain
	ComputerNamePhysicalDnsFullyQualified
	ComputerNameMax
)

type COMSD

type COMSD enum
const (
	SD_LAUNCHPERMISSIONS COMSD = iota
	SD_ACCESSPERMISSIONS
	SD_LAUNCHRESTRICTIONS
	SD_ACCESSRESTRICTIONS
)

type COMSTAT

type COMSTAT struct {
	Bitfields,

	InQue, OutQue DWORD
}

type CONDITIONPROC

type CONDITIONPROC func(
	callerId *WSABUF,
	callerData *WSABUF,
	sQOS *QOS,
	gQOS *QOS,
	calleeId *WSABUF,
	calleeData *WSABUF,
	g *GROUP,
	callbackData DWORD_PTR) int

type CONSOLE_CURSOR_INFO

type CONSOLE_CURSOR_INFO struct {
	Size    DWORD
	Visible BOOL
}

type CONSOLE_FONT_INFO

type CONSOLE_FONT_INFO struct {
	Font     DWORD
	FontSize COORD
}

type CONSOLE_SCREEN_ATTRIBUTES

type CONSOLE_SCREEN_ATTRIBUTES WORD
const (
	FOREGROUND_BLUE CONSOLE_SCREEN_ATTRIBUTES = 1 << iota
	FOREGROUND_GREEN
	FOREGROUND_RED
	FOREGROUND_INTENSITY
	BACKGROUND_BLUE
	BACKGROUND_GREEN
	BACKGROUND_RED
	BACKGROUND_INTENSITY
	COMMON_LVB_LEADING_BYTE
	COMMON_LVB_TRAILING_BYTE
	COMMON_LVB_GRID_HORIZONTAL
	COMMON_LVB_GRID_LVERTICAL
	COMMON_LVB_GRID_RVERTICAL

	COMMON_LVB_REVERSE_VIDEO
	COMMON_LVB_UNDERSCORE
	COMMON_LVB_SBCSDBCS = COMMON_LVB_LEADING_BYTE | COMMON_LVB_TRAILING_BYTE
)

type CONSOLE_SCREEN_BUFFER_INFO

type CONSOLE_SCREEN_BUFFER_INFO struct {
	Size              COORD
	CursorPosition    COORD
	Attributes        CONSOLE_SCREEN_ATTRIBUTES
	Window            SMALL_RECT
	MaximumWindowSize COORD
}

type CONSOLE_SELECTION_FLAGS

type CONSOLE_SELECTION_FLAGS DWORD
const (
	CONSOLE_SELECTION_IN_PROGRESS CONSOLE_SELECTION_FLAGS = 1 << iota
	CONSOLE_SELECTION_NOT_EMPTY
	CONSOLE_MOUSE_SELECTION
	CONSOLE_MOUSE_DOWN
	CONSOLE_NO_SELECTION CONSOLE_SELECTION_FLAGS = 0x0000
)

type CONSOLE_SELECTION_INFO

type CONSOLE_SELECTION_INFO struct {
	Flags           CONSOLE_SELECTION_FLAGS
	SelectionAnchor COORD
	Selection       SMALL_RECT
}

type CONTEXT

type CONTEXT struct {
	ContextFlags      DWORD
	Dr0               DWORD
	Dr1               DWORD
	Dr2               DWORD
	Dr3               DWORD
	Dr6               DWORD
	Dr7               DWORD
	FloatSave         FLOATING_SAVE_AREA
	SegGs             DWORD
	SegFs             DWORD
	SegEs             DWORD
	SegDs             DWORD
	Edi               DWORD
	Esi               DWORD
	Ebx               DWORD
	Edx               DWORD
	Ecx               DWORD
	Eax               DWORD
	Ebp               DWORD
	Eip               DWORD
	SegCs             DWORD
	EFlags            DWORD
	Esp               DWORD
	SegSs             DWORD
	ExtendedRegisters [MAXIMUM_SUPPORTED_EXTENSION]BYTE
}

type CONTROL_KEY_STATE

type CONTROL_KEY_STATE DWORD
const (
	RIGHT_ALT_PRESSED CONTROL_KEY_STATE = 1 << iota
	LEFT_ALT_PRESSED
	RIGHT_CTRL_PRESSED
	LEFT_CTRL_PRESSED
	SHIFT_PRESSED
	NUMLOCK_ON
	SCROLLLOCK_ON
	CAPSLOCK_ON
	ENHANCED_KEY
)
const (
	NLS_DBCSCHAR CONTROL_KEY_STATE = 0x10000 << iota
	NLS_KATAKANA
	NLS_HIRAGANA
	NLS_ROMAN CONTROL_KEY_STATE = 0x400000 << iota
	NLS_IME_CONVERSION
	NLS_ALPHANUMERIC CONTROL_KEY_STATE = 0x00000000
	NLS_IME_DISABLE  CONTROL_KEY_STATE = 0x20000000
)

type CONVCONTEXT

type CONVCONTEXT struct {
	Size      UINT
	Flags     UINT
	CountryID UINT
	CodePage  int
	LangID    DWORD
	Security  DWORD
	QoS       SECURITY_QUALITY_OF_SERVICE
}

type CONVINFO

type CONVINFO struct {
	Size        DWORD
	User        DWORD_PTR
	ConvPartner HCONV
	SvcPartner  HSZ
	ServiceReq  HSZ
	Topic       HSZ
	Item        HSZ
	Fmt         UINT
	Type        UINT
	Status      UINT
	Convst      UINT
	LastError   UINT
	ConvList    HCONVLIST
	ConvCtxt    CONVCONTEXT
	Wnd         HWND
	WndPartner  HWND
}

type COORD

type COORD struct {
	X SHORT
	Y SHORT
}

type COPYDATASTRUCT

type COPYDATASTRUCT struct {
	Data1     ULONG_PTR
	Data2Size DWORD
	Data2     *VOID
}

type COSERVERINFO

type COSERVERINFO struct {
	Name     WString
	AuthInfo *COAUTHINFO
	// contains filtered or unexported fields
}

type CPINFO

type CPINFO struct {
	MaxCharSize UINT
	DefaultChar [MAX_DEFAULTCHAR]BYTE
	LeadByte    [MAX_LEADBYTES]BYTE
}

type CPINFOEXA

type CPINFOEXA struct {
	MaxCharSize        UINT
	DefaultChar        [MAX_DEFAULTCHAR]BYTE
	LeadByte           [MAX_LEADBYTES]BYTE
	UnicodeDefaultChar WChar
	CodePage           UINT
	CodePageName       [MAX_PATH]AChar
}

type CPINFOEXW

type CPINFOEXW struct {
	MaxCharSize        UINT
	DefaultChar        [MAX_DEFAULTCHAR]BYTE
	LeadByte           [MAX_LEADBYTES]BYTE
	UnicodeDefaultChar WChar
	CodePage           UINT
	CodePageName       [MAX_PATH]WChar
}

type CREATESTRUCT

type CREATESTRUCT struct {
	CreateParams *VOID
	Instance     HINSTANCE
	Menu         HMENU
	WndParent    HWND
	CY           int
	CX           int
	Y            int
	X            int
	Style        LONG
	Name         VString
	Class        VString
	ExStyle      DWORD
}

type CREATE_PROCESS_DEBUG_INFO

type CREATE_PROCESS_DEBUG_INFO struct {
	File                HANDLE
	Process             HANDLE
	Thread              HANDLE
	BaseOfImage         *VOID
	DebugInfoFileOffset DWORD
	DebugInfoSize       DWORD
	ThreadLocalBase     *VOID
	StartAddress        THREAD_START_ROUTINE
	ImageName           *VOID
	Unicode             WORD //TODO(t): flag
}

type CREATE_THREAD_DEBUG_INFO

type CREATE_THREAD_DEBUG_INFO struct {
	Thread          HANDLE
	ThreadLocalBase *VOID
	StartAddress    THREAD_START_ROUTINE
}

type CRITICAL_SECTION

type CRITICAL_SECTION struct {
	DebugInfo                   *CRITICAL_SECTION_DEBUG
	LockCount, RecursionCount   LONG
	OwningThread, LockSemaphore HANDLE
	SpinCount                   ULONG_PTR
}

type CRITICAL_SECTION_DEBUG

type CRITICAL_SECTION_DEBUG struct {
	Type, CreatorBackTraceIndex WORD
	CriticalSection             *CRITICAL_SECTION
	ProcessLocksList            LIST_ENTRY
	EntryCount, ContentionCount DWORD
	Spare                       [2]DWORD
}

type CSADDR_INFO

type CSADDR_INFO struct {
	LocalAddr  SOCKET_ADDRESS
	RemoteAddr SOCKET_ADDRESS
	SocketType INT
	Protocol   INT
}

type CSPLATFORM

type CSPLATFORM struct {
	PlatformId    DWORD
	VersionHi     DWORD
	VersionLo     DWORD
	ProcessorArch DWORD
}

type CURRENCYFMT

type CURRENCYFMT struct {
	NumDigits      UINT
	LeadingZero    UINT
	Grouping       UINT
	DecimalSep     *VString
	ThousandSep    *VString
	NegativeOrder  UINT
	PositiveOrder  UINT
	CurrencySymbol *VString
}

type CURSORINFO

type CURSORINFO struct {
	Size      DWORD
	Flags     DWORD
	Cursor    HCURSOR
	ScreenPos POINT
}

type CURSORSHAPE

type CURSORSHAPE struct {
	XHotSpot  int
	UHotSpot  int
	CX        int
	CY        int
	Width     int
	Planes    BYTE
	BitsPixel BYTE
}

type CUSTDATA

type CUSTDATA struct {
	CustDataSize DWORD
	CustData     *CUSTDATAITEM
}

type CUSTDATAITEM

type CUSTDATAITEM struct {
	Guid  GUID
	Value VARIANTARG
}

type CWPRETSTRUCT

type CWPRETSTRUCT struct {
	LResult LRESULT
	LParam  LPARAM
	WParam  WPARAM
	Message UINT
	Hwnd    HWND
}

type CWPSTRUCT

type CWPSTRUCT struct {
	LParam  LPARAM
	WParam  WPARAM
	Message UINT
	Hwnd    HWND
}

type CY

type CY struct {
	Int64 LONGLONG
}

type Char

type Char uint8

type DATE

type DATE DOUBLE

type DATEFMT_ENUMPROC

type DATEFMT_ENUMPROC func(*VString) BOOL

type DATEFMT_ENUMPROCEX

type DATEFMT_ENUMPROCEX func(*VString, CALID) BOOL

type DCB

type DCB struct {
	DCBlength, BaudRate, Bitfields DWORD
	//TODO(t):way of access
	// Binary: 1
	// Parity: 1
	// OutxCtsFlow:1
	// OutxDsrFlow:1
	// DtrControl:2
	// DsrSensitivity:1
	// TXContinueOnXoff: 1
	// OutX: 1
	// InX: 1
	// ErrorChar: 1
	// Null: 1
	// RtsControl:2
	// AbortOnError:1
	// Dummy2:17
	Reserved, XonLim, XoffLim                      WORD
	ByteSize, Parity, StopBits                     BYTE
	XonChar, XoffChar, ErrorChar, EofChar, EvtChar AChar
	Reserved1                                      WORD
}

type DEBUGHOOKINFO

type DEBUGHOOKINFO struct {
	Thread          DWORD
	ThreadInstaller DWORD
	LParam          LPARAM
	WParam          WPARAM
	Code            int
}

type DEBUG_EVENT

type DEBUG_EVENT struct {
	DebugEventCode DEBUG_EVENT_CODE
	ProcessId      DWORD
	ThreadId       DWORD

	Exception EXCEPTION_DEBUG_INFO
}

type DEBUG_EVENT_CODE

type DEBUG_EVENT_CODE DWORD
const (
	EXCEPTION_DEBUG_EVENT DEBUG_EVENT_CODE = iota + 1
	CREATE_THREAD_DEBUG_EVENT
	CREATE_PROCESS_DEBUG_EVENT
	EXIT_THREAD_DEBUG_EVENT
	EXIT_PROCESS_DEBUG_EVENT
	LOAD_DLL_DEBUG_EVENT
	UNLOAD_DLL_DEBUG_EVENT
	OUTPUT_DEBUG_STRING_EVENT
	RIP_EVENT
)

type DECIMAL

type DECIMAL struct {
	// contains filtered or unexported fields
}

type DELETEITEMSTRUCT

type DELETEITEMSTRUCT struct {
	CtlType UINT
	CtlID   UINT
	ID      UINT
	Item    HWND
	Data    ULONG_PTR
}

type DESIGNVECTOR

type DESIGNVECTOR struct {
	Reserved DWORD
	NumAxes  DWORD
	Values   [MM_MAX_NUMAXES]LONG
}

type DESKTOPENUMPROC

type DESKTOPENUMPROC NAMEENUMPROC

type DEVMODEA

type DEVMODEA struct {
	DeviceName    [CCHDEVICENAME]WChar
	SpecVersion   WORD
	DriverVersion WORD
	Size          WORD
	DriverExtra   WORD
	Fields        DWORD
	// union {
	// struct {
	Orientation   SHORT
	PaperSize     SHORT
	PaperLength   SHORT
	PaperWidth    SHORT
	Scale         SHORT
	Copies        SHORT
	DefaultSource SHORT
	PrintQuality  SHORT
	// } struct
	// struct {
	// Position POINTL
	// DisplayOrientation DWORD
	// DisplayFixedOutput DWORD
	// } stuct
	// } union
	Color       SHORT
	Duplex      SHORT
	YResolution SHORT
	TTOption    SHORT
	Collate     SHORT
	FormName    [CCHFORMNAME]WChar
	LogPixels   WORD
	BitsPerPel  DWORD
	PelsWidth   DWORD
	PelsHeight  DWORD
	//union {
	DisplayFlags DWORD
	//Nup DWORD
	//} union
	DisplayFrequency DWORD
	ICMMethod        DWORD
	ICMIntent        DWORD
	MediaType        DWORD
	DitherType       DWORD
	Reserved1        DWORD
	Reserved2        DWORD
	PanningWidth     DWORD
	PanningHeight    DWORD
}

type DEVMODEW

type DEVMODEW struct {
	DeviceName    [CCHDEVICENAME]WChar
	SpecVersion   WORD
	DriverVersion WORD
	Size          WORD
	DriverExtra   WORD
	Fields        DWORD
	// union {
	// struct {
	Orientation   SHORT
	PaperSize     SHORT
	PaperLength   SHORT
	PaperWidth    SHORT
	Scale         SHORT
	Copies        SHORT
	DefaultSource SHORT
	PrintQuality  SHORT
	// } struct
	// struct {
	// Position POINTL
	// DisplayOrientation DWORD
	// DisplayFixedOutput DWORD
	// } stuct
	// } union
	Color       SHORT
	Duplex      SHORT
	YResolution SHORT
	TTOption    SHORT
	Collate     SHORT
	FormName    [CCHFORMNAME]WChar
	LogPixels   WORD
	BitsPerPel  DWORD
	PelsWidth   DWORD
	PelsHeight  DWORD
	//union {
	DisplayFlags DWORD
	//Nup DWORD
	//} union
	DisplayFrequency DWORD
	ICMMethod        DWORD
	ICMIntent        DWORD
	MediaType        DWORD
	DitherType       DWORD
	Reserved1        DWORD
	Reserved2        DWORD
	PanningWidth     DWORD
	PanningHeight    DWORD
}

type DISPID

type DISPID int32

type DISPLAY_DEVICEA

type DISPLAY_DEVICEA struct {
	Size         DWORD
	DeviceName   [32]AChar
	DeviceString [128]AChar
	StateFlags   DWORD
	DeviceID     [128]AChar
	DeviceKey    [128]AChar
}

type DISPLAY_DEVICEW

type DISPLAY_DEVICEW struct {
	Size         DWORD
	DeviceName   [32]AChar
	DeviceString [128]AChar
	StateFlags   DWORD
	DeviceID     [128]AChar
	DeviceKey    [128]AChar
}

type DISPPARAMS

type DISPPARAMS struct {
	Varg       *VARIANTARG
	NamedArgs  *DISPID
	CArgs      UINT
	CNamedArgs UINT
}

type DLGITEMTEMPLATE

type DLGITEMTEMPLATE struct {
	Style         DWORD
	ExtendedStyle DWORD
	X             SHORT
	Y             SHORT

	Id WORD
	// contains filtered or unexported fields
}

type DLGPROC

type DLGPROC func(HWND, UINT, WPARAM, LPARAM) INT_PTR

type DLGTEMPLATE

type DLGTEMPLATE struct {
	Style         DWORD
	ExtendedStyle DWORD
	DItems        WORD
	X             SHORT
	Y             SHORT
	// contains filtered or unexported fields
}

type DOCINFO

type DOCINFO struct {
	Size     int
	DocName  *VString
	Output   *VString
	Datatype *VString
	Type     DWORD
}

type DOUBLE

type DOUBLE float64

type DRAWITEMSTRUCT

type DRAWITEMSTRUCT struct {
	CtlType UINT
	CtlID   UINT
	ID      UINT
	Action  UINT
	State   UINT
	Item    HWND
	DC      HDC
	Rect    RECT
	Data    ULONG_PTR
}

type DRAWSTATEPROC

type DRAWSTATEPROC func(
	hdc HDC, lData LPARAM, wData WPARAM, cx int, cy int) BOOL

type DRAWTEXTPARAMS

type DRAWTEXTPARAMS struct {
	Size        UINT
	TabLength   int
	LeftMargin  int
	RightMargin int
	LengthDrawn UINT
}

type DROPSTRUCT

type DROPSTRUCT struct {
	Source      HWND
	Sink        HWND
	Fmt         DWORD
	Data        ULONG_PTR
	Drop        POINT
	ControlData DWORD
}

TODO(t):Obsolete

type DVTARGETDEVICE

type DVTARGETDEVICE struct {
	Size             DWORD
	DriverNameOffset WORD
	DeviceNameOffset WORD
	PortNameOffset   WORD
	ExtDevmodeOffset WORD
	Data             [1]BYTE
}

type DWORD

type DWORD uint32 //TODO(t):True w32/w64?

type DWORDLONG

type DWORDLONG uint64 //TODO(t):True w32/w64?

type DWORD_PTR

type DWORD_PTR ULONG_PTR

type EMR

type EMR struct {
	Type DWORD
	Size DWORD
}

type EMRSETCOLORADJUSTMENT

type EMRSETCOLORADJUSTMENT struct {
	EMR             EMR
	ColorAdjustment COLORADJUSTMENT
}

type ENHMETAHEADER

type ENHMETAHEADER struct {
	Type              DWORD
	Size              DWORD
	Bounds            RECTL
	Frame             RECTL
	Signature         DWORD
	Version           DWORD
	Bytes             DWORD
	Records           DWORD
	Handles           WORD
	Reserved          WORD
	DescriptionCount  DWORD
	DescriptionOffset DWORD
	PalEntries        DWORD
	Device            SIZEL
	Millimeters       SIZEL
	PixelFormatSize   DWORD
	PixelFormatOffset DWORD
	OpenGL            DWORD
	Micrometers       SIZEL
}

type ENHMETARECORD

type ENHMETARECORD struct {
	Type DWORD
	Size DWORD
	Parm [1]DWORD
}

type ENHMFENUMPROC

type ENHMFENUMPROC func(
	Hdc HDC,
	HT *HANDLETABLE,
	EMR *ENHMETARECORD,
	Handles int,
	Data LPARAM) int

type ENUMLOGFONTA

type ENUMLOGFONTA struct {
	LogFont  LOGFONTA
	FullName [LF_FULLFACESIZE]AChar
	Style    [LF_FACESIZE]AChar
}

type ENUMLOGFONTEXA

type ENUMLOGFONTEXA struct {
	LogFont  LOGFONTA
	FullName [LF_FULLFACESIZE]AChar
	Style    [LF_FACESIZE]AChar
	Script   [LF_FACESIZE]AChar
}

type ENUMLOGFONTEXDVA

type ENUMLOGFONTEXDVA struct {
	EnumLogfontEx ENUMLOGFONTEXA
	DesignVector  DESIGNVECTOR
}

type ENUMLOGFONTEXDVW

type ENUMLOGFONTEXDVW struct {
	EnumLogfontEx ENUMLOGFONTEXW
	DesignVector  DESIGNVECTOR
}

type ENUMLOGFONTEXW

type ENUMLOGFONTEXW struct {
	LogFont  LOGFONTW
	FullName [LF_FULLFACESIZE]WChar
	Style    [LF_FACESIZE]WChar
	Script   [LF_FACESIZE]WChar
}

type ENUMLOGFONTW

type ENUMLOGFONTW struct {
	LogFont  LOGFONTW
	FullName [LF_FULLFACESIZE]WChar
	Style    [LF_FACESIZE]WChar
}

type ENUMRESLANGPROC

type ENUMRESLANGPROC func(
	Module, HMODULE,
	Type, Name *VString,
	Language WORD,
	Param LONG_PTR) BOOL

type ENUMRESNAMEPROC

type ENUMRESNAMEPROC func(
	Module HMODULE,
	Type *VString,
	Name *VString,

	Param LONG_PTR) BOOL

type ENUMRESTYPEPROC

type ENUMRESTYPEPROC func(
	Module HMODULE, Type *VString, Param LONG_PTR) BOOL

type ENUM_SERVICE_STATUS

type ENUM_SERVICE_STATUS struct {
	ServiceName   *VString
	DisplayName   *VString
	ServiceStatus SERVICE_STATUS
}

type EVENTLOG_FULL_INFORMATION

type EVENTLOG_FULL_INFORMATION struct {
	// contains filtered or unexported fields
}

type EVENTMSG

type EVENTMSG struct {
	Message UINT
	ParamL  UINT
	ParamH  UINT
	Time    DWORD
	Hwnd    HWND
}

type EXCEPINFO

type EXCEPINFO struct {
	Code WORD

	Source      BSTR
	Description BSTR
	HelpFile    BSTR
	HelpContext DWORD

	DeferredFillIn func(*EXCEPINFO) HRESULT
	SCode          SCODE
	// contains filtered or unexported fields
}

type EXCEPTION_DEBUG_INFO

type EXCEPTION_DEBUG_INFO struct {
	ExceptionRecord EXCEPTION_RECORD
	FirstChance     DWORD
}

type EXCEPTION_POINTERS

type EXCEPTION_POINTERS struct {
	ExceptionRecord *EXCEPTION_RECORD
	ContextRecord   *CONTEXT
}

type EXCEPTION_RECORD

type EXCEPTION_RECORD struct {
	ExceptionCode        DWORD
	ExceptionFlags       DWORD
	ExceptionRecord      *EXCEPTION_RECORD
	ExceptionAddress     *VOID
	NumberParameters     DWORD
	ExceptionInformation [EXCEPTION_MAXIMUM_PARAMETERS]ULONG_PTR
}

type EXECUTION_STATE

type EXECUTION_STATE DWORD

type EXIT_PROCESS_DEBUG_INFO

type EXIT_PROCESS_DEBUG_INFO struct {
	ExitCode DWORD
}

type EXIT_THREAD_DEBUG_INFO

type EXIT_THREAD_DEBUG_INFO struct {
	ExitCode DWORD
}

type FARPROC

type FARPROC uintptr //TODO(t):unsafe.Pointer?

type FD_SET

type FD_SET struct {
	Count U_int
	Array [FD_SETSIZE]SOCKET
}

type FE_EXPORT_FUNC

type FE_EXPORT_FUNC func(
	Data *BYTE, CallbackContext *VOID, Length ULONG) DWORD

type FE_IMPORT_FUNC

type FE_IMPORT_FUNC func(
	Data *BYTE, CallbackContext *VOID, Length *ULONG) DWORD

type FIBER_START_ROUTINE

type FIBER_START_ROUTINE func(FiberParameter *VOID)

type FILETIME

type FILETIME struct {
	LowDateTime  DWORD
	HighDateTime DWORD
}

type FILE_SEGMENT_ELEMENT

type FILE_SEGMENT_ELEMENT struct {
	//TODO(t): Alignment ULONGLONG
	Buffer *VOID64
}

type FILTERKEYS

type FILTERKEYS struct {
	Size       UINT
	Flags      DWORD
	WaitMSec   DWORD
	DelayMSec  DWORD
	RepeatMSec DWORD
	BounceMSec DWORD
}

type FINDEX_INFO_LEVELS

type FINDEX_INFO_LEVELS enum
const (
	FindExInfoStandard FINDEX_INFO_LEVELS = iota
	FindExInfoMaxInfoLevel
)

type FINDEX_SEARCH_OPS

type FINDEX_SEARCH_OPS enum
const (
	FindExSearchNameMatch FINDEX_SEARCH_OPS = iota
	FindExSearchLimitToDirectories
	FindExSearchLimitToDevices
	FindExSearchMaxSearchOp
)

type FIXED

type FIXED struct {
	Fract WORD
	Value SHORT
}

type FLASHWINFO

type FLASHWINFO struct {
	Size    UINT
	Wnd     HWND
	Flags   DWORD
	Count   UINT
	Timeout DWORD
}

type FLOAT

type FLOAT float32

type FLOATING_SAVE_AREA

type FLOATING_SAVE_AREA struct {
	ControlWord   DWORD
	StatusWord    DWORD
	TagWord       DWORD
	ErrorOffset   DWORD
	ErrorSelector DWORD
	DataOffset    DWORD
	DataSelector  DWORD
	RegisterArea  [SIZE_OF_80387_REGISTERS]BYTE
	Cr0NpxState   DWORD
}

type FLOWSPEC

type FLOWSPEC struct {
	TokenRate          ULONG
	TokenBucketSize    ULONG
	PeakBandwidth      ULONG
	Latency            ULONG
	DelayVariation     ULONG
	ServiceType        SERVICETYPE
	MaxSduSize         ULONG
	MinimumPolicedSize ULONG
}

type FLS_CALLBACK_FUNCTION

type FLS_CALLBACK_FUNCTION func(FlsData *VOID)

type FNCALLBACK

type FNCALLBACK func(
	Type UINT,
	Fmt UINT,
	Conv HCONV,
	Sz1 HSZ,
	Sz2 HSZ,
	Data HDDEDATA,
	Data1 ULONG_PTR,
	Data2 ULONG_PTR) HDDEDATA

type FNDPACOMPARE

type FNDPACOMPARE func(p1 *VOID, p2 *VOID, lParam LPARAM) int

type FNDPAENUMCALLBACK

type FNDPAENUMCALLBACK func(p *VOID, data *VOID) int

type FNDSAENUMCALLBACK

type FNDSAENUMCALLBACK func(p *VOID, data *VOID) int

type FOCUS_EVENT_RECORD

type FOCUS_EVENT_RECORD struct {
	SetFocus BOOL
}

type FONTENUMPROCA

type FONTENUMPROCA func(*LOGFONTA, *TEXTMETRICA, DWORD, LPARAM) int

type FONTENUMPROCW

type FONTENUMPROCW func(*LOGFONTW, *TEXTMETRICW, DWORD, LPARAM) int

type FONTSIGNATURE

type FONTSIGNATURE struct {
	Usb [4]DWORD
	Csb [2]DWORD
}

type FORMATETC

type FORMATETC struct {
	Format CLIPFORMAT
	TD     *DVTARGETDEVICE
	Aspect DWORD
	Index  LONG
	Tymed  DWORD
}

type FOURCC

type FOURCC DWORD

type FVIRT

type FVIRT WORD
const (
	FVIRTKEY FVIRT = 1 << iota
	FNOINVERT
	FSHIFT
	FCONTROL
	FALT
)

type FXPT2DOT30

type FXPT2DOT30 LONG

type Fake_type_Fix_me

type Fake_type_Fix_me uintptr

type GCP_RESULTS

type GCP_RESULTS struct {
	StructSize  DWORD
	OutString   *OVString
	Order       *UINT
	Dx          *int
	CaretPos    *int
	Class       AString
	Glyphs      *OVString
	GlyphsCount UINT
	MaxFit      int
}

type GENERIC_MAPPING

type GENERIC_MAPPING struct {
	GenericRead    ACCESS_MASK
	GenericWrite   ACCESS_MASK
	GenericExecute ACCESS_MASK
	GenericAll     ACCESS_MASK
}

type GEOCLASS

type GEOCLASS DWORD

type GEOID

type GEOID LONG

type GEOTYPE

type GEOTYPE DWORD

type GEO_ENUMPROC

type GEO_ENUMPROC func(GEOID) BOOL

type GET_FILEEX_INFO_LEVELS

type GET_FILEEX_INFO_LEVELS enum
const (
	GetFileExInfoStandard GET_FILEEX_INFO_LEVELS = iota
	GetFileExMaxInfoLevel
)

type GLYPHMETRICS

type GLYPHMETRICS struct {
	BlackBoxX   UINT
	BlackBoxY   UINT
	GlyphOrigin POINT
	CellIncX    SHORT
	CellIncY    SHORT
}

type GLYPHMETRICSFLOAT

type GLYPHMETRICSFLOAT struct {
	BlackBoxX   FLOAT
	BlackBoxY   FLOAT
	GlyphOrigin POINTFLOAT
	CellIncX    FLOAT
	CellIncY    FLOAT
}

type GLYPHSET

type GLYPHSET struct {
	This            DWORD
	Accel           DWORD
	GlyphsSupported DWORD
	RangesCount     DWORD
	Tanges          [1]WCRANGE
}

type GOBJENUMPROC

type GOBJENUMPROC func(*VOID, LPARAM) int

type GRAYSTRINGPROC

type GRAYSTRINGPROC func(HDC, LPARAM, int) BOOL

type GROUP

type GROUP uint

type GUID

type GUID struct {
	Data1 uint32
	Data2 uint16
	Data3 uint16
	Data4 [8]byte
}

type GUITHREADINFO

type GUITHREADINFO struct {
	Size         DWORD
	Flags        DWORD
	ActiveWnd    HWND
	FocusWnd     HWND
	CaptureWnd   HWND
	MenuOwnerWnd HWND
	MoveSizeWnd  HWND
	CaretWnd     HWND
	CaretRect    RECT
}

type HACCEL

type HACCEL HANDLE

type HANDLE

type HANDLE DWORD //TODO(t):Actually strict -> struct but go does not do coercion

type HANDLER_FUNCTION

type HANDLER_FUNCTION func(Control DWORD)

type HANDLER_FUNCTION_EX

type HANDLER_FUNCTION_EX func(
	Control, EventType DWORD, EventData, Context *VOID)

type HANDLER_ROUTINE

type HANDLER_ROUTINE func(ctrlType DWORD) BOOL

type HANDLETABLE

type HANDLETABLE struct {
	ObjectHandle [1]HGDIOBJ
}

type HARDWAREHOOKSTRUCT

type HARDWAREHOOKSTRUCT struct {
	Wnd     HWND
	Message UINT
	WParam  WPARAM
	LParam  LPARAM
}

type HARDWAREINPUT

type HARDWAREINPUT struct {
	Msg    DWORD
	ParamL WORD
	ParamH WORD
}

type HBITMAP

type HBITMAP int //TODO(t):HANDLE but go does not do coercion
const (
	HBMMENU_CALLBACK HBITMAP = iota - 1
	HBMMENU_SYSTEM   HBITMAP = iota
	HBMMENU_MBAR_RESTORE
	HBMMENU_MBAR_MINIMIZE

	HBMMENU_MBAR_CLOSE
	HBMMENU_MBAR_CLOSE_D
	HBMMENU_MBAR_MINIMIZE_D
	HBMMENU_POPUP_CLOSE
	HBMMENU_POPUP_RESTORE
	HBMMENU_POPUP_MAXIMIZE
	HBMMENU_POPUP_MINIMIZE
)

type HBRUSH

type HBRUSH HANDLE

type HCOLORSPACE

type HCOLORSPACE HANDLE

type HCONV

type HCONV HANDLE

type HCONVLIST

type HCONVLIST HANDLE

type HCRYPTHASH

type HCRYPTHASH ULONG_PTR

type HCRYPTKEY

type HCRYPTKEY ULONG_PTR

type HCRYPTPROV

type HCRYPTPROV ULONG_PTR

type HCURSOR

type HCURSOR HANDLE

type HDC

type HDC HANDLE

type HDDEDATA

type HDDEDATA HANDLE

type HDESK

type HDESK HANDLE

type HDEVNOTIFY

type HDEVNOTIFY HANDLE

type HDPA

type HDPA HANDLE

type HDROP

type HDROP HANDLE

type HDRVR

type HDRVR HANDLE

type HDSA

type HDSA HANDLE

type HDWP

type HDWP HANDLE

type HEAP_INFORMATION_CLASS

type HEAP_INFORMATION_CLASS enum
const (
	HeapCompatibilityInformation HEAP_INFORMATION_CLASS = iota
)

type HELPINFO

type HELPINFO struct {
	Size        UINT
	ContextType HELP_CONTEXT
	CtrlId      int
	ItemHandle  HANDLE
	ContextId   DWORD_PTR
	MousePos    POINT
}

type HELP_CONTEXT

type HELP_CONTEXT int
const (
	HELPINFO_WINDOW HELP_CONTEXT = iota + 1
	HELPINFO_MENUITEM
)

type HENHMETAFILE

type HENHMETAFILE HANDLE

type HFILE

type HFILE HANDLE

type HFONT

type HFONT HANDLE

type HGDIOBJ

type HGDIOBJ HANDLE

type HGLOBAL

type HGLOBAL HANDLE

type HGLRC

type HGLRC HANDLE

type HHOOK

type HHOOK HANDLE

type HICON

type HICON HANDLE

type HIGHCONTRASTA

type HIGHCONTRASTA struct {
	Size          UINT
	Flags         DWORD
	DefaultScheme VString
}

type HIMAGELIST

type HIMAGELIST HANDLE

type HINSTANCE

type HINSTANCE HANDLE

type HKEY

type HKEY HANDLE

type HKL

type HKL HANDLE

type HLOCAL

type HLOCAL HANDLE

type HMENU

type HMENU HANDLE

type HMETAFILE

type HMETAFILE HANDLE

type HMIDI

type HMIDI HANDLE

type HMIDIIN

type HMIDIIN HANDLE

type HMIDIOUT

type HMIDIOUT HANDLE

type HMIDISTRM

type HMIDISTRM HANDLE

type HMIXER

type HMIXER HANDLE

type HMIXEROBJ

type HMIXEROBJ HANDLE

type HMMIO

type HMMIO HANDLE

type HMODULE

type HMODULE HINSTANCE

type HMONITOR

type HMONITOR HANDLE

type HOLEMENU

type HOLEMENU HANDLE

type HOOKPROC

type HOOKPROC func(code int, w WPARAM, l LPARAM) LRESULT

type HOSTENT

type HOSTENT struct {
	Name      *Char
	Aliases   **Char
	Addrtype  SHORT
	Length    SHORT
	Addr_list **Char
}

type HPALETTE

type HPALETTE HANDLE

type HPEN

type HPEN HANDLE

type HRAWINPUT

type HRAWINPUT HANDLE

type HRESULT

type HRESULT HANDLE

type HRGN

type HRGN HANDLE

type HRSRC

type HRSRC HANDLE

type HSZ

type HSZ HANDLE

type HTASK

type HTASK HANDLE

type HWAVEIN

type HWAVEIN HANDLE

type HWAVEOUT

type HWAVEOUT HANDLE

type HWINEVENTHOOK

type HWINEVENTHOOK HANDLE

type HWINSTA

type HWINSTA HANDLE

type HWND

type HWND HANDLE

type HW_PROFILE_INFOA

type HW_PROFILE_INFOA struct {
	DockInfo      DWORD
	HwProfileGuid [HW_PROFILE_GUIDLEN]AChar
	HwProfileName [MAX_PROFILE_LEN]AChar
}

type HW_PROFILE_INFOW

type HW_PROFILE_INFOW struct {
	DockInfo      DWORD
	HwProfileGuid [HW_PROFILE_GUIDLEN]WChar
	HwProfileName [MAX_PROFILE_LEN]WChar
}

type IAdviseSink

type IAdviseSink struct{}

type IBindCtx

type IBindCtx struct{}

type IBindStatusCallback

type IBindStatusCallback struct{}

type ICC_CLASSES

type ICC_CLASSES DWORD
const (
	ICC_LISTVIEW_CLASSES ICC_CLASSES = 1 << iota
	ICC_TREEVIEW_CLASSES
	ICC_BAR_CLASSES
	ICC_TAB_CLASSES
	ICC_UPDOWN_CLASS
	ICC_PROGRESS_CLASS
	ICC_HOTKEY_CLASS
	ICC_ANIMATE_CLASS
	ICC_DATE_CLASSES
	ICC_USEREX_CLASSES
	ICC_COOL_CLASSES
	ICC_INTERNET_CLASSES
	ICC_PAGESCROLLER_CLASS
	ICC_NATIVEFNTCTL_CLASS
	ICC_STANDARD_CLASSES
	ICC_LINK_CLASS
)

type ICMENUMPROCA

type ICMENUMPROCA func(AString, LPARAM) int

type ICMENUMPROCW

type ICMENUMPROCW func(WString, LPARAM) int

type ICONINFO

type ICONINFO struct {
	Icon     BOOL
	XHotspot DWORD
	YHotspot DWORD
	Mask     HBITMAP
	Color    HBITMAP
}

type ICONMETRICSA

type ICONMETRICSA struct {
	Size        UINT
	HorzSpacing int
	VertSpacing int
	TitleWrap   int
	// contains filtered or unexported fields
}

type ICONMETRICSW

type ICONMETRICSW struct {
	Size        UINT
	HorzSpacing int
	VertSpacing int
	TitleWrap   int
	// contains filtered or unexported fields
}

type IChannelHook

type IChannelHook struct{}

type IClassFactory

type IClassFactory struct{}

type ICreateErrorInfo

type ICreateErrorInfo struct{}

type ICreateTypeLib

type ICreateTypeLib struct{}

type ICreateTypeLib2

type ICreateTypeLib2 struct{}

type IDataAdviseHolder

type IDataAdviseHolder struct{}

type IDataObject

type IDataObject struct{}

type IDispatch

type IDispatch struct{}

type IDropSource

type IDropSource struct{}

type IDropTarget

type IDropTarget struct{}

type IEnumFORMATETC

type IEnumFORMATETC struct{}

type IEnumOLEVERB

type IEnumOLEVERB struct{}

type IErrorInfo

type IErrorInfo struct{}

type IFillLockBytes

type IFillLockBytes struct{}

type IID

type IID GUID

type IInitializeSpy

type IInitializeSpy struct{}

type ILockBytes

type ILockBytes struct{}

type IMAGEINFO

type IMAGEINFO struct {
	Image   HBITMAP
	Mask    HBITMAP
	Unused1 int
	Unused2 int
	Rect    RECT
}

type IMAGELISTDRAWPARAMS

type IMAGELISTDRAWPARAMS struct {
	Size    DWORD
	Iml     HIMAGELIST
	I       int
	Dst     HDC
	X       int
	Y       int
	CX      int
	CY      int
	XBitmap int
	YBitmap int
	Bk      COLORREF
	Fg      COLORREF
	Style   UINT
	Rop     DWORD
	State   DWORD
	Frame   DWORD
	Effect  COLORREF
}

type IMalloc

type IMalloc struct{}

type IMallocSpy

type IMallocSpy struct{}

type IMarshal

type IMarshal struct{}

type IMessageFilter

type IMessageFilter struct{}

type IMoniker

type IMoniker struct{}

type INITCOMMONCONTROLSEX

type INITCOMMONCONTROLSEX struct {
	Size DWORD
	ICC  ICC_CLASSES
}

type INPUT

type INPUT struct {
	Type INPUT_TYPE

	M MOUSEINPUT
}

type INPUT_EVENT_TYPE

type INPUT_EVENT_TYPE WORD
const (
	KEY_EVENT INPUT_EVENT_TYPE = 1 << iota
	MOUSE_EVENT
	WINDOW_BUFFER_SIZE_EVENT
	MENU_EVENT
	FOCUS_EVENT
)

type INPUT_RECORD

type INPUT_RECORD struct {
	EventType INPUT_EVENT_TYPE

	KeyEvent              KEY_EVENT_RECORD
	MouseEvent            MOUSE_EVENT_RECORD
	WindowBufferSizeEvent WINDOW_BUFFER_SIZE_RECORD
	MenuEvent             MENU_EVENT_RECORD
	FocusEvent            FOCUS_EVENT_RECORD
}

type INPUT_TYPE

type INPUT_TYPE DWORD
const (
	INPUT_MOUSE INPUT_TYPE = iota
	INPUT_KEYBOARD
	INPUT_HARDWARE
)

type INT

type INT int

type INTERFACEDATA

type INTERFACEDATA struct {
	Methdata *METHODDATA
	Members  UINT
}

type INT_PTR

type INT_PTR INT

type IN_ADDR

type IN_ADDR struct {
	//union {
	//struct {
	B1, B2, B3, B4 byte
}

type IOAString

type IOAString *string

type IO_COUNTERS

type IO_COUNTERS struct {
	ReadOperationCount  ULONGLONG
	WriteOperationCount ULONGLONG
	OtherOperationCount ULONGLONG
	ReadTransferCount   ULONGLONG
	WriteTransferCount  ULONGLONG
	OtherTransferCount  ULONGLONG
}

type IOleAdviseHolder

type IOleAdviseHolder struct{}

type IOleClientSite

type IOleClientSite struct{}

type IOleInPlaceActiveObject

type IOleInPlaceActiveObject struct{}

type IOleInPlaceFrame

type IOleInPlaceFrame struct{}

type IOleObject

type IOleObject struct{}

type IPersistStorage

type IPersistStorage struct{}

type IPersistStream

type IPersistStream struct{}

type IRecordInfo

type IRecordInfo struct{}

type IRunningObjectTable

type IRunningObjectTable struct{}

type IStorage

type IStorage struct{}

type IStream

type IStream struct{}

type ISurrogate

type ISurrogate struct{}

type ITypeInfo

type ITypeInfo struct{}

type ITypeLib

type ITypeLib struct{}

type IUnknown

type IUnknown struct{}

type JOBOBJECTINFOCLASS

type JOBOBJECTINFOCLASS enum
const (
	JobObjectBasicAccountingInformation JOBOBJECTINFOCLASS = 1 + iota
	JobObjectBasicLimitInformation
	JobObjectBasicProcessIdList
	JobObjectBasicUIRestrictions
	JobObjectSecurityLimitInformation
	JobObjectEndOfJobTimeInformation
	JobObjectAssociateCompletionPortInformation
	JobObjectBasicAndIoAccountingInformation
	JobObjectExtendedLimitInformation
	JobObjectJobSetInformation
	MaxJobObjectInfoClass
)

type JOB_SET_ARRAY

type JOB_SET_ARRAY struct {
	JobHandle   HANDLE
	MemberLevel DWORD
	Flags       DWORD
}

type JOYCAPSA

type JOYCAPSA struct {
	Mid        WORD
	Pid        WORD
	Pname      [MAXPNAMELEN]AChar
	Xmin       UINT
	Xmax       UINT
	Ymin       UINT
	Ymax       UINT
	Zmin       UINT
	Zmax       UINT
	NumButtons UINT
	PeriodMin  UINT
	PeriodMax  UINT
	Rmin       UINT
	Rmax       UINT
	Umin       UINT
	Umax       UINT
	Vmin       UINT
	Vmax       UINT
	Caps       UINT
	MaxAxes    UINT
	NumAxes    UINT
	MaxButtons UINT
	RegKey     [MAXPNAMELEN]AChar
	OEMVxD     [MAX_JOYSTICKOEMVXDNAME]AChar
}

type JOYCAPSW

type JOYCAPSW struct {
	Mid        WORD
	Pid        WORD
	Pname      [MAXPNAMELEN]WChar
	Xmin       UINT
	Xmax       UINT
	Ymin       UINT
	Ymax       UINT
	Zmin       UINT
	Zmax       UINT
	NumButtons UINT
	PeriodMin  UINT
	PeriodMax  UINT
	Rmin       UINT
	Rmax       UINT
	Umin       UINT
	Umax       UINT
	Vmin       UINT
	Vmax       UINT
	Caps       UINT
	MaxAxes    UINT
	NumAxes    UINT
	MaxButtons UINT
	RegKey     [MAXPNAMELEN]WChar
	OEMVxD     [MAX_JOYSTICKOEMVXDNAME]WChar
}

type JOYINFO

type JOYINFO struct {
	Xpos    UINT
	Ypos    UINT
	Zpos    UINT
	Buttons UINT
}

type JOYINFOEX

type JOYINFOEX struct {
	Size         DWORD
	Flags        DWORD
	Xpos         DWORD
	Ypos         DWORD
	Zpos         DWORD
	Rpos         DWORD
	Upos         DWORD
	Vpos         DWORD
	Buttons      DWORD
	ButtonNumber DWORD
	POV          DWORD
	// contains filtered or unexported fields
}

type KBDLLHOOKSTRUCT

type KBDLLHOOKSTRUCT struct {
	VKCode    DWORD
	ScanCode  DWORD
	Flags     DWORD
	Time      DWORD
	ExtraInfo ULONG_PTR
}

type KERNINGPAIR

type KERNINGPAIR struct {
	First      WORD
	Second     WORD
	KernAmount int
}

type KEYBDINPUT

type KEYBDINPUT struct {
	Vk        WORD
	Scan      WORD
	Flags     DWORD
	Time      DWORD
	ExtraInfo ULONG_PTR
}

type KEY_EVENT_RECORD

type KEY_EVENT_RECORD struct {
	KeyDown         BOOL
	RepeatCount     WORD
	VirtualKeyCode  WORD
	VirtualScanCode WORD

	UnicodeChar WChar

	ControlKeyState CONTROL_KEY_STATE
}

type LANGGROUPLOCALE_ENUMPROC

type LANGGROUPLOCALE_ENUMPROC func(LGRPID, LCID, **VString, LONG_PTR) BOOL

type LANGID

type LANGID USHORT

type LANGUAGEGROUP_ENUMPROC

type LANGUAGEGROUP_ENUMPROC func(LGRPID, **VString, **VString, DWORD, LONG_PTR) BOOL

TODO(t):**VString not handled yet (multiple)

type LARGE_INTEGER

type LARGE_INTEGER struct {
	LowPart  DWORD
	HighPart LONG
}

type LASTINPUTINFO

type LASTINPUTINFO struct {
	Size UINT
	Time DWORD
}

type LATENCY_TIME

type LATENCY_TIME enum
const (
	LT_DONT_CARE LATENCY_TIME = iota
	LT_LOWEST_LATENCY
)

type LAYERPLANEDESCRIPTOR

type LAYERPLANEDESCRIPTOR struct {
	Size           WORD
	Version        WORD
	Flags          DWORD
	PixelType      BYTE
	ColorBits      BYTE
	RedBits        BYTE
	RedShift       BYTE
	GreenBits      BYTE
	GreenShift     BYTE
	BlueBits       BYTE
	BlueShift      BYTE
	AlphaBits      BYTE
	AlphaShift     BYTE
	AccumBits      BYTE
	AccumRedBits   BYTE
	AccumGreenBits BYTE
	AccumBlueBits  BYTE
	AccumAlphaBits BYTE
	DepthBits      BYTE
	StencilBits    BYTE
	AuxBuffers     BYTE
	LayerPlane     BYTE
	Reserved       BYTE
	Transparent    COLORREF
}

type LCID

type LCID DWORD

type LCSCSTYPE

type LCSCSTYPE LONG

type LCSGAMUTMATCH

type LCSGAMUTMATCH LONG

type LCTYPE

type LCTYPE DWORD

type LDT_ENTRY

type LDT_ENTRY struct {
	LimitLow,
	BaseLow WORD
	BaseMid, Flags1, Flags2, BaseHi BYTE
}

type LGRPID

type LGRPID DWORD

type LINEDDAPROC

type LINEDDAPROC func(int, int, LPARAM)

type LIST_ENTRY

type LIST_ENTRY struct {
	Flink, Blink *LIST_ENTRY
}

type LOAD_DLL_DEBUG_INFO

type LOAD_DLL_DEBUG_INFO struct {
	File                HANDLE
	BaseOfDll           *VOID
	DebugInfoFileOffset DWORD
	DebugInfoSize       DWORD
	ImageName           *VOID
	Unicode             WORD
}

type LOCALE_ENUMPROC

type LOCALE_ENUMPROC func(*VString) BOOL

type LOGBRUSH

type LOGBRUSH struct {
	Style UINT
	Color COLORREF
	Hatch ULONG_PTR
}

type LOGCOLORSPACEA

type LOGCOLORSPACEA struct {
	Signature  DWORD
	Version    DWORD
	Size       DWORD
	CSType     LCSCSTYPE
	Intent     LCSGAMUTMATCH
	Endpoints  CIEXYZTRIPLE
	GammaRed   DWORD
	GammaGreen DWORD
	GammaBlue  DWORD
	Filename   [MAX_PATH]AChar
}

type LOGCOLORSPACEW

type LOGCOLORSPACEW struct {
	Signature  DWORD
	Version    DWORD
	Size       DWORD
	CSType     LCSCSTYPE
	Intent     LCSGAMUTMATCH
	Endpoints  CIEXYZTRIPLE
	GammaRed   DWORD
	GammaGreen DWORD
	GammaBlue  DWORD
	Filename   [MAX_PATH]WChar
}

type LOGFONTA

type LOGFONTA struct {
	Height         LONG
	Width          LONG
	Escapement     LONG
	Orientation    LONG
	Weight         LONG
	Italic         BYTE
	Underline      BYTE
	StrikeOut      BYTE
	CharSet        BYTE
	OutPrecision   BYTE
	ClipPrecision  BYTE
	Quality        BYTE
	PitchAndFamily BYTE
	FaceName       [LF_FACESIZE]AChar
}

type LOGFONTW

type LOGFONTW struct {
	Height         LONG
	Width          LONG
	Escapement     LONG
	Orientation    LONG
	Weight         LONG
	Italic         BYTE
	Underline      BYTE
	StrikeOut      BYTE
	CharSet        BYTE
	OutPrecision   BYTE
	ClipPrecision  BYTE
	Quality        BYTE
	PitchAndFamily BYTE
	FaceName       [LF_FACESIZE]WChar
}

type LOGICAL_PROCESSOR_RELATIONSHIP

type LOGICAL_PROCESSOR_RELATIONSHIP enum
const (
	RelationProcessorCore LOGICAL_PROCESSOR_RELATIONSHIP = iota
	RelationNumaNode
	RelationCache
)

type LOGPALETTE

type LOGPALETTE struct {
	Version    WORD
	NumEntries WORD
	PalEntry   [1]PALETTEENTRY
}

type LOGPEN

type LOGPEN struct {
	Style UINT
	Width POINT
	Color COLORREF
}

type LONG

type LONG int32 //TODO(t):?SIZE __3264

type LONG64

type LONG64 int64

type LONGLONG

type LONGLONG int64 //TODO(t):Win64=128

type LONG_PTR

type LONG_PTR LONG

type LPARAM

type LPARAM LONG_PTR

type LRESULT

type LRESULT LONG_PTR

type LUID

type LUID struct {
	LowPart  DWORD
	HighPart LONG
}

type LUID_AND_ATTRIBUTES

type LUID_AND_ATTRIBUTES struct {
	Luid       LUID
	Attributes DWORD
}

type MAT2

type MAT2 struct {
	M11 FIXED
	M12 FIXED
	M21 FIXED
	M22 FIXED
}

type MCIDEVICEID

type MCIDEVICEID UINT

type MCIERROR

type MCIERROR DWORD

type MDICREATESTRUCT

type MDICREATESTRUCT struct {
	Class  VString
	Title  VString
	Owner  HANDLE
	X      int
	Y      int
	CX     int
	CY     int
	Style  DWORD
	LParam LPARAM
}

type MDINEXTMENU

type MDINEXTMENU struct {
	MenuIn   HMENU
	MenuNext HMENU
	WndNext  HWND
}

type MEASUREITEMSTRUCT

type MEASUREITEMSTRUCT struct {
	CtlType UINT
	CtlID   UINT
	ID      UINT
	Width   UINT
	Height  UINT
	Data    ULONG_PTR
}

type MEMORYSTATUS

type MEMORYSTATUS struct {
	Length        DWORD
	MemoryLoad    DWORD
	TotalPhys     SIZE_T
	AvailPhys     SIZE_T
	TotalPageFile SIZE_T
	AvailPageFile SIZE_T
	TotalVirtual  SIZE_T
	AvailVirtual  SIZE_T
}

type MEMORYSTATUSEX

type MEMORYSTATUSEX struct {
	Length               DWORD
	MemoryLoad           DWORD
	TotalPhys            DWORDLONG
	AvailPhys            DWORDLONG
	TotalPageFile        DWORDLONG
	AvailPageFile        DWORDLONG
	TotalVirtual         DWORDLONG
	AvailVirtual         DWORDLONG
	AvailExtendedVirtual DWORDLONG
}

type MEMORY_BASIC_INFORMATION

type MEMORY_BASIC_INFORMATION struct {
	BaseAddress       *VOID
	AllocationBase    *VOID
	AllocationProtect DWORD
	RegionSize        SIZE_T
	State             DWORD
	Protect           DWORD
	Type              DWORD
}

type MEMORY_RESOURCE_NOTIFICATION_TYPE

type MEMORY_RESOURCE_NOTIFICATION_TYPE enum
const (
	LowMemoryResourceNotification MEMORY_RESOURCE_NOTIFICATION_TYPE = iota
	HighMemoryResourceNotification
)
type MENUBARINFO struct {
	Size    DWORD
	Bar     RECT
	Menu    HMENU
	MenuWnd HWND
	Flags   DWORD
}
type MENUGETOBJECTINFO struct {
	Flags DWORD
	Pos   UINT
	Menu  HMENU
	Riid  *VOID
	Obj   *VOID
}
type MENUINFO struct {
	Size          DWORD
	Mask          DWORD
	Style         DWORD
	MaxHeight     UINT
	Back          HBRUSH
	ContextHelpID DWORD
	MenuData      ULONG_PTR
}
type MENUITEMINFO struct {
	Size         UINT
	Mask         UINT
	Type         UINT
	State        UINT
	ID           UINT
	SubMenu      HMENU
	Checked      HBITMAP
	Unchecked    HBITMAP
	ItemData     ULONG_PTR
	TypeData     *OVString
	TypeDataSize UINT
	Item         HBITMAP
}
type MENUITEMTEMPLATE struct {
	Option WORD
	ID     WORD
	String [1]WChar
}
type MENUITEMTEMPLATEHEADER struct {
	VersionNumber WORD
	Offset        WORD
}
type MENUTEMPLATE *VOID
type MENU_EVENT_RECORD struct {
	CommandId UINT
}

type METAFILEPICT

type METAFILEPICT struct {
	MM   LONG
	XExt LONG
	YExt LONG
	HMF  HMETAFILE
}

type METARECORD

type METARECORD struct {
	Size     DWORD
	Function WORD
	Parm     [1]WORD
}

type METHODDATA

type METHODDATA struct {
	Name   *OLECHAR
	Data   *PARAMDATA
	Dispid DISPID
	Meth   UINT
	CC     CALLCONV
	Args   UINT
	Flags  WORD
	Return VARTYPE
}

type MFENUMPROC

type MFENUMPROC func(
	hdc HDC,
	ht *HANDLETABLE,
	md *METARECORD,
	nObj int,
	param LPARAM) int

type MIDIHDR

type MIDIHDR struct {
	Data          AString
	BufferLength  DWORD
	BytesRecorded DWORD
	User          DWORD_PTR
	Flags         DWORD
	Next          *MIDIHDR

	Offset DWORD
	// contains filtered or unexported fields
}

type MIDIINCAPSA

type MIDIINCAPSA struct {
	Mid           WORD
	Pid           WORD
	DriverVersion MMVERSION
	Pname         [MAXPNAMELEN]AChar
	Support       DWORD
}

type MIDIINCAPSW

type MIDIINCAPSW struct {
	Mid           WORD
	Pid           WORD
	DriverVersion MMVERSION
	Pname         [MAXPNAMELEN]WChar
	Support       DWORD
}

type MIDIOUTCAPSA

type MIDIOUTCAPSA struct {
	Mid           WORD
	Pid           WORD
	DriverVersion MMVERSION
	Pname         [MAXPNAMELEN]AChar
	Technology    WORD
	Voices        WORD
	Notes         WORD
	ChannelMask   WORD
	Support       DWORD
}

type MIDIOUTCAPSW

type MIDIOUTCAPSW struct {
	Mid           WORD
	Pid           WORD
	DriverVersion MMVERSION
	Pname         [MAXPNAMELEN]WChar
	Technology    WORD
	Voices        WORD
	Notes         WORD
	ChannelMask   WORD
	Support       DWORD
}

type MIIM

type MIIM Fake_type_Fix_me
const (
	MIIM_STATE MIIM = 1 << iota
	MIIM_ID
	MIIM_SUBMENU
	MIIM_CHECKMARKS
	MIIM_TYPE
	MIIM_DATA
	MIIM_STRING
	MIIM_BITMAP
	MIIM_FTYPE
)

type MINIMIZEDMETRICS

type MINIMIZEDMETRICS struct {
	Size    UINT
	Width   int
	HorzGap int
	VertGap int
	Arrange int
}

type MINMAXINFO

type MINMAXINFO struct {
	Reserved     POINT
	MaxSize      POINT
	MaxPosition  POINT
	MinTrackSize POINT
	MaxTrackSize POINT
}

type MIXERCAPSA

type MIXERCAPSA struct {
	Mid           WORD
	Pid           WORD
	DriverVersion MMVERSION
	Pname         [MAXPNAMELEN]AChar
	Support       DWORD
	Destinations  DWORD
}

type MIXERCAPSW

type MIXERCAPSW struct {
	Mid           WORD
	Pid           WORD
	DriverVersion MMVERSION
	Pname         [MAXPNAMELEN]WChar
	Support       DWORD
	Destinations  DWORD
}

type MIXERCONTROLDETAILS

type MIXERCONTROLDETAILS struct {
	Struct    DWORD
	ControlID DWORD
	Channels  DWORD

	Owner HWND

	DetailsCount DWORD
	Details      *VOID
}

type MIXERLINEA

type MIXERLINEA struct {
	Struct        DWORD
	Destination   DWORD
	Source        DWORD
	LineID        DWORD
	Line          DWORD
	User          DWORD_PTR
	ComponentType DWORD
	Channels      DWORD
	Connections   DWORD
	Controls      DWORD
	ShortName     [MIXER_SHORT_NAME_CHARS]AChar
	Name          [MIXER_LONG_NAME_CHARS]AChar

	Type          DWORD
	DeviceID      DWORD
	Mid           WORD
	Pid           WORD
	DriverVersion MMVERSION
	Pname         [MAXPNAMELEN]AChar
}

type MIXERLINEW

type MIXERLINEW struct {
	// contains filtered or unexported fields
}

type MMCKINFO

type MMCKINFO struct {
	Id         FOURCC
	Size       DWORD
	Type       FOURCC
	DataOffset DWORD
	Flags      DWORD
}

type MMIOINFO

type MMIOINFO struct {
	Flags       DWORD
	Fourcc      FOURCC
	IOProc      *MMIOPROC
	ErrorRet    UINT
	Task        HTASK
	BufferCount LONG
	Buffer      *Char
	Next        *Char
	EndRead     *Char
	EndWrite    *Char
	BufOffset   LONG
	DiskOffset  LONG
	Info        [3]DWORD

	Mmio HMMIO
	// contains filtered or unexported fields
}

type MMIOPROC

type MMIOPROC func(
	mmioinfo AString, Msg UINT, Param1, Param2 LPARAM) LRESULT

type MMRESULT

type MMRESULT UINT

type MMTIME

type MMTIME struct {
	Type UINT

	Ms     DWORD
	Sample DWORD
	Cb     DWORD
	Ticks  DWORD

	Hour  BYTE
	Min   BYTE
	Sec   BYTE
	Frame BYTE
	Fps   BYTE
	Dummy BYTE
	Pad   [2]BYTE
	// contains filtered or unexported fields
}

type MMVERSION

type MMVERSION UINT

type MONITORENUMPROC

type MONITORENUMPROC func(HMONITOR, HDC, *RECT, LPARAM) BOOL

type MONITORINFO

type MONITORINFO struct {
	Size    DWORD
	Monitor RECT
	Work    RECT
	Flags   DWORD
}

type MONITORINFOEXA

type MONITORINFOEXA struct {
	MI     MONITORINFO
	Device [CCHDEVICENAME]AChar
}

type MONITORINFOEXW

type MONITORINFOEXW struct {
	MI     MONITORINFO
	Device [CCHDEVICENAME]WChar
}

type MOUSEHOOKSTRUCT

type MOUSEHOOKSTRUCT struct {
	Pt          POINT
	Wnd         HWND
	HitTestCode UINT
	ExtraInfo   ULONG_PTR
}

type MOUSEHOOKSTRUCTEX

type MOUSEHOOKSTRUCTEX struct {
	MHS       MOUSEHOOKSTRUCT
	MouseData DWORD
}

type MOUSEINPUT

type MOUSEINPUT struct {
	X         LONG
	Y         LONG
	MouseData DWORD
	Flags     DWORD
	Time      DWORD
	ExtraInfo ULONG_PTR
}

type MOUSEKEYS

type MOUSEKEYS struct {
	Size           UINT
	Flags          DWORD
	MaxSpeed       DWORD
	TimeToMaxSpeed DWORD
	CtrlSpeed      DWORD
	// contains filtered or unexported fields
}

type MOUSEMOVEPOINT

type MOUSEMOVEPOINT struct {
	X         int
	Y         int
	Time      DWORD
	ExtraInfo ULONG_PTR
}

type MOUSE_BUTTON_STATE

type MOUSE_BUTTON_STATE DWORD
const (
	FROM_LEFT_1ST_BUTTON_PRESSED MOUSE_BUTTON_STATE = 1 << iota
	RIGHTMOST_BUTTON_PRESSED
	FROM_LEFT_2ND_BUTTON_PRESSED
	FROM_LEFT_3RD_BUTTON_PRESSED
	FROM_LEFT_4TH_BUTTON_PRESSED
)

type MOUSE_EVENT_FLAGS

type MOUSE_EVENT_FLAGS DWORD
const (
	MOUSE_MOVED MOUSE_EVENT_FLAGS = 1 << iota
	DOUBLE_CLICK
	MOUSE_WHEELED
)

type MOUSE_EVENT_RECORD

type MOUSE_EVENT_RECORD struct {
	MousePosition   COORD
	ButtonState     MOUSE_BUTTON_STATE
	ControlKeyState CONTROL_KEY_STATE
	EventFlags      MOUSE_EVENT_FLAGS
}

type MSG

type MSG struct {
	Wnd     HWND
	Message UINT
	WParam  WPARAM
	LParam  LPARAM
	Time    DWORD
	Pt      POINT
}

type MSGBOXCALLBACK

type MSGBOXCALLBACK func(hi *HELPINFO)

type MSGBOXPARAMS

type MSGBOXPARAMS struct {
	Size           UINT
	Owner          HWND
	Instance       HINSTANCE
	Text           *VString
	Caption        *VString
	Style          MSGBOX_TYPE
	Icon           *VString
	ContextHelpId  DWORD_PTR
	MsgBoxCallback MSGBOXCALLBACK
	LanguageId     DWORD
}

type MSGBOX_TYPE

type MSGBOX_TYPE DWORD
const (
	MB_OK MSGBOX_TYPE = iota
	MB_OKCANCEL
	MB_ABORTRETRYIGNORE
	MB_YESNOCANCEL
	MB_YESNO
	MB_RETRYCANCEL
	MB_CANCELTRYCONTINUE
)

#if(WINVER >= 0x0400) * MessageBox() Flags

const (
	MB_ICONHAND MSGBOX_TYPE = 0x10 << iota
	MB_ICONQUESTION
	MB_ICONEXCLAMATION
	MB_ICONASTERISK
	MB_USERICON
	MB_DEFBUTTON2
	MB_DEFBUTTON3

	MB_SYSTEMMODAL
	MB_TASKMODAL
	MB_HELP
	MB_NOFOCUS
	MB_SETFOREGROUND
	MB_DEFAULT_DESKTOP_ONLY
	MB_TOPMOST
	MB_RIGHT
	MB_RTLREADING
	MB_SERVICE_NOTIFICATION
)

type MSLLHOOKSTRUCT

type MSLLHOOKSTRUCT struct {
	Pt        POINT
	MouseData DWORD
	Flags     DWORD
	Time      DWORD
	ExtraInfo ULONG_PTR
}

type MULTI_QI

type MULTI_QI struct {
	IID *IID
	Itf *IUnknown
	Hr  HRESULT
}

type MVString

type MVString *string //TODO(t):*[]string?

type NAMEENUMPROC

type NAMEENUMPROC func(*VString, LPARAM) BOOL

type NCB

type NCB struct {
	Command  UCHAR
	Retcode  UCHAR
	Lsn      UCHAR
	Num      UCHAR
	Buffer   *UCHAR
	Length   WORD
	Callname [NCBNAMSZ]UCHAR
	Name     [NCBNAMSZ]UCHAR
	Rto      UCHAR
	Sto      UCHAR
	Post     func(*NCB)
	Lana_num UCHAR
	Cmd_cplt UCHAR

	Event HANDLE
	// contains filtered or unexported fields
}

type NCCALCSIZE_PARAMS

type NCCALCSIZE_PARAMS struct {
	Rgrc [3]RECT
	Pos  *WINDOWPOS
}

type NETCONNECTINFOSTRUCT

type NETCONNECTINFOSTRUCT struct {
	Structure   DWORD
	Flags       DWORD
	Speed       DWORD
	Delay       DWORD
	OptDataSize DWORD
}

type NETENT

type NETENT struct {
	Name     *Char
	Aliases  **Char
	Addrtype SHORT
	Net      U_long
}

type NETINFOSTRUCT

type NETINFOSTRUCT struct {
	Structure       DWORD
	ProviderVersion DWORD
	Status          DWORD
	Characteristics DWORD
	Handle          ULONG_PTR
	NetType         WORD
	Printers        DWORD
	Drives          DWORD
}

type NETRESOURCE

type NETRESOURCE struct {
	Scope       DWORD
	Type        DWORD
	DisplayType DWORD
	Usage       DWORD
	LocalName   *VString
	RemoteName  *VString
	Comment     *VString
	Provider    *VString
}

type NLSVERSIONINFO

type NLSVERSIONINFO struct {
	NLSVersionInfoSize DWORD
	NLSVersion         DWORD
	DefinedVersion     DWORD
}

type NLS_FUNCTION

type NLS_FUNCTION DWORD

type NMHDR

type NMHDR struct {
	WndFrom HWND
	IdFrom  UINT_PTR
	Code    UINT
}

type NONCLIENTMETRICSA

type NONCLIENTMETRICSA struct {
	Size            UINT
	BorderWidth     int
	ScrollWidth     int
	ScrollHeight    int
	CaptionWidth    int
	CaptionHeight   int
	CaptionFont     LOGFONTA
	SmCaptionWidth  int
	SmCaptionHeight int
	SmCaptionFont   LOGFONTA
	MenuWidth       int
	MenuHeight      int
	MenuFont        LOGFONTA
	StatusFont      LOGFONTA
	MessageFont     LOGFONTA
}

type NONCLIENTMETRICSW

type NONCLIENTMETRICSW struct {
	Size            UINT
	BorderWidth     int
	ScrollWidth     int
	ScrollHeight    int
	CaptionWidth    int
	CaptionHeight   int
	CaptionFont     LOGFONTW
	SmCaptionWidth  int
	SmCaptionHeight int
	SmCaptionFont   LOGFONTW
	MenuWidth       int
	MenuHeight      int
	MenuFont        LOGFONTW
	StatusFont      LOGFONTW
	MessageFont     LOGFONTW
}

type NUMBERFMT

type NUMBERFMT struct {
	NumDigits     UINT
	LeadingZero   UINT
	Grouping      UINT
	DecimalSep    *VString
	ThousandSep   *VString
	NegativeOrder UINT
}

type NUMPARSE

type NUMPARSE struct {
	Dig       INT
	InFlags   ULONG
	OutFlags  ULONG
	Used      INT
	BaseShift INT
	Pwr10     INT
}

type OAString

type OAString *string

type OBJECT_TYPE_LIST

type OBJECT_TYPE_LIST struct {
	Level      WORD
	Sbz        WORD
	ObjectType *GUID
}

type OFSTRUCT

type OFSTRUCT struct {
	Bytes     BYTE
	FixedDisk BYTE
	ErrCode   WORD

	PathName [OFS_MAXPATHNAME]AChar
	// contains filtered or unexported fields
}

type OLECHAR

type OLECHAR WChar

type OLEINPLACEFRAMEINFO

type OLEINPLACEFRAMEINFO struct {
	CB           UINT
	MDIApp       BOOL
	Frame        HWND
	Accel        HACCEL
	AccelEntries UINT
}

type OLEMENUGROUPWIDTHS

type OLEMENUGROUPWIDTHS struct {
	Width [6]LONG
}

type OLESTR

type OLESTR WString

type OLESTREAM

type OLESTREAM struct{}

type OMVString

type OMVString *string //TODO(t):*[]string ?

type OSVERSIONINFOA

type OSVERSIONINFOA struct {
	OSVersionInfoSize DWORD
	MajorVersion      DWORD
	MinorVersion      DWORD
	BuildNumber       DWORD
	PlatformId        DWORD
	CSDVersion        [128]AChar
}

type OSVERSIONINFOEXA

type OSVERSIONINFOEXA struct {
	OSVersionInfoSize DWORD
	MajorVersion      DWORD
	MinorVersion      DWORD
	BuildNumber       DWORD
	PlatformId        DWORD
	CSDVersion        [128]AChar
	ServicePackMajor  WORD
	ServicePackMinor  WORD
	SuiteMask         WORD
	ProductType       BYTE
	Reserved          BYTE
}

type OSVERSIONINFOEXW

type OSVERSIONINFOEXW struct {
	OSVersionInfoSize DWORD
	MajorVersion      DWORD
	MinorVersion      DWORD
	BuildNumber       DWORD
	PlatformId        DWORD
	CSDVersion        [128]WChar
	ServicePackMajor  WORD
	ServicePackMinor  WORD
	SuiteMask         WORD
	ProductType       BYTE
	Reserved          BYTE
}

type OSVERSIONINFOW

type OSVERSIONINFOW struct {
	OSVersionInfoSize DWORD
	MajorVersion      DWORD
	MinorVersion      DWORD
	BuildNumber       DWORD
	PlatformId        DWORD
	CSDVersion        [128]WChar
}

type OUTLINETEXTMETRICA

type OUTLINETEXTMETRICA struct {
	Size               UINT
	TextMetrics        TEXTMETRICA
	Filler             BYTE
	PanoseNumber       PANOSE
	Selection          UINT
	Type               UINT
	CharSlopeRise      int
	CharSlopeRun       int
	ItalicAngle        int
	EMSquare           UINT
	Ascent             int
	Descent            int
	LineGap            UINT
	CapEmHeight        UINT
	XHeight            UINT
	FontBox            RECT
	MacAscent          int
	MacDescent         int
	MacLineGap         UINT
	MinimumPPEM        UINT
	SubscriptSize      POINT
	SubscriptOffset    POINT
	SuperscriptSize    POINT
	SuperscriptOffset  POINT
	StrikeoutSize      UINT
	StrikeoutPosition  int
	UnderscoreSize     int
	UnderscorePosition int
	FamilyName         AString
	FaceName           AString
	StyleName          AString
	FullName           AString
}

type OUTLINETEXTMETRICW

type OUTLINETEXTMETRICW struct {
	Size               UINT
	TextMetrics        TEXTMETRICW
	Filler             BYTE
	PanoseNumber       PANOSE
	Selection          UINT
	Type               UINT
	CharSlopeRise      int
	CharSlopeRun       int
	ItalicAngle        int
	EMSquare           UINT
	Ascent             int
	Descent            int
	LineGap            UINT
	CapEmHeight        UINT
	XHeight            UINT
	FontBox            RECT
	MacAscent          int
	MacDescent         int
	MacLineGap         UINT
	MinimumPPEM        UINT
	SubscriptSize      POINT
	SubscriptOffset    POINT
	SuperscriptSize    POINT
	SuperscriptOffset  POINT
	StrikeoutSize      UINT
	StrikeoutPosition  int
	UnderscoreSize     int
	UnderscorePosition int
	FamilyName         WString
	FaceName           WString
	StyleName          WString
	FullName           WString
}

type OUTPUT_DEBUG_STRING_INFO

type OUTPUT_DEBUG_STRING_INFO struct {
	DebugStringData   AString
	Unicode           WORD //TODO(t):use bool
	DebugStringLength WORD
}

type OVERLAPPED

type OVERLAPPED struct {
	Internal     ULONG_PTR
	InternalHigh ULONG_PTR
	Offset       DWORD //TODO(t): ALSO  Pointer *VOID
	OffsetHigh   DWORD
	Event        HANDLE
}

type OVERLAPPED_COMPLETION_ROUTINE

type OVERLAPPED_COMPLETION_ROUTINE func(
	ErrorCode, NumberOfBytesTransfered DWORD,
	Overlapped *OVERLAPPED)

type OWString

type OWString *string

type PAINTSTRUCT

type PAINTSTRUCT struct {
	DC        HDC
	Erase     BOOL
	Paint     RECT
	Restore   BOOL
	IncUpdate BOOL
	Reserved  [32]BYTE
}

type PALETTEENTRY

type PALETTEENTRY struct{ Red, Green, Blue, Flags BYTE }

type PANOSE

type PANOSE struct {
	FamilyType      BYTE
	SerifStyle      BYTE
	Weight          BYTE
	Proportion      BYTE
	Contrast        BYTE
	StrokeVariation BYTE
	ArmStyle        BYTE
	Letterform      BYTE
	Midline         BYTE
	XHeight         BYTE
}

type PARAMDATA

type PARAMDATA struct {
	Name *OLECHAR
	VT   VARTYPE
}

type PIXELFORMATDESCRIPTOR

type PIXELFORMATDESCRIPTOR struct {
	Size           WORD
	Version        WORD
	Flags          DWORD
	PixelType      BYTE
	ColorBits      BYTE
	RedBits        BYTE
	RedShift       BYTE
	GreenBits      BYTE
	GreenShift     BYTE
	BlueBits       BYTE
	BlueShift      BYTE
	AlphaBits      BYTE
	AlphaShift     BYTE
	AccumBits      BYTE
	AccumRedBits   BYTE
	AccumGreenBits BYTE
	AccumBlueBits  BYTE
	AccumAlphaBits BYTE
	DepthBits      BYTE
	StencilBits    BYTE
	AuxBuffers     BYTE
	LayerType      BYTE
	Reserved       BYTE
	LayerMask      DWORD
	VisibleMask    DWORD
	DamageMask     DWORD
}

type POINT

type POINT struct {
	X, Y LONG
}

type POINTFLOAT

type POINTFLOAT struct{ X, Y FLOAT }

type POLYTEXT

type POLYTEXT struct {
	X int
	Y int

	Str   *VString
	Flags UINT
	Rect  RECT
	DX    *int
	// contains filtered or unexported fields
}

type PRIVILEGE_SET

type PRIVILEGE_SET struct {
	PrivilegeCount DWORD
	Control        DWORD
	Privilege      [ANYSIZE_ARRAY]LUID_AND_ATTRIBUTES
}

type PROC

type PROC func() int //TODO(t):Win64 INT_PTR

type PROCESSOR_ARCHITECTURE

type PROCESSOR_ARCHITECTURE WORD
const (
	PROCESSOR_ARCHITECTURE_INTEL PROCESSOR_ARCHITECTURE = iota
	PROCESSOR_ARCHITECTURE_MIPS
	PROCESSOR_ARCHITECTURE_ALPHA
	PROCESSOR_ARCHITECTURE_PPC
	PROCESSOR_ARCHITECTURE_SHX
	PROCESSOR_ARCHITECTURE_ARM
	PROCESSOR_ARCHITECTURE_IA64
	PROCESSOR_ARCHITECTURE_ALPHA64
	PROCESSOR_ARCHITECTURE_MSIL
	PROCESSOR_ARCHITECTURE_AMD64
	PROCESSOR_ARCHITECTURE_IA32_ON_WIN64
	PROCESSOR_ARCHITECTURE_UNKNOWN PROCESSOR_ARCHITECTURE = 0xFFFF
)

type PROCESSOR_CACHE_TYPE

type PROCESSOR_CACHE_TYPE enum
const (
	CacheUnified PROCESSOR_CACHE_TYPE = iota
	CacheInstruction
	CacheData
	CacheTrace
)

type PROCESSOR_TYPE

type PROCESSOR_TYPE DWORD
const (
	PROCESSOR_INTEL_386     PROCESSOR_TYPE = 386
	PROCESSOR_INTEL_486     PROCESSOR_TYPE = 486
	PROCESSOR_INTEL_PENTIUM PROCESSOR_TYPE = 586
	PROCESSOR_INTEL_IA64    PROCESSOR_TYPE = 2200
	PROCESSOR_AMD_X8664     PROCESSOR_TYPE = 8664
	PROCESSOR_MIPS_R4000    PROCESSOR_TYPE = 4000
	PROCESSOR_ALPHA_21064   PROCESSOR_TYPE = 21064
	PROCESSOR_PPC_601       PROCESSOR_TYPE = 601
	PROCESSOR_PPC_603       PROCESSOR_TYPE = 603
	PROCESSOR_PPC_604       PROCESSOR_TYPE = 604
	PROCESSOR_PPC_620       PROCESSOR_TYPE = 620
	PROCESSOR_HITACHI_SH3   PROCESSOR_TYPE = 10003
	PROCESSOR_HITACHI_SH3E  PROCESSOR_TYPE = 10004
	PROCESSOR_HITACHI_SH4   PROCESSOR_TYPE = 10005
	PROCESSOR_MOTOROLA_821  PROCESSOR_TYPE = 821
	PROCESSOR_SHx_SH3       PROCESSOR_TYPE = 103
	PROCESSOR_SHx_SH4       PROCESSOR_TYPE = 104
	PROCESSOR_STRONGARM     PROCESSOR_TYPE = 2577
	PROCESSOR_ARM720        PROCESSOR_TYPE = 1824
	PROCESSOR_ARM820        PROCESSOR_TYPE = 2080
	PROCESSOR_ARM920        PROCESSOR_TYPE = 2336
	PROCESSOR_ARM_7TDMI     PROCESSOR_TYPE = 70001
	PROCESSOR_OPTIL         PROCESSOR_TYPE = 0x494f
)

type PROCESS_HEAP_ENTRY

type PROCESS_HEAP_ENTRY struct {
	Data *VOID

	Overhead    BYTE
	RegionIndex BYTE
	Flags       WORD
	//TODO(t):Union Start "Block"
	// hMem       HANDLE
	// dwReserved [3]DWORD
	//TODO(t):Union End "Block"
	//TODO(t):Union Start "Region"
	CommittedSize   DWORD
	UnCommittedSize DWORD
	FirstBlock      *VOID
	LastBlock       *VOID
	// contains filtered or unexported fields
}

type PROCESS_INFORMATION

type PROCESS_INFORMATION struct {
	Process   HANDLE
	Thread    HANDLE
	ProcessId DWORD
	ThreadId  DWORD
}

type PROGRESS_ROUTINE

type PROGRESS_ROUTINE func(
	TotalFileSize, TotalBytesTransferred, StreamSize,
	StreamBytesTransferred LARGE_INTEGER,
	StreamNumber,
	CallbackReason DWORD,
	SourceFile,
	DestinationFile HANDLE,
	Data *VOID) DWORD

type PROPENUMPROCA

type PROPENUMPROCA func(HWND, AString, HANDLE) BOOL

type PROPENUMPROCEXA

type PROPENUMPROCEXA func(HWND, AString, HANDLE, ULONG_PTR) BOOL

type PROPENUMPROCEXW

type PROPENUMPROCEXW func(HWND, WString, HANDLE, ULONG_PTR) BOOL

type PROPENUMPROCW

type PROPENUMPROCW func(HWND, WString, HANDLE) BOOL

type PROTOENT

type PROTOENT struct {
	Name    *Char
	Aliases **Char
	Proto   SHORT
}

type QOS

type QOS struct {
	SendingFlowspec   FLOWSPEC
	ReceivingFlowspec FLOWSPEC
	ProviderSpecific  WSABUF
}

type QUERYCONTEXT

type QUERYCONTEXT struct {
	Context   DWORD
	Platform  CSPLATFORM
	Locale    LCID
	VersionHi DWORD
	VersionLo DWORD
}

type QUERY_SERVICE_CONFIG

type QUERY_SERVICE_CONFIG struct {
	ServiceType      DWORD
	StartType        DWORD
	ErrorControl     DWORD
	BinaryPathName   *VString
	LoadOrderGroup   *VString
	TagId            DWORD
	Dependencies     *VString
	ServiceStartName *VString
	DisplayName      *VString
}

type QUERY_SERVICE_LOCK_STATUS

type QUERY_SERVICE_LOCK_STATUS struct {
	IsLocked     DWORD
	LockOwner    *VString
	LockDuration DWORD
}

type QUOTA_LIMITS

type QUOTA_LIMITS struct {
	PagedPoolLimit        SIZE_T
	NonPagedPoolLimit     SIZE_T
	MinimumWorkingSetSize SIZE_T
	MaximumWorkingSetSize SIZE_T
	PagefileLimit         SIZE_T
	TimeLimit             LARGE_INTEGER
}

type RASTERIZER_STATUS

type RASTERIZER_STATUS struct {
	Size       SHORT
	Flags      SHORT
	LanguageID SHORT
}

type RAWHID

type RAWHID struct {
	SizeHid DWORD
	Count   DWORD
	RawData [1]BYTE
}

type RAWINPUT

type RAWINPUT struct {
	Header RAWINPUTHEADER
	//TODO(t): union { 24
	Mouse RAWMOUSE
}

type RAWINPUTDEVICE

type RAWINPUTDEVICE struct {
	UsagePage USHORT
	Usage     USHORT
	Flags     RID_FLAGS
	Target    HWND
}

type RAWINPUTDEVICELIST

type RAWINPUTDEVICELIST struct {
	Device HANDLE
	Type   DWORD
}

type RAWINPUTHEADER

type RAWINPUTHEADER struct {
	Type   RAW_TYPE
	Size   DWORD
	Device HANDLE
	Param  WPARAM
}

type RAWKEYBOARD

type RAWKEYBOARD struct {
	MakeCode         USHORT
	Flags            USHORT
	Reserved         USHORT
	VKey             USHORT
	Message          UINT
	ExtraInformation ULONG
}

type RAWMOUSE

type RAWMOUSE struct {
	Flags USHORT
	// union {
	//     ULONG Buttons;
	//     struct  {
	ButtonFlags USHORT
	ButtonData  USHORT
	//     };
	// };
	RawButtons       ULONG
	LastX            LONG
	LastY            LONG
	ExtraInformation ULONG
}

type RAW_TYPE

type RAW_TYPE DWORD

type RECT

type RECT struct {
	Left   LONG
	Top    LONG
	Right  LONG
	Bottom LONG
}

type RECTL

type RECTL struct {
	Left   LONG
	Top    LONG
	Right  LONG
	Bottom LONG
}

type REFCLSID

type REFCLSID *IID

type REFGUID

type REFGUID *GUID

type REFIID

type REFIID *IID

type REGKIND

type REGKIND enum
const (
	REGKIND_DEFAULT REGKIND = iota
	REGKIND_REGISTER
	REGKIND_NONE
)

type REGSAM

type REGSAM ACCESS_MASK

type RGBQUAD

type RGBQUAD struct{ Blue, Green, Red, Reserved BYTE }

type RGNDATA

type RGNDATA struct {
	RDH    RGNDATAHEADER
	Buffer [1]Char
}

type RGNDATAHEADER

type RGNDATAHEADER struct {
	Size    DWORD
	Type    DWORD
	Count   DWORD
	RgnSize DWORD
	Bound   RECT
}

type RID_DEVICE_INFO

type RID_DEVICE_INFO struct {
	Size DWORD
	Type DWORD
	//TODO(t):union
	// Mouse    RID_DEVICE_INFO_MOUSE
	Keyboard RID_DEVICE_INFO_KEYBOARD
}

type RID_DEVICE_INFO_HID

type RID_DEVICE_INFO_HID struct {
	VendorId      DWORD
	ProductId     DWORD
	VersionNumber DWORD
	UsagePage     USHORT
	Usage         USHORT
}

type RID_DEVICE_INFO_KEYBOARD

type RID_DEVICE_INFO_KEYBOARD struct {
	Type                 DWORD
	SubType              DWORD
	KeyboardMode         DWORD
	NumberOfFunctionKeys DWORD
	NumberOfIndicators   DWORD
	NumberOfKeysTotal    DWORD
}

type RID_DEVICE_INFO_MOUSE

type RID_DEVICE_INFO_MOUSE struct {
	Id              DWORD
	NumberOfButtons DWORD
	SampleRate      DWORD
}

type RID_FLAGS

type RID_FLAGS DWORD
const (
	RIDEV_REMOVE       RID_FLAGS = 1
	RIDEV_CAPTUREMOUSE           = RIDEV_NOHOTKEYS
	RIDEV_EXMODEMASK   RID_FLAGS = 0xF0
)
const (
	RIDEV_EXCLUDE RID_FLAGS = 1<<iota + 4
	RIDEV_PAGEONLY
	RIDEV_NOLEGACY
)
const (
	RIDEV_INPUTSINK RID_FLAGS = 1<<iota + 8
	RIDEV_NOHOTKEYS
	RIDEV_APPKEYS
)

type RIP_INFO

type RIP_INFO struct {
	Error DWORD
	Type  DWORD
}

type RPC_AUTHZ_HANDLE

type RPC_AUTHZ_HANDLE *VOID

type RPC_AUTH_IDENTITY_HANDLE

type RPC_AUTH_IDENTITY_HANDLE *VOID

type SAFEARRAY

type SAFEARRAY struct {
	Dims     USHORT
	Features USHORT
	Elements ULONG
	Locks    ULONG
	Data     *VOID
	SABound  [1]SAFEARRAYBOUND
}

type SAFEARRAYBOUND

type SAFEARRAYBOUND struct {
	Elements ULONG
	Lbound   LONG
}

type SCODE

type SCODE int32

type SCROLLBARINFO

type SCROLLBARINFO struct {
	Size        DWORD
	ScrollBar   RECT
	LineButton  int
	ThumbTop    int
	ThumbBottom int

	RGState [CCHILDREN_SCROLLBAR + 1]DWORD
	// contains filtered or unexported fields
}

type SCROLLINFO

type SCROLLINFO struct {
	Size     UINT
	Mask     UINT
	Min      int
	Max      int
	Page     UINT
	Pos      int
	TrackPos int
}

type SC_ENUM_TYPE

type SC_ENUM_TYPE enum
const SC_ENUM_PROCESS_INFO SC_ENUM_TYPE = 0

type SC_HANDLE

type SC_HANDLE HANDLE

type SC_LOCK

type SC_LOCK *VOID

type SC_STATUS_TYPE

type SC_STATUS_TYPE enum
const SC_STATUS_PROCESS_INFO SC_STATUS_TYPE = 0

type SECURITY_ATTRIBUTES

type SECURITY_ATTRIBUTES struct {
	Length             DWORD
	SecurityDescriptor *VOID
	InheritHandle      BOOL
}

type SECURITY_CONTEXT_TRACKING_MODE

type SECURITY_CONTEXT_TRACKING_MODE BOOLEAN

type SECURITY_DESCRIPTOR

type SECURITY_DESCRIPTOR struct {
	Revision BYTE
	Sbz1     BYTE
	Control  SECURITY_DESCRIPTOR_CONTROL
	Owner    *SID
	Group    *SID
	Sacl     *ACL
	Dacl     *ACL
}

type SECURITY_DESCRIPTOR_CONTROL

type SECURITY_DESCRIPTOR_CONTROL USHORT

type SECURITY_IMPERSONATION_LEVEL

type SECURITY_IMPERSONATION_LEVEL enum
const (
	SecurityAnonymous SECURITY_IMPERSONATION_LEVEL = iota
	SecurityIdentification
	SecurityImpersonation
	SecurityDelegation
)

type SECURITY_INFORMATION

type SECURITY_INFORMATION DWORD

type SECURITY_QUALITY_OF_SERVICE

type SECURITY_QUALITY_OF_SERVICE struct {
	Length              DWORD
	ImpersonationLevel  SECURITY_IMPERSONATION_LEVEL
	ContextTrackingMode SECURITY_CONTEXT_TRACKING_MODE
	EffectiveOnly       BOOLEAN
}

type SENDASYNCPROC

type SENDASYNCPROC func(HWND, UINT, ULONG_PTR, LRESULT)

type SERIALKEYS

type SERIALKEYS struct {
	Size       UINT
	Flags      DWORD
	ActivePort VString
	Port       VString
	BaudRate   UINT
	PortState  UINT
	Active     UINT
}

type SERVENT

type SERVENT struct {
	Name    *Char
	Aliases **Char

	Port  SHORT
	Proto *Char
}

type SERVICETYPE

type SERVICETYPE ULONG

type SERVICE_MAIN_FUNCTION

type SERVICE_MAIN_FUNCTION func(
	NumServicesArgs DWORD, ServiceArgVectors *VString)

type SERVICE_STATUS

type SERVICE_STATUS struct {
	ServiceType             DWORD
	CurrentState            DWORD
	ControlsAccepted        DWORD
	Win32ExitCode           DWORD
	ServiceSpecificExitCode DWORD
	CheckPoint              DWORD
	WaitHint                DWORD
}

type SERVICE_STATUS_HANDLE

type SERVICE_STATUS_HANDLE HANDLE

type SERVICE_TABLE_ENTRY

type SERVICE_TABLE_ENTRY struct {
	ServiceName *VString
	ServiceProc *SERVICE_MAIN_FUNCTION
}

type SHCREATEPROCESSINFOW

type SHCREATEPROCESSINFOW struct {
	Size              DWORD
	Mask              ULONG
	Wnd               HWND
	File              WString
	Parameters        WString
	CurrentDirectory  WString
	UserToken         HANDLE
	ProcessAttributes *SECURITY_ATTRIBUTES
	ThreadAttributes  *SECURITY_ATTRIBUTES
	InheritHandles    BOOL
	CreationFlags     DWORD
	StartupInfo       *STARTUPINFO

	ProcessInformation *PROCESS_INFORMATION
}

type SHELLHOOKINFO

type SHELLHOOKINFO struct {
	Hwnd HWND
	Rc   RECT
}

type SHFILEINFOA

type SHFILEINFOA struct {
	HIcon       HICON
	Icon        int
	Attributes  DWORD
	DisplayName [MAX_PATH]AChar
	TypeName    [80]AChar
}

type SHFILEINFOW

type SHFILEINFOW struct {
	HIcon       HICON
	Icon        int
	Attributes  DWORD
	DisplayName [MAX_PATH]WChar
	TypeName    [80]WChar
}

type SHORT

type SHORT int16

type SID

type SID struct {
	Revision            BYTE
	SubAuthorityCount   BYTE
	IdentifierAuthority SID_IDENTIFIER_AUTHORITY
	SubAuthority        [ANYSIZE_ARRAY]DWORD
}

type SID_AND_ATTRIBUTES

type SID_AND_ATTRIBUTES struct {
	Sid        *SID
	Attributes DWORD
}

type SID_IDENTIFIER_AUTHORITY

type SID_IDENTIFIER_AUTHORITY struct {
	Value [6]BYTE
}

type SID_NAME_USE

type SID_NAME_USE enum
const (
	SidTypeUser SID_NAME_USE = iota + 1
	SidTypeGroup
	SidTypeDomain
	SidTypeAlias
	SidTypeWellKnownGroup
	SidTypeDeletedAccount
	SidTypeInvalid
	SidTypeUnknown
	SidTypeComputer
)

type SINGLE_LIST_ENTRY

type SINGLE_LIST_ENTRY struct {
	Next *SINGLE_LIST_ENTRY
}

type SIZE

type SIZE struct{ CX, CU INT }

type SIZEL

type SIZEL struct{ CX, CY LONG }

type SIZE_T

type SIZE_T ULONG_PTR

type SLIST_ENTRY

type SLIST_ENTRY SINGLE_LIST_ENTRY

type SLIST_HEADER

type SLIST_HEADER struct {
	// Alignment ULONGLONG
	Next     SLIST_ENTRY
	Depth    WORD
	Sequence WORD
}

type SMALL_RECT

type SMALL_RECT struct {
	Left   SHORT
	Top    SHORT
	Right  SHORT
	Bottom SHORT
}

type SNB

type SNB **OLECHAR

type SOCKADDR

type SOCKADDR struct {
	Sa_family U_short
	Sa_data   [14]Char
}

type SOCKET

type SOCKET UINT_PTR

type SOCKET_ADDRESS

type SOCKET_ADDRESS struct {
	Sockaddr       *SOCKADDR
	SockaddrLength INT
}

type SOLE_AUTHENTICATION_SERVICE

type SOLE_AUTHENTICATION_SERVICE struct {
	AuthnSvc      DWORD
	AuthzSvc      DWORD
	PrincipalName *OLECHAR

	Hr HRESULT
}

type SOUNDSENTRY

type SOUNDSENTRY struct {
	Size                  UINT
	Flags                 DWORD
	FSTextEffect          DWORD
	FSTextEffectMSec      DWORD
	FSTextEffectColorBits DWORD
	FSGrafEffect          DWORD
	FSGrafEffectMSec      DWORD
	FSGrafEffectColor     DWORD
	WindowsEffect         DWORD
	WindowsEffectMSec     DWORD
	WindowsEffectDLL      VString
	WindowsEffectOrdinal  DWORD
}

type STARTUPINFO

type STARTUPINFO struct {
	Len DWORD

	Desktop       *OVString
	Title         *OVString
	X             DWORD
	Y             DWORD
	XSize         DWORD
	YSize         DWORD
	XCountChars   DWORD
	YCountChars   DWORD
	FillAttribute DWORD
	Flags         DWORD
	ShowWindow    WORD

	StdInput  HANDLE
	StdOutput HANDLE
	StdError  HANDLE
	// contains filtered or unexported fields
}

type STGMEDIUM

type STGMEDIUM struct {
	Tymed DWORD

	Bitmap HBITMAP
	// MetaFilePict HMETAFILEPICT
	// EnhMetaFile  HENHMETAFILE
	// Global       HGLOBAL
	// FileName     LPOLESTR
	// Stm          *IStream
	// Stg          *IStorage
	//}
	UnkForRelease *IUnknown
}

type STGOPTIONS

type STGOPTIONS struct {
	Version USHORT

	SectorSize   ULONG
	TemplateFile *WChar
	// contains filtered or unexported fields
}

type STICKYKEYS

type STICKYKEYS struct {
	Size  UINT
	Flags DWORD
}

type STREAM

type STREAM IStream

type STREAM_INFO_LEVELS

type STREAM_INFO_LEVELS enum
const (
	FindStreamInfoStandard STREAM_INFO_LEVELS = iota
	FindStreamInfoMaxInfoLevel
)

type STYLESTRUCT

type STYLESTRUCT struct {
	StyleOld DWORD
	StyleNew DWORD
}

type SUBCLASSPROC

type SUBCLASSPROC func(
	win HWND,
	msg UINT,
	w WPARAM,
	l LPARAM,
	subclass UINT_PTR,
	refData DWORD_PTR) LRESULT

type SYSKIND

type SYSKIND enum
const (
	SYS_WIN16 SYSKIND = iota
	SYS_WIN32
	SYS_MAC
	SYS_WIN64
)

type SYSTEMTIME

type SYSTEMTIME struct {
	Year         WORD
	Month        WORD
	DayOfWeek    WORD
	Day          WORD
	Hour         WORD
	Minute       WORD
	Second       WORD
	Milliseconds WORD
}

type SYSTEM_INFO

type SYSTEM_INFO struct {
	ProcessorArchitecture PROCESSOR_ARCHITECTURE

	PageSize                  DWORD
	MinimumApplicationAddress *VOID
	MaximumApplicationAddress *VOID
	ActiveProcessorMask       DWORD_PTR
	NumberOfProcessors        DWORD
	ProcessorType             PROCESSOR_TYPE
	AllocationGranularity     DWORD
	ProcessorLevel            WORD
	ProcessorRevision         WORD
	// contains filtered or unexported fields
}

type SYSTEM_LOGICAL_PROCESSOR_INFORMATION

type SYSTEM_LOGICAL_PROCESSOR_INFORMATION struct {
	ProcessorMask ULONG_PTR
	Relationship  LOGICAL_PROCESSOR_RELATIONSHIP
	//TODO(t): union {BYTE  Flags;} ProcessorCore;
	//TODO(t): union {DWORD NodeNumber;} NumaNode;
	//TODO(t): union
	Cache    CACHE_DESCRIPTOR
	Reserved [2]ULONGLONG
}

type SYSTEM_POWER_STATUS

type SYSTEM_POWER_STATUS struct {
	ACLineStatus        BYTE
	BatteryFlag         BYTE
	BatteryLifePercent  BYTE
	Reserved1           BYTE
	BatteryLifeTime     DWORD
	BatteryFullLifeTime DWORD
}

type TBBUTTON

type TBBUTTON struct {
	Bitmap  int
	Command int
	State   BYTE
	Style   BYTE

	Data   DWORD_PTR
	String INT_PTR
	// contains filtered or unexported fields
}

type TEXTMETRICA

type TEXTMETRICA struct {
	Height           LONG
	Ascent           LONG
	Descent          LONG
	InternalLeading  LONG
	ExternalLeading  LONG
	AveCharWidth     LONG
	MaxCharWidth     LONG
	Weight           LONG
	Overhang         LONG
	DigitizedAspectX LONG
	DigitizedAspectY LONG
	FirstChar        AChar
	LastChar         AChar
	DefaultChar      AChar
	BreakChar        AChar
	Italic           BYTE
	Underlined       BYTE
	StruckOut        BYTE
	PitchAndFamily   BYTE
	CharSet          BYTE
}

type TEXTMETRICW

type TEXTMETRICW struct {
	Height           LONG
	Ascent           LONG
	Descent          LONG
	InternalLeading  LONG
	ExternalLeading  LONG
	AveCharWidth     LONG
	MaxCharWidth     LONG
	Weight           LONG
	Overhang         LONG
	DigitizedAspectX LONG
	DigitizedAspectY LONG
	FirstChar        WChar
	LastChar         WChar
	DefaultChar      WChar
	BreakChar        WChar
	Italic           BYTE
	Underlined       BYTE
	StruckOut        BYTE
	PitchAndFamily   BYTE
	CharSet          BYTE
}

type THREAD_START_ROUTINE

type THREAD_START_ROUTINE func(
	ThreadParameter *VOID) DWORD

type TIMECALLBACK

type TIMECALLBACK func(
	timerId, msg UINT, urser, dw1, dw2 DWORD_PTR)

type TIMECAPS

type TIMECAPS struct {
	PeriodMin UINT
	PeriodMax UINT
}

type TIMEFMT_ENUMPROC

type TIMEFMT_ENUMPROC func(*VString) BOOL

type TIMERAPCROUTINE

type TIMERAPCROUTINE func(
	completionRoutine *VOID, howVal DWORD, highVal DWORD)

type TIMERPROC

type TIMERPROC func(HWND, UINT, UINT_PTR, DWORD)

type TIMEVAL

type TIMEVAL struct {
	Sec  LONG
	USec LONG
}

type TIME_ZONE_INFORMATION

type TIME_ZONE_INFORMATION struct {
	Bias         LONG
	StandardName [32]WChar
	StandardDate SYSTEMTIME
	StandardBias LONG
	DaylightName [32]WChar
	DaylightDate SYSTEMTIME
	DaylightBias LONG
}

type TITLEBARINFO

type TITLEBARINFO struct {
	Size     DWORD
	TitleBar RECT
	RGState  [CCHILDREN_TITLEBAR + 1]DWORD
}

type TME_FLAGS

type TME_FLAGS DWORD
const (
	TME_HOVER     TME_FLAGS = 0x1
	TME_LEAVE     TME_FLAGS = 0x2
	TME_NONCLIENT TME_FLAGS = 0x10
	TME_QUERY     TME_FLAGS = 0x40000000
	TME_CANCEL    TME_FLAGS = 0x80000000
)

type TOGGLEKEYS

type TOGGLEKEYS struct {
	Size  UINT
	Flags DWORD
}

type TOKEN_GROUPS

type TOKEN_GROUPS struct {
	GroupCount DWORD
	Groups     [ANYSIZE_ARRAY]SID_AND_ATTRIBUTES
}

type TOKEN_INFORMATION_CLASS

type TOKEN_INFORMATION_CLASS enum
const (
	TokenUser TOKEN_INFORMATION_CLASS = iota + 1
	TokenGroups
	TokenPrivileges
	TokenOwner
	TokenPrimaryGroup
	TokenDefaultDacl
	TokenSource
	TokenType
	TokenImpersonationLevel
	TokenStatistics
	TokenRestrictedSids
	TokenSessionId
	TokenGroupsAndPrivileges
	TokenSessionReference
	TokenSandBoxInert
	TokenAuditPolicy
	TokenOrigin
	MaxTokenInfoClass
)

type TOKEN_PRIVILEGES

type TOKEN_PRIVILEGES struct {
	PrivilegeCount DWORD
	Privileges     [ANYSIZE_ARRAY]LUID_AND_ATTRIBUTES
}

type TOKEN_TYPE

type TOKEN_TYPE enum
const (
	TokenPrimary TOKEN_TYPE = iota + 1
	TokenImpersonation
)

type TOP_LEVEL_EXCEPTION_FILTER

type TOP_LEVEL_EXCEPTION_FILTER func(
	excepInfo *EXCEPTION_POINTERS) LONG

type TPMPARAMS

type TPMPARAMS struct {
	Size    UINT
	Exclude RECT
}

type TRACKMOUSEEVENT

type TRACKMOUSEEVENT struct {
	Size      DWORD
	Flags     DWORD
	Track     HWND
	HoverTime DWORD
}

type TRANSMIT_FILE_BUFFERS

type TRANSMIT_FILE_BUFFERS struct {
	Head       *VOID
	HeadLength DWORD
	Tail       *VOID
	TailLength DWORD
}

type TRIVERTEX

type TRIVERTEX struct {
	X     LONG
	Y     LONG
	Red   COLOR16
	Green COLOR16
	Blue  COLOR16
	Alpha COLOR16
}

type UCHAR

type UCHAR byte

type UCLSSPEC

type UCLSSPEC struct {
	Tyspec DWORD
}

type UDATE

type UDATE struct {
	ST        SYSTEMTIME
	DayOfYear USHORT
}

type UILANGUAGE_ENUMPROC

type UILANGUAGE_ENUMPROC func(*VString, LONG_PTR) BOOL

type UINT

type UINT uint

type UINT_PTR

type UINT_PTR UINT

type ULARGE_INTEGER

type ULARGE_INTEGER struct {
	LowPart  DWORD
	HighPart DWORD
}

type ULONG

type ULONG DWORD //TODO(t):size

type ULONG64

type ULONG64 uint64

type ULONGLONG

type ULONGLONG uint64 //TODO(t):Win64=128?

type ULONG_PTR

type ULONG_PTR uintptr //TODO(t):true def

type UNLOAD_DLL_DEBUG_INFO

type UNLOAD_DLL_DEBUG_INFO struct {
	BaseOfDll *VOID
}

type UPDATELAYEREDWINDOWINFO

type UPDATELAYEREDWINDOWINFO struct {
	Size   DWORD
	Dst    HDC
	PtDst  *POINT
	PtSize *SIZE
	Src    HDC
	PtSrc  *POINT
	Key    COLORREF
	Func   *BLENDFUNCTION //TODO(t):&?
	Flags  DWORD
	Dirty  *RECT
}

type USEROBJECTFLAGS

type USEROBJECTFLAGS struct {
	Inherit  BOOL
	Reserved BOOL
	Flags    DWORD
}

type USHORT

type USHORT uint16 //TODO(t):size

type U_int

type U_int uint

type U_long

type U_long uint32

type U_short

type U_short uint16

type Unsigned_int

type Unsigned_int uint

type Unsigned_long

type Unsigned_long uint32

type Unsigned_short

type Unsigned_short uint16

type VALENT

type VALENT struct {
	Valuename *VString
	Valuelen  DWORD
	Valueptr  DWORD_PTR
	Type      DWORD
}

type VARIANT

type VARIANT struct {
}

type VARIANTARG

type VARIANTARG VARIANT

type VARIANT_BOOL

type VARIANT_BOOL int16

type VARTYPE

type VARTYPE uint16

type VChar

type VChar *uint16 //TODO(t): uint8/uint16

type VECTORED_EXCEPTION_HANDLER

type VECTORED_EXCEPTION_HANDLER func(
	ExceptionInfo *EXCEPTION_POINTERS) LONG

type VOID

type VOID struct{} // //TODO(t):Go does not do coercion; Any side-effects?

type VOID64

type VOID64 struct{} //TODO(t):__ptr64 //TODO(t):Go does not do coercion; Any side-effects?

type WAITORTIMERCALLBACK

type WAITORTIMERCALLBACK func(*VOID, BOOLEAN)

type WAVEFORMATEX

type WAVEFORMATEX struct {
	FormatTag      WORD
	Channels       WORD
	SamplesPerSec  DWORD
	AvgBytesPerSec DWORD
	BlockAlign     WORD
	BitsPerSample  WORD
	Size           WORD
}

type WAVEHDR

type WAVEHDR struct {
	Data          AString
	BufferLength  DWORD
	BytesRecorded DWORD
	User          DWORD_PTR
	Flags         DWORD
	Loops         DWORD
	Next          *WAVEHDR
	// contains filtered or unexported fields
}

type WAVEINCAPSA

type WAVEINCAPSA struct {
	Mid           WORD
	Pid           WORD
	DriverVersion MMVERSION
	Pname         [MAXPNAMELEN]AChar
	Formats       DWORD
	Channels      WORD
	// contains filtered or unexported fields
}

type WAVEINCAPSW

type WAVEINCAPSW struct {
	Mid           WORD
	Pid           WORD
	DriverVersion MMVERSION
	Pname         [MAXPNAMELEN]WChar
	Formats       DWORD
	Channels      WORD
	// contains filtered or unexported fields
}

type WAVEOUTCAPSA

type WAVEOUTCAPSA struct {
	Mid           WORD
	Pid           WORD
	DriverVersion MMVERSION
	Pname         [MAXPNAMELEN]AChar
	Formats       DWORD
	Channels      WORD

	Support DWORD
	// contains filtered or unexported fields
}

type WAVEOUTCAPSW

type WAVEOUTCAPSW struct {
	Mid           WORD
	Pid           WORD
	DriverVersion MMVERSION
	Pname         [MAXPNAMELEN]WChar
	Formats       DWORD
	Channels      WORD

	Support DWORD
	// contains filtered or unexported fields
}

type WCRANGE

type WCRANGE struct {
	Low    WChar
	Glyphs USHORT
}

type WChar

type WChar uint16

type WELL_KNOWN_SID_TYPE

type WELL_KNOWN_SID_TYPE enum

type WGLSWAP

type WGLSWAP struct {
	DC    HDC
	Flags UINT
}

type WGL_SWAP_FLAG

type WGL_SWAP_FLAG UINT
const (
	WGL_SWAP_MAIN_PLANE WGL_SWAP_FLAG = 1 << iota
	WGL_SWAP_OVERLAY1
	WGL_SWAP_OVERLAY2
	WGL_SWAP_OVERLAY3
	WGL_SWAP_OVERLAY4
	WGL_SWAP_OVERLAY5
	WGL_SWAP_OVERLAY6
	WGL_SWAP_OVERLAY7
	WGL_SWAP_OVERLAY8
	WGL_SWAP_OVERLAY9
	WGL_SWAP_OVERLAY10
	WGL_SWAP_OVERLAY11
	WGL_SWAP_OVERLAY12
	WGL_SWAP_OVERLAY13
	WGL_SWAP_OVERLAY14
	WGL_SWAP_OVERLAY15
	WGL_SWAP_UNDERLAY1
	WGL_SWAP_UNDERLAY2
	WGL_SWAP_UNDERLAY3
	WGL_SWAP_UNDERLAY4
	WGL_SWAP_UNDERLAY5
	WGL_SWAP_UNDERLAY6
	WGL_SWAP_UNDERLAY7
	WGL_SWAP_UNDERLAY8
	WGL_SWAP_UNDERLAY9
	WGL_SWAP_UNDERLAY10
	WGL_SWAP_UNDERLAY11
	WGL_SWAP_UNDERLAY12
	WGL_SWAP_UNDERLAY13
	WGL_SWAP_UNDERLAY14
	WGL_SWAP_UNDERLAY15
)

type WIN32_FILE_ATTRIBUTE_DATA

type WIN32_FILE_ATTRIBUTE_DATA struct {
	FileAttributes DWORD
	CreationTime   FILETIME
	LastAccessTime FILETIME
	LastWriteTime  FILETIME
	FileSizeHigh   DWORD
	FileSizeLow    DWORD
}

type WIN32_FIND_DATAA

type WIN32_FIND_DATAA struct {
	FileAttributes DWORD
	CreationTime   FILETIME
	LastAccessTime FILETIME
	LastWriteTime  FILETIME
	FileSizeHigh   DWORD
	FileSizeLow    DWORD

	FileName          [MAX_PATH]AChar
	AlternateFileName [14]AChar
	// contains filtered or unexported fields
}

type WIN32_FIND_DATAW

type WIN32_FIND_DATAW struct {
	FileAttributes DWORD
	CreationTime   FILETIME
	LastAccessTime FILETIME
	LastWriteTime  FILETIME
	FileSizeHigh   DWORD
	FileSizeLow    DWORD

	FileName          [MAX_PATH]WChar
	AlternateFileName [14]WChar
	// contains filtered or unexported fields
}

type WIN32_FIND_STREAM_DATA

type WIN32_FIND_STREAM_DATA struct {
	StreamSize LARGE_INTEGER
	StreamName [MAX_PATH + 36]WChar
}

type WIN32_STREAM_ID

type WIN32_STREAM_ID struct {
	StreamId         DWORD
	StreamAttributes DWORD
	Size             LARGE_INTEGER
	StreamNameSize   DWORD
	StreamName       [ANYSIZE_ARRAY]WChar
}

type WINDOWINFO

type WINDOWINFO struct {
	Size           DWORD
	Window         RECT
	Client         RECT
	Style          DWORD
	ExStyle        DWORD
	WindowStatus   DWORD
	XWindowBorders UINT
	YWindowBorders UINT
	WindowType     ATOM
	CreatorVersion WORD
}

type WINDOWPLACEMENT

type WINDOWPLACEMENT struct {
	Length         UINT
	Flags          WP_FLAGS
	ShowCmd        UINT
	MinPosition    POINT
	MaxPosition    POINT
	NormalPosition RECT
}

type WINDOWPOS

type WINDOWPOS struct {
	Wnd            HWND
	WndInsertAfter HWND
	X              int
	Y              int
	CX             int
	CY             int
	Flags          UINT
}

type WINDOW_BUFFER_SIZE_RECORD

type WINDOW_BUFFER_SIZE_RECORD struct {
	Size COORD
}

type WINDOW_MESSAGE

type WINDOW_MESSAGE UINT
const (
	WM_NULL WINDOW_MESSAGE = iota
	WM_CREATE
	WM_DESTROY
	WM_MOVE

	WM_SIZE
	WM_ACTIVATE

	WM_SETFOCUS
	WM_KILLFOCUS

	WM_ENABLE
	WM_SETREDRAW
	WM_SETTEXT
	WM_GETTEXT
	WM_GETTEXTLENGTH
	WM_PAINT
	WM_CLOSE // 0x0010
	WM_QUERYENDSESSION
	WM_QUIT
	WM_QUERYOPEN
	WM_ERASEBKGND
	WM_SYSCOLORCHANGE
	WM_ENDSESSION

	WM_SHOWWINDOW

	WM_WININICHANGE

	WM_DEVMODECHANGE
	WM_ACTIVATEAPP
	WM_FONTCHANGE
	WM_TIMECHANGE
	WM_CANCELMODE
	WM_SETCURSOR // 0x0020
	WM_MOUSEACTIVATE
	WM_CHILDACTIVATE
	WM_QUEUESYNC
	WM_GETMINMAXINFO

	WM_PAINTICON
	WM_ICONERASEBKGND
	WM_NEXTDLGCTL

	WM_SPOOLERSTATUS
	WM_DRAWITEM
	WM_MEASUREITEM
	WM_DELETEITEM
	WM_VKEYTOITEM
	WM_CHARTOITEM
	WM_SETFONT // 0x0030
	WM_GETFONT
	WM_SETHOTKEY
	WM_GETHOTKEY

	WM_QUERYDRAGICON

	WM_COMPAREITEM

	WM_GETOBJECT

	WM_COMPACTING

	WM_COMMNOTIFY // no longer suported

	WM_WINDOWPOSCHANGING
	WM_WINDOWPOSCHANGED
	WM_POWER

	WM_COPYDATA
	WM_CANCELJOURNAL

	WM_NOTIFY

	WM_INPUTLANGCHANGEREQUEST // 0x0050
	WM_INPUTLANGCHANGE
	WM_TCARD
	WM_HELP
	WM_USERCHANGED
	WM_NOTIFYFORMAT
)
const (
	WM_CONTEXTMENU WINDOW_MESSAGE = iota + 0x007B
	WM_STYLECHANGING
	WM_STYLECHANGED
	WM_DISPLAYCHANGE
	WM_GETICON
	WM_SETICON // 0x80
	WM_NCCREATE
	WM_NCDESTROY
	WM_NCCALCSIZE
	WM_NCHITTEST
	WM_NCPAINT
	WM_NCACTIVATE
	WM_GETDLGCODE
	WM_SYNCPAINT
)
const (
	WM_NCMOUSEMOVE WINDOW_MESSAGE = iota + 0x00A0
	WM_NCLBUTTONDOWN
	WM_NCLBUTTONUP
	WM_NCLBUTTONDBLCLK
	WM_NCRBUTTONDOWN
	WM_NCRBUTTONUP
	WM_NCRBUTTONDBLCLK
	WM_NCMBUTTONDOWN
	WM_NCMBUTTONUP
	WM_NCMBUTTONDBLCLK

	WM_NCXBUTTONDOWN
	WM_NCXBUTTONUP
	WM_NCXBUTTONDBLCLK
)
const (
	WM_INPUT   WINDOW_MESSAGE = iota + 0x00FF
	WM_KEYDOWN                //0x100
	WM_KEYUP
	WM_CHAR
	WM_DEADCHAR
	WM_SYSKEYDOWN
	WM_SYSKEYUP
	WM_SYSCHAR
	WM_SYSDEADCHAR

	WM_UNICHAR

	WM_IME_STARTCOMPOSITION
	WM_IME_ENDCOMPOSITION
	WM_IME_COMPOSITION
	WM_INITDIALOG //0x110
	WM_COMMAND
	WM_SYSCOMMAND
	WM_TIMER
	WM_HSCROLL
	WM_VSCROLL
	WM_INITMENU
	WM_INITMENUPOPUP

	WM_MENUSELECT
	WM_MENUCHAR // 0x120
	WM_ENTERIDLE
	WM_MENURBUTTONUP
	WM_MENUDRAG
	WM_MENUGETOBJECT
	WM_UNINITMENUPOPUP
	WM_MENUCOMMAND
	WM_CHANGEUISTATE
	WM_UPDATEUISTATE
	WM_QUERYUISTATE

	WM_CTLCOLORMSGBOX
	WM_CTLCOLOREDIT
	WM_CTLCOLORLISTBOX
	WM_CTLCOLORBTN
	WM_CTLCOLORDLG
	WM_CTLCOLORSCROLLBAR
	WM_CTLCOLORSTATIC // 0x0138

	WM_KEYFIRST = WM_KEYDOWN
	WM_KEYLAST  = WM_UNICHAR
	// UNICODE_NOCHAR                  0xFFFF
	WM_IME_KEYLAST = WM_IME_COMPOSITION
)
const (
	WM_MOUSEFIRST WINDOW_MESSAGE = iota + 0x200
	WM_MOUSEMOVE
	WM_LBUTTONDOWN
	WM_LBUTTONUP
	WM_LBUTTONDBLCLK
	WM_RBUTTONDOWN
	WM_RBUTTONUP
	WM_RBUTTONDBLCLK
	WM_MBUTTONDOWN
	WM_MBUTTONUP
	WM_MBUTTONDBLCLK
	WM_MOUSEWHEEL
	WM_XBUTTONDOWN
	WM_XBUTTONUP
	WM_XBUTTONDBLCLK

	WM_PARENTNOTIFY // 0x210
	WM_ENTERMENULOOP
	WM_EXITMENULOOP
	WM_NEXTMENU
	WM_SIZING
	WM_CAPTURECHANGED
	WM_MOVING

	WM_POWERBROADCAST
	//PBT_APMQUERYSUSPEND             0x0000
	//PBT_APMQUERYSTANDBY             0x0001
	//PBT_APMQUERYSUSPENDFAILED       0x0002
	//PBT_APMQUERYSTANDBYFAILED       0x0003
	//PBT_APMSUSPEND                  0x0004
	//PBT_APMSTANDBY                  0x0005
	//PBT_APMRESUMECRITICAL           0x0006
	//PBT_APMRESUMESUSPEND            0x0007
	//PBT_APMRESUMESTANDBY            0x0008
	//PBTF_APMRESUMEFROMFAILURE       0x00000001
	//PBT_APMBATTERYLOW               0x0009
	//PBT_APMPOWERSTATUSCHANGE        0x000A
	//PBT_APMOEMEVENT                 0x000B
	//PBT_APMRESUMEAUTOMATIC          0x0012
	WM_DEVICECHANGE // 0x219

	WM_MDICREATE // 0x220
	WM_MDIDESTROY
	WM_MDIACTIVATE
	WM_MDIRESTORE
	WM_MDINEXT
	WM_MDIMAXIMIZE
	WM_MDITILE
	WM_MDICASCADE
	WM_MDIICONARRANGE
	WM_MDIGETACTIVE

	WM_MDISETMENU // 0x230
	WM_ENTERSIZEMOVE
	WM_EXITSIZEMOVE
	WM_DROPFILES
	WM_MDIREFRESHMENU //0x234
)
const (
	WM_IME_SETCONTEXT WINDOW_MESSAGE = 0x281 + iota
	WM_IME_NOTIFY
	WM_IME_CONTROL
	WM_IME_COMPOSITIONFULL
	WM_IME_SELECT
	WM_IME_CHAR

	WM_IME_REQUEST
)
const (
	WM_IME_KEYDOWN WINDOW_MESSAGE = 0x290 + iota
	WM_IME_KEYUP
)
const (
	WM_NCMOUSEHOVER WINDOW_MESSAGE = 0x2A0 + iota
	WM_MOUSEHOVER
	WM_NCMOUSELEAVE
	WM_MOUSELEAVE
)
const (
	WM_WTSSESSION_CHANGE WINDOW_MESSAGE = 0x2B1
	WM_TABLET_FIRST      WINDOW_MESSAGE = 0x2c0
	WM_TABLET_LAST       WINDOW_MESSAGE = 0x2df
)
const (
	WM_CUT WINDOW_MESSAGE = 0x300 + iota
	WM_COPY
	WM_PASTE
	WM_CLEAR
	WM_UNDO
	WM_RENDERFORMAT
	WM_RENDERALLFORMATS
	WM_DESTROYCLIPBOARD
	WM_DRAWCLIPBOARD
	WM_PAINTCLIPBOARD
	WM_VSCROLLCLIPBOARD
	WM_SIZECLIPBOARD
	WM_ASKCBFORMATNAME
	WM_CHANGECBCHAIN
	WM_HSCROLLCLIPBOARD
	WM_QUERYNEWPALETTE
	WM_PALETTEISCHANGING // 0x310
	WM_PALETTECHANGED
	WM_HOTKEY

	WM_PRINT
	WM_PRINTCLIENT
	WM_APPCOMMAND
	WM_THEMECHANGED // 0x31A
)
const (
	WM_HANDHELDFIRST WINDOW_MESSAGE = 0x0358
	WM_HANDHELDLAST  WINDOW_MESSAGE = 0x035F
	WM_AFXFIRST      WINDOW_MESSAGE = 0x0360
	WM_AFXLAST       WINDOW_MESSAGE = 0x037F
	WM_PENWINFIRST   WINDOW_MESSAGE = 0x0380
	WM_PENWINLAST    WINDOW_MESSAGE = 0x038F
	WM_APP           WINDOW_MESSAGE = 0x8000
	WM_USER          WINDOW_MESSAGE = 0x0400
)

type WINDOW_STYLE

type WINDOW_STYLE DWORD
const (
	WS_TABSTOP WINDOW_STYLE = 1 << (16 + iota)
	WS_GROUP
	WS_THICKFRAME
	WS_SYSMENU
	WS_HSCROLL
	WS_VSCROLL
	WS_DLGFRAME
	WS_BORDER
	WS_MAXIMIZE
	WS_CLIPCHILDREN
	WS_CLIPSIBLINGS
	WS_DISABLED
	WS_VISIBLE
	WS_MINIMIZE
	WS_CHILD
	WS_POPUP
)
const (
	BS_PUSHBUTTON WINDOW_STYLE = iota
	BS_DEFPUSHBUTTON
	BS_CHECKBOX
	BS_AUTOCHECKBOX
	BS_RADIOBUTTON
	BS_3STATE
	BS_AUTO3STATE
	BS_GROUPBOX
	BS_USERBUTTON
	BS_AUTORADIOBUTTON
	BS_PUSHBOX
	BS_OWNERDRAW
	BS_TYPEMASK = 0x0000000F
)
const (
	CBS_SIMPLE WINDOW_STYLE = 1 << iota
	CBS_DROPDOWN

	CBS_OWNERDRAWFIXED
	CBS_OWNERDRAWVARIABLE
	CBS_AUTOHSCROLL
	CBS_OEMCONVERT
	CBS_SORT
	CBS_HASSTRINGS
	CBS_NOINTEGRALHEIGHT
	CBS_DISABLENOSCROLL

	CBS_UPPERCASE
	CBS_LOWERCASE
	CBS_DROPDOWNLIST = CBS_SIMPLE | CBS_DROPDOWN
)
const (
	ES_CENTER WINDOW_STYLE = 1 << iota
	ES_RIGHT
	ES_MULTILINE
	ES_UPPERCASE
	ES_LOWERCASE
	ES_PASSWORD
	ES_AUTOVSCROLL
	ES_AUTOHSCROLL
	ES_NOHIDESEL

	ES_OEMCONVERT
	ES_READONLY
	ES_WANTRETURN
	ES_NUMBER
	ES_LEFT = 0
)
const (
	LBS_NOTIFY WINDOW_STYLE = 1 << iota
	LBS_SORT
	LBS_NOREDRAW
	LBS_MULTIPLESEL
	LBS_OWNERDRAWFIXED
	LBS_OWNERDRAWVARIABLE
	LBS_HASSTRINGS
	LBS_USETABSTOPS
	LBS_NOINTEGRALHEIGHT
	LBS_MULTICOLUMN
	LBS_WANTKEYBOARDINPUT
	LBS_EXTENDEDSEL
	LBS_DISABLENOSCROLL
	LBS_NODATA
	LBS_NOSEL
	LBS_COMBOBOX
	LBS_STANDARD = LBS_NOTIFY | LBS_SORT | WS_VSCROLL | WS_BORDER
)
const (
	SS_LEFT WINDOW_STYLE = iota
	SS_CENTER
	SS_RIGHT
	SS_ICON
	SS_BLACKRECT
	SS_GRAYRECT
	SS_WHITERECT
	SS_BLACKFRAME
	SS_GRAYFRAME
	SS_WHITEFRAME
	SS_USERITEM
	SS_SIMPLE
	SS_LEFTNOWORDWRAP
	SS_OWNERDRAW
	SS_BITMAP
	SS_ENHMETAFILE
	SS_ETCHEDHORZ
	SS_ETCHEDVERT
	SS_ETCHEDFRAME
	SS_TYPEMASK = 0x1F
)
const (
	SS_REALSIZECONTROL WINDOW_STYLE = 0x40 << iota
	SS_NOPREFIX
	SS_NOTIFY
	SS_CENTERIMAGE
	SS_RIGHTJUST
	SS_REALSIZEIMAGE
	SS_SUNKEN
	SS_EDITCONTROL
	SS_ENDELLIPSIS
	SS_PATHELLIPSIS
	SS_WORDELLIPSIS = SS_ENDELLIPSIS | SS_PATHELLIPSIS
	SS_ELLIPSISMASK = SS_ENDELLIPSIS | SS_PATHELLIPSIS
)

type WINDOW_STYLE_EX

type WINDOW_STYLE_EX DWORD
const (
	WS_EX_DLGMODALFRAME WINDOW_STYLE_EX = 1 << iota

	WS_EX_NOPARENTNOTIFY
	WS_EX_TOPMOST
	WS_EX_ACCEPTFILES
	WS_EX_TRANSPARENT
	WS_EX_MDICHILD
	WS_EX_TOOLWINDOW
	WS_EX_WINDOWEDGE
	WS_EX_CLIENTEDGE
	WS_EX_CONTEXTHELP

	WS_EX_RIGHT
	WS_EX_RTLREADING
	WS_EX_LEFTSCROLLBAR

	WS_EX_CONTROLPARENT
	WS_EX_STATICEDGE
	WS_EX_APPWINDOW
	WS_EX_LAYERED
	WS_EX_NOINHERITLAYOUT

	WS_EX_LAYOUTRTL

	WS_EX_COMPOSITED

	WS_EX_NOACTIVATE
)
const (
	WS_EX_LEFT WINDOW_STYLE_EX = 0
	WS_EX_LTRREADING
	WS_EX_RIGHTSCROLLBAR
	WS_EX_OVERLAPPEDWINDOW WINDOW_STYLE_EX = WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE
	WS_EX_PALETTEWINDOW    WINDOW_STYLE_EX = WS_EX_WINDOWEDGE | WS_EX_TOOLWINDOW | WS_EX_TOPMOST
)

type WINEVENTPROC

type WINEVENTPROC func(
	winEventHook HWINEVENTHOOK,
	event DWORD,
	w HWND,
	object LONG,
	child LONG,
	eventThread DWORD,
	eventTime DWORD)

type WINEVENT_FLAGS

type WINEVENT_FLAGS DWORD
const (
	WINEVENT_OUTOFCONTEXT  WINEVENT_FLAGS = 0
	WINEVENT_SKIPOWNTHREAD WINEVENT_FLAGS = 1 << iota
	WINEVENT_SKIPOWNPROCESS
	WINEVENT_INCONTEXT
)

type WINSTAENUMPROC

type WINSTAENUMPROC NAMEENUMPROC

type WNDCLASS

type WNDCLASS struct {
	Style      CLASS_STYLE
	WndProc    WNDPROC
	ClsExtra   int
	WndExtra   int
	Instance   HINSTANCE
	Icon       HICON
	Cursor     HCURSOR
	Background HBRUSH
	MenuName   *VString
	ClassName  *VString
}

type WNDCLASSEX

type WNDCLASSEX struct {
	Size       UINT
	Style      CLASS_STYLE
	WndProc    WNDPROC
	ClsExtra   int
	WndExtra   int
	Instance   HINSTANCE
	Icon       HICON
	Cursor     HCURSOR
	Background HBRUSH
	MenuName   *VString
	ClassName  *VString
	IconSm     HICON
}

type WNDENUMPROC

type WNDENUMPROC func(HWND, LPARAM) BOOL

type WNDPROC

type WNDPROC func(HWND, WINDOW_MESSAGE, WPARAM, LPARAM) LRESULT

type WORD

type WORD uint16 //TODO(t):True 32/64? signed?

type WPARAM

type WPARAM LONG_PTR

type WP_FLAGS

type WP_FLAGS UINT
const (
	WPF_SETMINPOSITION WP_FLAGS = 1 << iota
	WPF_RESTORETOMAXIMIZED
	WPF_ASYNCWINDOWPLACEMENT
)

type WSABUF

type WSABUF struct {
	Len U_long
	Buf *Char
}

type WSACOMPLETION

type WSACOMPLETION struct {
	Type WSACOMPLETIONTYPE

	Wnd     HWND
	Msg     UINT
	Context WPARAM
}

type WSACOMPLETIONTYPE

type WSACOMPLETIONTYPE enum
const (
	NSP_NOTIFY_IMMEDIATELY WSACOMPLETIONTYPE = iota
	NSP_NOTIFY_HWND
	NSP_NOTIFY_EVENT
	NSP_NOTIFY_PORT
	NSP_NOTIFY_APC
)

type WSADATA

type WSADATA struct {
	Version      WORD
	HighVersion  WORD
	Description  [WSADESCRIPTION_LEN + 1]AChar
	SystemStatus [WSASYS_STATUS_LEN + 1]AChar
	MaxSockets   Unsigned_short
	MaxUdpDg     Unsigned_short
	VendorInfo   AString
}

type WSAECOMPARATOR

type WSAECOMPARATOR enum
const (
	COMP_EQUAL WSAECOMPARATOR = iota
	COMP_NOTLESS
)

type WSAESETSERVICEOP

type WSAESETSERVICEOP enum
const (
	RNRSERVICE_REGISTER WSAESETSERVICEOP = iota
	RNRSERVICE_DEREGISTER
	RNRSERVICE_DELETE
)

type WSAEVENT

type WSAEVENT HANDLE

type WSANAMESPACE_INFO

type WSANAMESPACE_INFO struct {
	NSProviderId GUID
	NameSpace    DWORD
	Active       BOOL
	Version      DWORD
	Identifier   *VString
}

type WSANETWORKEVENTS

type WSANETWORKEVENTS struct {
	NetworkEvents LONG
	ErrorCode     [FD_MAX_EVENTS]int
}

type WSANSCLASSINFO

type WSANSCLASSINFO struct {
	Name      *VString
	NameSpace DWORD
	ValueType DWORD
	ValueSize DWORD
	Value     *VOID
}

type WSAOVERLAPPED

type WSAOVERLAPPED OVERLAPPED

type WSAOVERLAPPED_COMPLETION_ROUTINE

type WSAOVERLAPPED_COMPLETION_ROUTINE func(
	err DWORD,
	transferred DWORD,
	overlapped *WSAOVERLAPPED,
	flags DWORD)

type WSAPROTOCOLCHAIN

type WSAPROTOCOLCHAIN struct {
	ChainLen     int
	ChainEntries [MAX_PROTOCOL_CHAIN]DWORD
}

type WSAPROTOCOL_INFOA

type WSAPROTOCOL_INFOA struct {
	ServiceFlags1     DWORD
	ServiceFlags2     DWORD
	ServiceFlags3     DWORD
	ServiceFlags4     DWORD
	ProviderFlags     DWORD
	ProviderId        GUID
	CatalogEntryId    DWORD
	ProtocolChain     WSAPROTOCOLCHAIN
	Version           int
	AddressFamily     int
	MaxSockAddr       int
	MinSockAddr       int
	SocketType        int
	Protocol          int
	ProtocolMaxOffset int
	NetworkByteOrder  int
	SecurityScheme    int
	MessageSize       DWORD
	ProviderReserved  DWORD
	ProtocolString    [WSAPROTOCOL_LEN + 1]AChar
}

type WSAPROTOCOL_INFOW

type WSAPROTOCOL_INFOW struct {
	ServiceFlags1     DWORD
	ServiceFlags2     DWORD
	ServiceFlags3     DWORD
	ServiceFlags4     DWORD
	ProviderFlags     DWORD
	ProviderId        GUID
	CatalogEntryId    DWORD
	ProtocolChain     WSAPROTOCOLCHAIN
	Version           int
	AddressFamily     int
	MaxSockAddr       int
	MinSockAddr       int
	SocketType        int
	Protocol          int
	ProtocolMaxOffset int
	NetworkByteOrder  int
	SecurityScheme    int
	MessageSize       DWORD
	ProviderReserved  DWORD
	ProtocolString    [WSAPROTOCOL_LEN + 1]WChar
}

type WSAQUERYSET

type WSAQUERYSET struct {
	Size                DWORD
	ServiceInstanceName *VString
	ServiceClassId      *GUID
	Version             *WSAVERSION
	Comment             *VString
	NameSpace           DWORD
	NSProviderId        *GUID
	Context             *VString
	NumberOfProtocols   DWORD
	AfpProtocols        *AFPROTOCOLS
	QueryString         *VString
	NumberOfCsAddrs     DWORD
	SaBuffer            *CSADDR_INFO
	OutputFlags         DWORD
	Blob                *BLOB
}

TODO(t):Check VStrings for i/o

type WSASERVICECLASSINFO

type WSASERVICECLASSINFO struct {
	ServiceClassId   *GUID
	ServiceClassName *OVString
	Count            DWORD
	ClassInfos       *WSANSCLASSINFO
}

type WSAVERSION

type WSAVERSION struct {
	Version DWORD
	How     WSAECOMPARATOR
}

type WString

type WString *string

type XFORM

type XFORM struct {
	M11 FLOAT
	M12 FLOAT
	M21 FLOAT
	M22 FLOAT
	Dx  FLOAT
	Dy  FLOAT
}

type YIELDPROC

type YIELDPROC func(mciId MCIDEVICEID, yieldData DWORD) UINT

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL