mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-06 15:48:51 +00:00
more windows stuff
This commit is contained in:
@@ -0,0 +1,92 @@
|
||||
// +build windows
|
||||
package sys_windows
|
||||
|
||||
foreign import version "system:version.lib"
|
||||
|
||||
@(default_calling_convention = "system")
|
||||
foreign version {
|
||||
GetFileVersionInfoSizeW :: proc(lpwstrFilename: LPCWSTR, lpdwHandle: LPDWORD) -> DWORD ---
|
||||
GetFileVersionInfoW :: proc(lptstrFilename: LPCWSTR, dwHandle: DWORD, dwLen: DWORD, lpData: LPVOID) -> BOOL ---
|
||||
|
||||
GetFileVersionInfoSizeExW :: proc(dwFlags: FILE_VER_GET_FLAGS, lpwstrFilename: LPCWSTR, lpdwHandle: LPDWORD) -> DWORD ---
|
||||
GetFileVersionInfoExW :: proc(dwFlags: FILE_VER_GET_FLAGS, lpwstrFilename: LPCWSTR, dwHandle, dwLen: DWORD, lpData: LPVOID) -> DWORD ---
|
||||
|
||||
VerLanguageNameW :: proc(wLang: DWORD, szLang: LPWSTR, cchLang: DWORD) -> DWORD ---
|
||||
VerQueryValueW :: proc(pBlock: LPCVOID, lpSubBlock: LPCWSTR, lplpBuffer: ^LPVOID, puLen: PUINT) -> BOOL ---
|
||||
}
|
||||
|
||||
FILE_VER_GET :: enum DWORD {LOCALISED, NEUTRAL, PREFETCHED}
|
||||
FILE_VER_GET_FLAGS :: bit_set[FILE_VER_GET; DWORD]
|
||||
|
||||
/* ----- Symbols ----- */
|
||||
VS_FILE_INFO :: RT_VERSION
|
||||
VS_VERSION_INFO :: 1
|
||||
VS_USER_DEFINED :: 100
|
||||
|
||||
VS_FFI_SIGNATURE : DWORD : 0xFEEF04BD
|
||||
|
||||
VS_FFI_STRUCVERSION :: 0x00010000
|
||||
VS_FFI_FILEFLAGSMASK :: 0x0000003F
|
||||
|
||||
/* ----- VS_VERSION.dwFileFlags ----- */
|
||||
VS_FILEFLAG :: enum DWORD {
|
||||
DEBUG,
|
||||
PRERELEASE,
|
||||
PATCHED,
|
||||
PRIVATEBUILD,
|
||||
INFOINFERRED,
|
||||
SPECIALBUILD,
|
||||
}
|
||||
VS_FILEFLAGS :: bit_set[VS_FILEFLAG;DWORD]
|
||||
|
||||
/* ----- VS_VERSION.dwFileOS ----- */
|
||||
VOS :: enum WORD {
|
||||
UNKNOWN = 0x0000,
|
||||
DOS = 0x0001,
|
||||
OS216 = 0x0002,
|
||||
OS232 = 0x0003,
|
||||
NT = 0x0004,
|
||||
WINCE = 0x0005,
|
||||
}
|
||||
VOS2 :: enum WORD {
|
||||
BASE = 0x0000,
|
||||
WINDOWS16 = 0x0001,
|
||||
PM16 = 0x0002,
|
||||
PM32 = 0x0003,
|
||||
WINDOWS32 = 0x0004,
|
||||
}
|
||||
|
||||
/* ----- VS_VERSION.dwFileType ----- */
|
||||
VFT :: enum DWORD {
|
||||
UNKNOWN = 0x00000000,
|
||||
APP = 0x00000001,
|
||||
DLL = 0x00000002,
|
||||
DRV = 0x00000003,
|
||||
FONT = 0x00000004,
|
||||
VXD = 0x00000005,
|
||||
STATIC_LIB = 0x00000007,
|
||||
}
|
||||
|
||||
/* ----- VS_VERSION.dwFileSubtype for VFT_WINDOWS_DRV ----- */
|
||||
VFT2_WINDOWS_DRV :: enum DWORD {
|
||||
UNKNOWN = 0x00000000,
|
||||
DRV_PRINTER = 0x00000001,
|
||||
DRV_KEYBOARD = 0x00000002,
|
||||
DRV_LANGUAGE = 0x00000003,
|
||||
DRV_DISPLAY = 0x00000004,
|
||||
DRV_MOUSE = 0x00000005,
|
||||
DRV_NETWORK = 0x00000006,
|
||||
DRV_SYSTEM = 0x00000007,
|
||||
DRV_INSTALLABLE = 0x00000008,
|
||||
DRV_SOUND = 0x00000009,
|
||||
DRV_COMM = 0x0000000A,
|
||||
DRV_INPUTMETHOD = 0x0000000B,
|
||||
DRV_VERSIONED_PRINTER = 0x0000000C,
|
||||
}
|
||||
|
||||
/* ----- VS_VERSION.dwFileSubtype for VFT_WINDOWS_FONT ----- */
|
||||
VFT2_WINDOWS_FONT :: enum DWORD {
|
||||
FONT_RASTER = 0x00000001,
|
||||
FONT_VECTOR = 0x00000002,
|
||||
FONT_TRUETYPE = 0x00000003,
|
||||
}
|
||||
Reference in New Issue
Block a user