select() for processes; copyDir() for os.

This commit is contained in:
dom96 2011-05-07 23:17:10 +01:00
commit 0db6f3c00f
4 changed files with 129 additions and 20 deletions

View file

@ -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,

View file

@ -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".}