proc closeHandle*(hObject: THandle): WINBOOL {.stdcall, dynlib: "kernel32",
importc: "CloseHandle".}
-
proc readFile*(hFile: THandle; Buffer: pointer; nNumberOfBytesToRead: int32;
lpNumberOfBytesRead: var int32; lpOverlapped: pointer): WINBOOL {.
stdcall, dynlib: "kernel32", importc: "ReadFile".}
-
proc writeFile*(hFile: THandle; Buffer: pointer; nNumberOfBytesToWrite: int32;
lpNumberOfBytesWritten: var int32; lpOverlapped: pointer): WINBOOL {.
stdcall, dynlib: "kernel32", importc: "WriteFile".}
-
proc createPipe*(hReadPipe, hWritePipe: var THandle;
lpPipeAttributes: var TSECURITY_ATTRIBUTES; nSize: int32): WINBOOL {.
stdcall, dynlib: "kernel32", importc: "CreatePipe".}
-
proc createProcessW*(lpApplicationName, lpCommandLine: WideCString;
lpProcessAttributes: ptr TSECURITY_ATTRIBUTES;
lpThreadAttributes: ptr TSECURITY_ATTRIBUTES;
bInheritHandles: WINBOOL; dwCreationFlags: int32;
lpEnvironment, lpCurrentDirectory: WideCString;
lpStartupInfo: var TSTARTUPINFO;
lpProcessInformation: var TPROCESS_INFORMATION): WINBOOL {.
stdcall, dynlib: "kernel32", importc: "CreateProcessW".}
-
proc suspendThread*(hThread: THandle): int32 {.stdcall, dynlib: "kernel32",
importc: "SuspendThread".}
-
proc resumeThread*(hThread: THandle): int32 {.stdcall, dynlib: "kernel32",
importc: "ResumeThread".}
-
proc waitForSingleObject*(hHandle: THandle; dwMilliseconds: int32): int32 {.
stdcall, dynlib: "kernel32", importc: "WaitForSingleObject".}
-
proc terminateProcess*(hProcess: THandle; uExitCode: int): WINBOOL {.stdcall,
dynlib: "kernel32", importc: "TerminateProcess".}
-
proc getExitCodeProcess*(hProcess: THandle; lpExitCode: var int32): WINBOOL {.
stdcall, dynlib: "kernel32", importc: "GetExitCodeProcess".}
-
proc getStdHandle*(nStdHandle: int32): THandle {.stdcall, dynlib: "kernel32",
importc: "GetStdHandle".}
-
proc setStdHandle*(nStdHandle: int32; hHandle: THandle): WINBOOL {.stdcall,
dynlib: "kernel32", importc: "SetStdHandle".}
-
proc flushFileBuffers*(hFile: THandle): WINBOOL {.stdcall, dynlib: "kernel32",
importc: "FlushFileBuffers".}
-
proc getLastError*(): int32 {.importc: "GetLastError", stdcall,
dynlib: "kernel32".}
-
proc formatMessageW*(dwFlags: int32; lpSource: pointer;
dwMessageId, dwLanguageId: int32; lpBuffer: pointer;
nSize: int32; Arguments: pointer): int32 {.
importc: "FormatMessageW", stdcall, dynlib: "kernel32".}
-
proc localFree*(p: pointer) {.importc: "LocalFree", stdcall, dynlib: "kernel32".}
-
proc getCurrentDirectoryW*(nBufferLength: int32; lpBuffer: WideCString): int32 {.
importc: "GetCurrentDirectoryW", dynlib: "kernel32", stdcall.}
-
proc setCurrentDirectoryW*(lpPathName: WideCString): int32 {.
importc: "SetCurrentDirectoryW", dynlib: "kernel32", stdcall.}
-
proc createDirectoryW*(pathName: WideCString; security: pointer = nil): int32 {.
importc: "CreateDirectoryW", dynlib: "kernel32", stdcall.}
-
proc removeDirectoryW*(lpPathName: WideCString): int32 {.
importc: "RemoveDirectoryW", dynlib: "kernel32", stdcall.}
-
proc setEnvironmentVariableW*(lpName, lpValue: WideCString): int32 {.stdcall,
dynlib: "kernel32", importc: "SetEnvironmentVariableW".}
-
proc getModuleFileNameW*(handle: THandle; buf: WideCString; size: int32): int32 {.
importc: "GetModuleFileNameW", dynlib: "kernel32", stdcall.}
-
proc createSymbolicLinkW*(lpSymlinkFileName, lpTargetFileName: WideCString;
flags: DWORD): int32 {.importc: "CreateSymbolicLinkW",
dynlib: "kernel32", stdcall.}
-
proc createHardLinkW*(lpFileName, lpExistingFileName: WideCString;
security: pointer = nil): int32 {.
importc: "CreateHardLinkW", dynlib: "kernel32", stdcall.}
-
proc findFirstFileW*(lpFileName: WideCString;
lpFindFileData: var TWIN32_FIND_DATA): THandle {.stdcall,
dynlib: "kernel32", importc: "FindFirstFileW".}
-
proc findNextFileW*(hFindFile: THandle; lpFindFileData: var TWIN32_FIND_DATA): int32 {.
stdcall, dynlib: "kernel32", importc: "FindNextFileW".}
-
proc findClose*(hFindFile: THandle) {.stdcall, dynlib: "kernel32",
importc: "FindClose".}
-
proc getFullPathNameW*(lpFileName: WideCString; nBufferLength: int32;
lpBuffer: WideCString; lpFilePart: var WideCString): int32 {.
stdcall, dynlib: "kernel32", importc: "GetFullPathNameW".}
-
proc getFileAttributesW*(lpFileName: WideCString): int32 {.stdcall,
dynlib: "kernel32", importc: "GetFileAttributesW".}
-
proc setFileAttributesW*(lpFileName: WideCString; dwFileAttributes: int32): WINBOOL {.
stdcall, dynlib: "kernel32", importc: "SetFileAttributesW".}
-
proc copyFileW*(lpExistingFileName, lpNewFileName: WideCString;
bFailIfExists: cint): cint {.importc: "CopyFileW", stdcall,
dynlib: "kernel32".}
-
proc getEnvironmentStringsW*(): WideCString {.stdcall, dynlib: "kernel32",
importc: "GetEnvironmentStringsW".}
-
proc freeEnvironmentStringsW*(para1: WideCString): int32 {.stdcall,
dynlib: "kernel32", importc: "FreeEnvironmentStringsW".}
-
proc getCommandLineW*(): WideCString {.importc: "GetCommandLineW", stdcall,
dynlib: "kernel32".}
-
proc rdFileTime*(f: TFILETIME): int64
-
proc rdFileSize*(f: TWIN32_FIND_DATA): int64
-
proc getSystemTimeAsFileTime*(lpSystemTimeAsFileTime: var TFILETIME) {.
importc: "GetSystemTimeAsFileTime", dynlib: "kernel32", stdcall.}
-
proc sleep*(dwMilliseconds: int32) {.stdcall, dynlib: "kernel32",
importc: "Sleep".}
-
proc shellExecuteW*(HWND: THandle; lpOperation, lpFile, lpParameters,
lpDirectory: WideCString; nShowCmd: int32): THandle {.
stdcall, dynlib: "shell32.dll", importc: "ShellExecuteW".}
-
proc getFileInformationByHandle*(hFile: THandle; lpFileInformation: ptr TBY_HANDLE_FILE_INFORMATION): WINBOOL {.
stdcall, dynlib: "kernel32", importc: "GetFileInformationByHandle".}
-
proc wsaGetLastError*(): cint {.importc: "WSAGetLastError", dynlib: ws2dll.}
-
proc `==`*(x, y: TSocketHandle): bool {.borrow.}
-
proc getservbyname*(name, proto: cstring): ptr TServent {.stdcall,
importc: "getservbyname", dynlib: ws2dll.}
-
proc getservbyport*(port: cint; proto: cstring): ptr TServent {.stdcall,
importc: "getservbyport", dynlib: ws2dll.}
-
proc gethostbyaddr*(ip: ptr TInAddr; len: cuint; theType: cint): ptr Thostent {.
stdcall, importc: "gethostbyaddr", dynlib: ws2dll.}
-
proc gethostbyname*(name: cstring): ptr Thostent {.stdcall,
importc: "gethostbyname", dynlib: ws2dll.}
-
proc socket*(af, typ, protocol: cint): TSocketHandle {.stdcall,
importc: "socket", dynlib: ws2dll.}
-
proc closesocket*(s: TSocketHandle): cint {.stdcall, importc: "closesocket",
dynlib: ws2dll.}
-
proc accept*(s: TSocketHandle; a: ptr TSockAddr; addrlen: ptr TSockLen): TSocketHandle {.
stdcall, importc: "accept", dynlib: ws2dll.}
-
proc bindSocket*(s: TSocketHandle; name: ptr TSockAddr; namelen: TSockLen): cint {.
stdcall, importc: "bind", dynlib: ws2dll.}
-
proc connect*(s: TSocketHandle; name: ptr TSockAddr; namelen: TSockLen): cint {.
stdcall, importc: "connect", dynlib: ws2dll.}
-
proc getsockname*(s: TSocketHandle; name: ptr TSockAddr; namelen: ptr TSockLen): cint {.
stdcall, importc: "getsockname", dynlib: ws2dll.}
-
proc getsockopt*(s: TSocketHandle; level, optname: cint; optval: pointer;
optlen: ptr TSockLen): cint {.stdcall, importc: "getsockopt",
dynlib: ws2dll.}
-
proc setsockopt*(s: TSocketHandle; level, optname: cint; optval: pointer;
optlen: TSockLen): cint {.stdcall, importc: "setsockopt",
dynlib: ws2dll.}
-
proc listen*(s: TSocketHandle; backlog: cint): cint {.stdcall,
importc: "listen", dynlib: ws2dll.}
-
proc recv*(s: TSocketHandle; buf: pointer; len, flags: cint): cint {.stdcall,
importc: "recv", dynlib: ws2dll.}
-
proc recvfrom*(s: TSocketHandle; buf: cstring; len, flags: cint;
fromm: ptr TSockAddr; fromlen: ptr TSockLen): cint {.stdcall,
importc: "recvfrom", dynlib: ws2dll.}
-
proc select*(nfds: cint; readfds, writefds, exceptfds: ptr TFdSet;
timeout: ptr TTimeval): cint {.stdcall, importc: "select",
dynlib: ws2dll.}
-
proc send*(s: TSocketHandle; buf: pointer; len, flags: cint): cint {.stdcall,
importc: "send", dynlib: ws2dll.}
-
proc sendto*(s: TSocketHandle; buf: pointer; len, flags: cint;
to: ptr TSockAddr; tolen: TSockLen): cint {.stdcall,
importc: "sendto", dynlib: ws2dll.}
-
proc shutdown*(s: TSocketHandle; how: cint): cint {.stdcall,
importc: "shutdown", dynlib: ws2dll.}
-
proc getnameinfo*(a1: ptr TSockAddr; a2: TSockLen; a3: cstring; a4: TSockLen;
a5: cstring; a6: TSockLen; a7: cint): cint {.stdcall,
importc: "getnameinfo", dynlib: ws2dll.}
-
proc inet_addr*(cp: cstring): int32 {.stdcall, importc: "inet_addr",
dynlib: ws2dll.}
-
proc FD_ISSET*(Socket: TSocketHandle; FDSet: var TFdSet): cint
-
proc FD_SET*(Socket: TSocketHandle; FDSet: var TFdSet)
-
proc FD_ZERO*(FDSet: var TFdSet)
-
proc wsaStartup*(wVersionRequired: int16; WSData: ptr TWSAData): cint {.stdcall,
importc: "WSAStartup", dynlib: ws2dll.}
-
proc getaddrinfo*(nodename, servname: cstring; hints: ptr TAddrInfo;
res: var ptr TAddrInfo): cint {.stdcall,
importc: "getaddrinfo", dynlib: ws2dll.}
-
proc freeaddrinfo*(ai: ptr TAddrInfo) {.stdcall, importc: "freeaddrinfo",
dynlib: ws2dll.}
-
proc inet_ntoa*(i: TInAddr): cstring {.stdcall, importc, dynlib: ws2dll.}
-
proc waitForMultipleObjects*(nCount: DWORD; lpHandles: PWOHandleArray;
bWaitAll: WINBOOL; dwMilliseconds: DWORD): DWORD {.
stdcall, dynlib: "kernel32", importc: "WaitForMultipleObjects".}
-
proc createFileW*(lpFileName: WideCString; dwDesiredAccess, dwShareMode: DWORD;
lpSecurityAttributes: pointer;
dwCreationDisposition, dwFlagsAndAttributes: DWORD;
hTemplateFile: THandle): THandle {.stdcall,
dynlib: "kernel32", importc: "CreateFileW".}
-
proc deleteFileW*(pathName: WideCString): int32 {.importc: "DeleteFileW",
dynlib: "kernel32", stdcall.}
-
proc setEndOfFile*(hFile: THandle): WINBOOL {.stdcall, dynlib: "kernel32",
importc: "SetEndOfFile".}
-
proc setFilePointer*(hFile: THandle; lDistanceToMove: LONG;
lpDistanceToMoveHigh: ptr LONG; dwMoveMethod: DWORD): DWORD {.
stdcall, dynlib: "kernel32", importc: "SetFilePointer".}
-
proc getFileSize*(hFile: THandle; lpFileSizeHigh: ptr DWORD): DWORD {.stdcall,
dynlib: "kernel32", importc: "GetFileSize".}
-
proc mapViewOfFileEx*(hFileMappingObject: THandle; dwDesiredAccess: DWORD;
dwFileOffsetHigh, dwFileOffsetLow: DWORD;
dwNumberOfBytesToMap: DWORD; lpBaseAddress: pointer): pointer {.
stdcall, dynlib: "kernel32", importc: "MapViewOfFileEx".}
-
proc createFileMappingW*(hFile: THandle; lpFileMappingAttributes: pointer;
flProtect, dwMaximumSizeHigh: DWORD;
dwMaximumSizeLow: DWORD; lpName: pointer): THandle {.
stdcall, dynlib: "kernel32", importc: "CreateFileMappingW".}
-
proc createFileMappingA*(hFile: THANDLE; lpFileMappingAttributes: pointer;
flProtect, dwMaximumSizeHigh: DWORD;
dwMaximumSizeLow: DWORD; lpName: cstring): THANDLE {.
stdcall, dynlib: "kernel32", importc: "CreateFileMappingA".}
-
proc unmapViewOfFile*(lpBaseAddress: pointer): WINBOOL {.stdcall,
dynlib: "kernel32", importc: "UnmapViewOfFile".}
-
proc CreateIoCompletionPort*(FileHandle: THANDLE;
ExistingCompletionPort: THANDLE;
CompletionKey: DWORD;
NumberOfConcurrentThreads: DWORD): THANDLE {.
stdcall, dynlib: "kernel32", importc: "CreateIoCompletionPort".}
-
proc GetQueuedCompletionStatus*(CompletionPort: THandle;
lpNumberOfBytesTransferred: PDWORD;
lpCompletionKey: PULONG;
lpOverlapped: ptr POverlapped;
dwMilliseconds: DWORD): WINBOOL {.stdcall,
dynlib: "kernel32", importc: "GetQueuedCompletionStatus".}
-
proc WSAIoctl*(s: TSocketHandle; dwIoControlCode: DWORD; lpvInBuffer: pointer;
cbInBuffer: DWORD; lpvOutBuffer: pointer; cbOutBuffer: DWORD;
lpcbBytesReturned: PDword; lpOverlapped: POVERLAPPED;
lpCompletionRoutine: POVERLAPPED_COMPLETION_ROUTINE): cint {.
stdcall, importc: "WSAIoctl", dynlib: "Ws2_32.dll".}
-
proc WSARecv*(s: TSocketHandle; buf: ptr TWSABuf; bufCount: DWORD;
bytesReceived, flags: PDWORD; lpOverlapped: POverlapped;
completionProc: POVERLAPPED_COMPLETION_ROUTINE): cint {.stdcall,
importc: "WSARecv", dynlib: "Ws2_32.dll".}
-
proc WSASend*(s: TSocketHandle; buf: ptr TWSABuf; bufCount: DWORD;
bytesSent: PDWord; flags: DWORD; lpOverlapped: POverlapped;
completionProc: POVERLAPPED_COMPLETION_ROUTINE): cint {.stdcall,
importc: "WSASend", dynlib: "Ws2_32.dll".}
-