diff options
Diffstat (limited to 'lib/windows')
-rwxr-xr-x | lib/windows/windows.nim | 7 | ||||
-rwxr-xr-x | lib/windows/winlean.nim | 14 |
2 files changed, 18 insertions, 3 deletions
diff --git a/lib/windows/windows.nim b/lib/windows/windows.nim index 579775c2d..c8c977d9b 100755 --- a/lib/windows/windows.nim +++ b/lib/windows/windows.nim @@ -360,6 +360,7 @@ type RASP_PppIp = 0x00008021, RASP_PppIpx = 0x0000802B, RASP_PppNbf = 0x0000803F, RASP_Amb = 0x00010000 SECURITY_IMPERSONATION_LEVEL* = enum + SecurityAnonymous, SecurityIdentification, SecurityImpersonation, SecurityDelegation SID_NAME_USE* = enum @@ -3761,6 +3762,7 @@ const SMTO_NORMAL* = 0 # SetBkMode OPAQUE* = 2 + TRANSPARENT* = 1 # SetDebugErrorLevel SLE_ERROR* = 1 @@ -16215,6 +16217,7 @@ when defined(winUnicode): proc GetEnvironmentStrings*(): LPWSTR{.stdcall, dynlib: "kernel32", importc: "GetEnvironmentStringsW".} proc FreeEnvironmentStrings*(para1: LPWSTR): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "FreeEnvironmentStringsW".} proc FormatMessage*(dwFlags: DWORD, lpSource: LPCVOID, dwMessageId: DWORD, dwLanguageId: DWORD, lpBuffer: LPWSTR, nSize: DWORD, @@ -18715,9 +18718,7 @@ proc ReleaseMutex*(hMutex: HANDLE): WINBOOL{.stdcall, dynlib: "kernel32", importc: "ReleaseMutex".} proc WaitForSingleObject*(hHandle: HANDLE, dwMilliseconds: DWORD): DWORD{. stdcall, dynlib: "kernel32", importc: "WaitForSingleObject".} -proc WaitForMultipleObjects*(nCount: DWORD, lpHandles: PWOHandleArray, - bWaitAll: WINBOOL, dwMilliseconds: DWORD): DWORD{. - stdcall, dynlib: "kernel32", importc: "WaitForMultipleObjects".} + proc Sleep*(dwMilliseconds: DWORD){.stdcall, dynlib: "kernel32", importc: "Sleep".} proc LoadResource*(hModule: HINST, hResInfo: HRSRC): HGLOBAL{.stdcall, diff --git a/lib/windows/winlean.nim b/lib/windows/winlean.nim index e8c93d8b1..75f2fc4df 100755 --- a/lib/windows/winlean.nim +++ b/lib/windows/winlean.nim @@ -13,6 +13,7 @@ type THandle* = int WINBOOL* = int32 + DWORD* = int32 TSECURITY_ATTRIBUTES* {.final, pure.} = object nLength*: int32 @@ -52,7 +53,9 @@ const IDLE_PRIORITY_CLASS* = 64'i32 NORMAL_PRIORITY_CLASS* = 32'i32 REALTIME_PRIORITY_CLASS* = 256'i32 + WAIT_OBJECT_0* = 0'i32 WAIT_TIMEOUT* = 0x00000102'i32 + WAIT_FAILED* = 0xFFFFFFFF'i32 INFINITE* = -1'i32 STD_INPUT_HANDLE* = -10'i32 @@ -383,3 +386,14 @@ proc freeaddrinfo*(ai: ptr TAddrInfo) {. proc inet_ntoa*(i: TInAddr): cstring {. stdcall, importc, dynlib: ws2dll.} + +const + MAXIMUM_WAIT_OBJECTS* = 0x00000040 + +type + TWOHandleArray* = array[0..MAXIMUM_WAIT_OBJECTS - 1, THANDLE] + PWOHandleArray* = ptr TWOHandleArray + +proc WaitForMultipleObjects*(nCount: DWORD, lpHandles: PWOHandleArray, + bWaitAll: WINBOOL, dwMilliseconds: DWORD): DWORD{. + stdcall, dynlib: "kernel32", importc: "WaitForMultipleObjects".} |