diff options
| author | Alex Rønne Petersen <alex@alexrp.com> | 2024-11-03 14:27:09 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-11-03 14:27:09 +0100 |
| commit | 3054486d1dedd49553680da2c074d1ab413797fd (patch) | |
| tree | 79c3d4e9b417d14ddb11a47e26da083d5e06e8aa /lib/std/os/windows/kernel32.zig | |
| parent | 2f003f39b28176f08de51271eb66b5f3a54c7aae (diff) | |
| parent | e4e3d7ab4140ae6f078d3ffd72fce4c0a5e6e59f (diff) | |
| download | zig-3054486d1dedd49553680da2c074d1ab413797fd.tar.gz zig-3054486d1dedd49553680da2c074d1ab413797fd.zip | |
Merge pull request #21843 from alexrp/callconv-followup
Some follow-up work for #21697
Diffstat (limited to 'lib/std/os/windows/kernel32.zig')
| -rw-r--r-- | lib/std/os/windows/kernel32.zig | 191 |
1 files changed, 95 insertions, 96 deletions
diff --git a/lib/std/os/windows/kernel32.zig b/lib/std/os/windows/kernel32.zig index b8ae72af55..f2da7957a8 100644 --- a/lib/std/os/windows/kernel32.zig +++ b/lib/std/os/windows/kernel32.zig @@ -41,7 +41,6 @@ const VECTORED_EXCEPTION_HANDLER = windows.VECTORED_EXCEPTION_HANDLER; const WCHAR = windows.WCHAR; const WIN32_FIND_DATAW = windows.WIN32_FIND_DATAW; const Win32Error = windows.Win32Error; -const WINAPI = windows.WINAPI; const WORD = windows.WORD; // I/O - Filesystem @@ -55,18 +54,18 @@ pub extern "kernel32" fn ReadDirectoryChangesW( lpBytesReturned: ?*windows.DWORD, lpOverlapped: ?*windows.OVERLAPPED, lpCompletionRoutine: windows.LPOVERLAPPED_COMPLETION_ROUTINE, -) callconv(windows.WINAPI) windows.BOOL; +) callconv(.winapi) windows.BOOL; // TODO: Wrapper around NtCancelIoFile. pub extern "kernel32" fn CancelIo( hFile: HANDLE, -) callconv(WINAPI) BOOL; +) callconv(.winapi) BOOL; // TODO: Wrapper around NtCancelIoFileEx. pub extern "kernel32" fn CancelIoEx( hFile: HANDLE, lpOverlapped: ?*OVERLAPPED, -) callconv(WINAPI) BOOL; +) callconv(.winapi) BOOL; pub extern "kernel32" fn CreateFileW( lpFileName: LPCWSTR, @@ -76,7 +75,7 @@ pub extern "kernel32" fn CreateFileW( dwCreationDisposition: DWORD, dwFlagsAndAttributes: DWORD, hTemplateFile: ?HANDLE, -) callconv(WINAPI) HANDLE; +) callconv(.winapi) HANDLE; // TODO A bunch of logic around NtCreateNamedPipe pub extern "kernel32" fn CreateNamedPipeW( @@ -88,16 +87,16 @@ pub extern "kernel32" fn CreateNamedPipeW( nInBufferSize: DWORD, nDefaultTimeOut: DWORD, lpSecurityAttributes: ?*const SECURITY_ATTRIBUTES, -) callconv(WINAPI) HANDLE; +) callconv(.winapi) HANDLE; pub extern "kernel32" fn FindFirstFileW( lpFileName: LPCWSTR, lpFindFileData: *WIN32_FIND_DATAW, -) callconv(WINAPI) HANDLE; +) callconv(.winapi) HANDLE; pub extern "kernel32" fn FindClose( hFindFile: HANDLE, -) callconv(WINAPI) BOOL; +) callconv(.winapi) BOOL; // TODO: Wrapper around RtlGetFullPathName_UEx pub extern "kernel32" fn GetFullPathNameW( @@ -105,18 +104,18 @@ pub extern "kernel32" fn GetFullPathNameW( nBufferLength: DWORD, lpBuffer: LPWSTR, lpFilePart: ?*?LPWSTR, -) callconv(WINAPI) DWORD; +) callconv(.winapi) DWORD; // TODO: Matches `STD_*_HANDLE` to peb().ProcessParameters.Standard* pub extern "kernel32" fn GetStdHandle( nStdHandle: DWORD, -) callconv(WINAPI) ?HANDLE; +) callconv(.winapi) ?HANDLE; pub extern "kernel32" fn MoveFileExW( lpExistingFileName: LPCWSTR, lpNewFileName: LPCWSTR, dwFlags: DWORD, -) callconv(WINAPI) BOOL; +) callconv(.winapi) BOOL; // TODO: Wrapper around NtSetInformationFile + `FILE_POSITION_INFORMATION`. // `FILE_STANDARD_INFORMATION` is also used if dwMoveMethod is `FILE_END` @@ -125,7 +124,7 @@ pub extern "kernel32" fn SetFilePointerEx( liDistanceToMove: LARGE_INTEGER, lpNewFilePointer: ?*LARGE_INTEGER, dwMoveMethod: DWORD, -) callconv(WINAPI) BOOL; +) callconv(.winapi) BOOL; // TODO: Wrapper around NtSetInformationFile + `FILE_BASIC_INFORMATION` pub extern "kernel32" fn SetFileTime( @@ -133,7 +132,7 @@ pub extern "kernel32" fn SetFileTime( lpCreationTime: ?*const FILETIME, lpLastAccessTime: ?*const FILETIME, lpLastWriteTime: ?*const FILETIME, -) callconv(WINAPI) BOOL; +) callconv(.winapi) BOOL; pub extern "kernel32" fn WriteFile( in_hFile: HANDLE, @@ -141,35 +140,35 @@ pub extern "kernel32" fn WriteFile( in_nNumberOfBytesToWrite: DWORD, out_lpNumberOfBytesWritten: ?*DWORD, in_out_lpOverlapped: ?*OVERLAPPED, -) callconv(WINAPI) BOOL; +) callconv(.winapi) BOOL; // TODO: wrapper for NtQueryInformationFile + `FILE_STANDARD_INFORMATION` pub extern "kernel32" fn GetFileSizeEx( hFile: HANDLE, lpFileSize: *LARGE_INTEGER, -) callconv(WINAPI) BOOL; +) callconv(.winapi) BOOL; // TODO: Wrapper around GetStdHandle + NtFlushBuffersFile. pub extern "kernel32" fn FlushFileBuffers( hFile: HANDLE, -) callconv(WINAPI) BOOL; +) callconv(.winapi) BOOL; // TODO: Wrapper around NtSetInformationFile + `FILE_IO_COMPLETION_NOTIFICATION_INFORMATION`. pub extern "kernel32" fn SetFileCompletionNotificationModes( FileHandle: HANDLE, Flags: UCHAR, -) callconv(WINAPI) BOOL; +) callconv(.winapi) BOOL; // TODO: `RtlGetCurrentDirectory_U(nBufferLength * 2, lpBuffer)` pub extern "kernel32" fn GetCurrentDirectoryW( nBufferLength: DWORD, lpBuffer: ?[*]WCHAR, -) callconv(WINAPI) DWORD; +) callconv(.winapi) DWORD; // TODO: RtlDosPathNameToNtPathNameU_WithStatus + NtQueryAttributesFile. pub extern "kernel32" fn GetFileAttributesW( lpFileName: LPCWSTR, -) callconv(WINAPI) DWORD; +) callconv(.winapi) DWORD; pub extern "kernel32" fn ReadFile( hFile: HANDLE, @@ -177,12 +176,12 @@ pub extern "kernel32" fn ReadFile( nNumberOfBytesToRead: DWORD, lpNumberOfBytesRead: ?*DWORD, lpOverlapped: ?*OVERLAPPED, -) callconv(WINAPI) BOOL; +) callconv(.winapi) BOOL; pub extern "kernel32" fn GetSystemDirectoryW( lpBuffer: LPWSTR, uSize: UINT, -) callconv(WINAPI) UINT; +) callconv(.winapi) UINT; // I/O - Kernel Objects @@ -192,7 +191,7 @@ pub extern "kernel32" fn CreateEventExW( lpName: ?LPCWSTR, dwFlags: DWORD, dwDesiredAccess: DWORD, -) callconv(WINAPI) ?HANDLE; +) callconv(.winapi) ?HANDLE; // TODO: Wrapper around GetStdHandle + NtDuplicateObject. pub extern "kernel32" fn DuplicateHandle( @@ -203,14 +202,14 @@ pub extern "kernel32" fn DuplicateHandle( dwDesiredAccess: DWORD, bInheritHandle: BOOL, dwOptions: DWORD, -) callconv(WINAPI) BOOL; +) callconv(.winapi) BOOL; // TODO: Wrapper around GetStdHandle + NtQueryObject + NtSetInformationObject with .ObjectHandleFlagInformation. pub extern "kernel32" fn SetHandleInformation( hObject: HANDLE, dwMask: DWORD, dwFlags: DWORD, -) callconv(WINAPI) BOOL; +) callconv(.winapi) BOOL; // TODO: Wrapper around NtRemoveIoCompletion. pub extern "kernel32" fn GetQueuedCompletionStatus( @@ -219,7 +218,7 @@ pub extern "kernel32" fn GetQueuedCompletionStatus( lpCompletionKey: *ULONG_PTR, lpOverlapped: *?*OVERLAPPED, dwMilliseconds: DWORD, -) callconv(WINAPI) BOOL; +) callconv(.winapi) BOOL; // TODO: Wrapper around NtRemoveIoCompletionEx. pub extern "kernel32" fn GetQueuedCompletionStatusEx( @@ -229,7 +228,7 @@ pub extern "kernel32" fn GetQueuedCompletionStatusEx( ulNumEntriesRemoved: *ULONG, dwMilliseconds: DWORD, fAlertable: BOOL, -) callconv(WINAPI) BOOL; +) callconv(.winapi) BOOL; // TODO: Wrapper around NtSetIoCompletion with `IoStatus = .SUCCESS`. pub extern "kernel32" fn PostQueuedCompletionStatus( @@ -237,7 +236,7 @@ pub extern "kernel32" fn PostQueuedCompletionStatus( dwNumberOfBytesTransferred: DWORD, dwCompletionKey: ULONG_PTR, lpOverlapped: ?*OVERLAPPED, -) callconv(WINAPI) BOOL; +) callconv(.winapi) BOOL; // TODO: // GetOverlappedResultEx with bAlertable=false, which calls: GetStdHandle + WaitForSingleObjectEx. @@ -247,7 +246,7 @@ pub extern "kernel32" fn GetOverlappedResult( lpOverlapped: *OVERLAPPED, lpNumberOfBytesTransferred: *DWORD, bWait: BOOL, -) callconv(WINAPI) BOOL; +) callconv(.winapi) BOOL; // TODO: Wrapper around NtCreateIoCompletion + NtSetInformationFile with FILE_COMPLETION_INFORMATION. // This would be better splitting into two functions. @@ -256,30 +255,30 @@ pub extern "kernel32" fn CreateIoCompletionPort( ExistingCompletionPort: ?HANDLE, CompletionKey: ULONG_PTR, NumberOfConcurrentThreads: DWORD, -) callconv(WINAPI) ?HANDLE; +) callconv(.winapi) ?HANDLE; // TODO: Forwarder to NtAddVectoredExceptionHandler. pub extern "kernel32" fn AddVectoredExceptionHandler( First: ULONG, Handler: ?VECTORED_EXCEPTION_HANDLER, -) callconv(WINAPI) ?LPVOID; +) callconv(.winapi) ?LPVOID; // TODO: Forwarder to NtRemoveVectoredExceptionHandler. pub extern "kernel32" fn RemoveVectoredExceptionHandler( Handle: HANDLE, -) callconv(WINAPI) ULONG; +) callconv(.winapi) ULONG; // TODO: Wrapper around RtlReportSilentProcessExit + NtTerminateProcess. pub extern "kernel32" fn TerminateProcess( hProcess: HANDLE, uExitCode: UINT, -) callconv(WINAPI) BOOL; +) callconv(.winapi) BOOL; // TODO: WaitForSingleObjectEx with bAlertable=false. pub extern "kernel32" fn WaitForSingleObject( hHandle: HANDLE, dwMilliseconds: DWORD, -) callconv(WINAPI) DWORD; +) callconv(.winapi) DWORD; // TODO: Wrapper for GetStdHandle + NtWaitForSingleObject. // Sets up an activation context before calling NtWaitForSingleObject. @@ -287,7 +286,7 @@ pub extern "kernel32" fn WaitForSingleObjectEx( hHandle: HANDLE, dwMilliseconds: DWORD, bAlertable: BOOL, -) callconv(WINAPI) DWORD; +) callconv(.winapi) DWORD; // TODO: WaitForMultipleObjectsEx with alertable=false pub extern "kernel32" fn WaitForMultipleObjects( @@ -295,7 +294,7 @@ pub extern "kernel32" fn WaitForMultipleObjects( lpHandle: [*]const HANDLE, bWaitAll: BOOL, dwMilliseconds: DWORD, -) callconv(WINAPI) DWORD; +) callconv(.winapi) DWORD; // TODO: Wrapper around NtWaitForMultipleObjects. pub extern "kernel32" fn WaitForMultipleObjectsEx( @@ -304,7 +303,7 @@ pub extern "kernel32" fn WaitForMultipleObjectsEx( bWaitAll: BOOL, dwMilliseconds: DWORD, bAlertable: BOOL, -) callconv(WINAPI) DWORD; +) callconv(.winapi) DWORD; // Process Management @@ -319,57 +318,57 @@ pub extern "kernel32" fn CreateProcessW( lpCurrentDirectory: ?LPCWSTR, lpStartupInfo: *STARTUPINFOW, lpProcessInformation: *PROCESS_INFORMATION, -) callconv(WINAPI) BOOL; +) callconv(.winapi) BOOL; // TODO: Fowarder to RtlExitUserProcess. pub extern "kernel32" fn ExitProcess( exit_code: UINT, -) callconv(WINAPI) noreturn; +) callconv(.winapi) noreturn; // TODO: SleepEx with bAlertable=false. pub extern "kernel32" fn Sleep( dwMilliseconds: DWORD, -) callconv(WINAPI) void; +) callconv(.winapi) void; // TODO: Wrapper around NtQueryInformationProcess with `PROCESS_BASIC_INFORMATION`. pub extern "kernel32" fn GetExitCodeProcess( hProcess: HANDLE, lpExitCode: *DWORD, -) callconv(WINAPI) BOOL; +) callconv(.winapi) BOOL; // TODO: Already a wrapper for this, see `windows.GetCurrentProcess`. -pub extern "kernel32" fn GetCurrentProcess() callconv(WINAPI) HANDLE; +pub extern "kernel32" fn GetCurrentProcess() callconv(.winapi) HANDLE; // TODO: memcpy peb().ProcessParameters.Environment, mem.span(0). Requires locking the PEB. -pub extern "kernel32" fn GetEnvironmentStringsW() callconv(WINAPI) ?LPWSTR; +pub extern "kernel32" fn GetEnvironmentStringsW() callconv(.winapi) ?LPWSTR; // TODO: RtlFreeHeap on the output of GetEnvironmentStringsW. pub extern "kernel32" fn FreeEnvironmentStringsW( penv: LPWSTR, -) callconv(WINAPI) BOOL; +) callconv(.winapi) BOOL; // TODO: Wrapper around RtlQueryEnvironmentVariable. pub extern "kernel32" fn GetEnvironmentVariableW( lpName: ?LPCWSTR, lpBuffer: ?[*]WCHAR, nSize: DWORD, -) callconv(WINAPI) DWORD; +) callconv(.winapi) DWORD; // TODO: Wrapper around RtlSetEnvironmentVar. pub extern "kernel32" fn SetEnvironmentVariableW( lpName: LPCWSTR, lpValue: ?LPCWSTR, -) callconv(WINAPI) BOOL; +) callconv(.winapi) BOOL; pub extern "kernel32" fn CreateToolhelp32Snapshot( dwFlags: DWORD, th32ProcessID: DWORD, -) callconv(WINAPI) HANDLE; +) callconv(.winapi) HANDLE; // Threading // TODO: Already a wrapper for this, see `windows.GetCurrentThreadId`. -pub extern "kernel32" fn GetCurrentThreadId() callconv(WINAPI) DWORD; +pub extern "kernel32" fn GetCurrentThreadId() callconv(.winapi) DWORD; // TODO: CreateRemoteThread with hProcess=NtCurrentProcess(). pub extern "kernel32" fn CreateThread( @@ -379,64 +378,64 @@ pub extern "kernel32" fn CreateThread( lpParameter: ?LPVOID, dwCreationFlags: DWORD, lpThreadId: ?*DWORD, -) callconv(WINAPI) ?HANDLE; +) callconv(.winapi) ?HANDLE; // TODO: Wrapper around RtlDelayExecution. -pub extern "kernel32" fn SwitchToThread() callconv(WINAPI) BOOL; +pub extern "kernel32" fn SwitchToThread() callconv(.winapi) BOOL; // Locks, critical sections, initializers // TODO: Forwarder to RtlInitializeCriticalSection pub extern "kernel32" fn InitializeCriticalSection( lpCriticalSection: *CRITICAL_SECTION, -) callconv(WINAPI) void; +) callconv(.winapi) void; // TODO: Forwarder to RtlEnterCriticalSection pub extern "kernel32" fn EnterCriticalSection( lpCriticalSection: *CRITICAL_SECTION, -) callconv(WINAPI) void; +) callconv(.winapi) void; // TODO: Forwarder to RtlLeaveCriticalSection pub extern "kernel32" fn LeaveCriticalSection( lpCriticalSection: *CRITICAL_SECTION, -) callconv(WINAPI) void; +) callconv(.winapi) void; // TODO: Forwarder to RtlDeleteCriticalSection pub extern "kernel32" fn DeleteCriticalSection( lpCriticalSection: *CRITICAL_SECTION, -) callconv(WINAPI) void; +) callconv(.winapi) void; // TODO: Forwarder to RtlTryAcquireSRWLockExclusive pub extern "kernel32" fn TryAcquireSRWLockExclusive( SRWLock: *SRWLOCK, -) callconv(WINAPI) BOOLEAN; +) callconv(.winapi) BOOLEAN; // TODO: Forwarder to RtlAcquireSRWLockExclusive pub extern "kernel32" fn AcquireSRWLockExclusive( SRWLock: *SRWLOCK, -) callconv(WINAPI) void; +) callconv(.winapi) void; // TODO: Forwarder to RtlReleaseSRWLockExclusive pub extern "kernel32" fn ReleaseSRWLockExclusive( SRWLock: *SRWLOCK, -) callconv(WINAPI) void; +) callconv(.winapi) void; pub extern "kernel32" fn InitOnceExecuteOnce( InitOnce: *INIT_ONCE, InitFn: INIT_ONCE_FN, Parameter: ?*anyopaque, Context: ?*anyopaque, -) callconv(WINAPI) BOOL; +) callconv(.winapi) BOOL; // TODO: Forwarder to RtlWakeConditionVariable pub extern "kernel32" fn WakeConditionVariable( ConditionVariable: *CONDITION_VARIABLE, -) callconv(WINAPI) void; +) callconv(.winapi) void; // TODO: Forwarder to RtlWakeAllConditionVariable pub extern "kernel32" fn WakeAllConditionVariable( ConditionVariable: *CONDITION_VARIABLE, -) callconv(WINAPI) void; +) callconv(.winapi) void; // TODO: // - dwMilliseconds -> LARGE_INTEGER. @@ -447,40 +446,40 @@ pub extern "kernel32" fn SleepConditionVariableSRW( SRWLock: *SRWLOCK, dwMilliseconds: DWORD, Flags: ULONG, -) callconv(WINAPI) BOOL; +) callconv(.winapi) BOOL; // Console management pub extern "kernel32" fn GetConsoleMode( hConsoleHandle: HANDLE, lpMode: *DWORD, -) callconv(WINAPI) BOOL; +) callconv(.winapi) BOOL; pub extern "kernel32" fn SetConsoleMode( hConsoleHandle: HANDLE, dwMode: DWORD, -) callconv(WINAPI) BOOL; +) callconv(.winapi) BOOL; pub extern "kernel32" fn GetConsoleScreenBufferInfo( hConsoleOutput: HANDLE, lpConsoleScreenBufferInfo: *CONSOLE_SCREEN_BUFFER_INFO, -) callconv(WINAPI) BOOL; +) callconv(.winapi) BOOL; pub extern "kernel32" fn SetConsoleTextAttribute( hConsoleOutput: HANDLE, wAttributes: WORD, -) callconv(WINAPI) BOOL; +) callconv(.winapi) BOOL; pub extern "kernel32" fn SetConsoleCtrlHandler( HandlerRoutine: ?HANDLER_ROUTINE, Add: BOOL, -) callconv(WINAPI) BOOL; +) callconv(.winapi) BOOL; pub extern "kernel32" fn SetConsoleOutputCP( wCodePageID: UINT, -) callconv(WINAPI) BOOL; +) callconv(.winapi) BOOL; -pub extern "kernel32" fn GetConsoleOutputCP() callconv(WINAPI) UINT; +pub extern "kernel32" fn GetConsoleOutputCP() callconv(.winapi) UINT; pub extern "kernel32" fn FillConsoleOutputAttribute( hConsoleOutput: HANDLE, @@ -488,7 +487,7 @@ pub extern "kernel32" fn FillConsoleOutputAttribute( nLength: DWORD, dwWriteCoord: COORD, lpNumberOfAttrsWritten: *DWORD, -) callconv(WINAPI) BOOL; +) callconv(.winapi) BOOL; pub extern "kernel32" fn FillConsoleOutputCharacterW( hConsoleOutput: HANDLE, @@ -496,12 +495,12 @@ pub extern "kernel32" fn FillConsoleOutputCharacterW( nLength: DWORD, dwWriteCoord: COORD, lpNumberOfCharsWritten: *DWORD, -) callconv(WINAPI) BOOL; +) callconv(.winapi) BOOL; pub extern "kernel32" fn SetConsoleCursorPosition( hConsoleOutput: HANDLE, dwCursorPosition: COORD, -) callconv(WINAPI) BOOL; +) callconv(.winapi) BOOL; pub extern "kernel32" fn WriteConsoleW( hConsoleOutput: HANDLE, @@ -509,7 +508,7 @@ pub extern "kernel32" fn WriteConsoleW( nNumberOfCharsToWrite: DWORD, lpNumberOfCharsWritten: ?*DWORD, lpReserved: ?LPVOID, -) callconv(WINAPI) BOOL; +) callconv(.winapi) BOOL; pub extern "kernel32" fn ReadConsoleOutputCharacterW( hConsoleOutput: HANDLE, @@ -517,7 +516,7 @@ pub extern "kernel32" fn ReadConsoleOutputCharacterW( nLength: DWORD, dwReadCoord: COORD, lpNumberOfCharsRead: *DWORD, -) callconv(windows.WINAPI) BOOL; +) callconv(.winapi) BOOL; // Memory Mapping/Allocation @@ -526,12 +525,12 @@ pub extern "kernel32" fn HeapCreate( flOptions: DWORD, dwInitialSize: SIZE_T, dwMaximumSize: SIZE_T, -) callconv(WINAPI) ?HANDLE; +) callconv(.winapi) ?HANDLE; // TODO: Wrapper around RtlDestroyHeap (BOOLEAN -> BOOL). pub extern "kernel32" fn HeapDestroy( hHeap: HANDLE, -) callconv(WINAPI) BOOL; +) callconv(.winapi) BOOL; // TODO: Forwarder to RtlReAllocateHeap. pub extern "kernel32" fn HeapReAlloc( @@ -539,28 +538,28 @@ pub extern "kernel32" fn HeapReAlloc( dwFlags: DWORD, lpMem: *anyopaque, dwBytes: SIZE_T, -) callconv(WINAPI) ?*anyopaque; +) callconv(.winapi) ?*anyopaque; // TODO: Fowrarder to RtlAllocateHeap. pub extern "kernel32" fn HeapAlloc( hHeap: HANDLE, dwFlags: DWORD, dwBytes: SIZE_T, -) callconv(WINAPI) ?*anyopaque; +) callconv(.winapi) ?*anyopaque; // TODO: Fowrarder to RtlFreeHeap. pub extern "kernel32" fn HeapFree( hHeap: HANDLE, dwFlags: DWORD, lpMem: LPVOID, -) callconv(WINAPI) BOOL; +) callconv(.winapi) BOOL; // TODO: Wrapper around RtlValidateHeap (BOOLEAN -> BOOL) pub extern "kernel32" fn HeapValidate( hHeap: HANDLE, dwFlags: DWORD, lpMem: ?*const anyopaque, -) callconv(WINAPI) BOOL; +) callconv(.winapi) BOOL; // TODO: Wrapper around NtAllocateVirtualMemory. pub extern "kernel32" fn VirtualAlloc( @@ -568,7 +567,7 @@ pub extern "kernel32" fn VirtualAlloc( dwSize: SIZE_T, flAllocationType: DWORD, flProtect: DWORD, -) callconv(WINAPI) ?LPVOID; +) callconv(.winapi) ?LPVOID; // TODO: Wrapper around NtFreeVirtualMemory. // If the return value is .INVALID_PAGE_PROTECTION, calls RtlFlushSecureMemoryCache and try again. @@ -576,21 +575,21 @@ pub extern "kernel32" fn VirtualFree( lpAddress: ?LPVOID, dwSize: SIZE_T, dwFreeType: DWORD, -) callconv(WINAPI) BOOL; +) callconv(.winapi) BOOL; // TODO: Wrapper around NtQueryVirtualMemory. pub extern "kernel32" fn VirtualQuery( lpAddress: ?LPVOID, lpBuffer: PMEMORY_BASIC_INFORMATION, dwLength: SIZE_T, -) callconv(WINAPI) SIZE_T; +) callconv(.winapi) SIZE_T; pub extern "kernel32" fn LocalFree( hMem: HLOCAL, -) callconv(WINAPI) ?HLOCAL; +) callconv(.winapi) ?HLOCAL; // TODO: Getter for peb.ProcessHeap -pub extern "kernel32" fn GetProcessHeap() callconv(WINAPI) ?HANDLE; +pub extern "kernel32" fn GetProcessHeap() callconv(.winapi) ?HANDLE; // Code Libraries/Modules @@ -599,49 +598,49 @@ pub extern "kernel32" fn GetModuleFileNameW( hModule: ?HMODULE, lpFilename: [*]WCHAR, nSize: DWORD, -) callconv(WINAPI) DWORD; +) callconv(.winapi) DWORD; extern "kernel32" fn K32GetModuleFileNameExW( hProcess: HANDLE, hModule: ?HMODULE, lpFilename: LPWSTR, nSize: DWORD, -) callconv(WINAPI) DWORD; +) callconv(.winapi) DWORD; pub const GetModuleFileNameExW = K32GetModuleFileNameExW; // TODO: Wrapper around ntdll.LdrGetDllHandle, which is a wrapper around LdrGetDllHandleEx pub extern "kernel32" fn GetModuleHandleW( lpModuleName: ?LPCWSTR, -) callconv(WINAPI) ?HMODULE; +) callconv(.winapi) ?HMODULE; pub extern "kernel32" fn Module32First( hSnapshot: HANDLE, lpme: *MODULEENTRY32, -) callconv(WINAPI) BOOL; +) callconv(.winapi) BOOL; pub extern "kernel32" fn Module32Next( hSnapshot: HANDLE, lpme: *MODULEENTRY32, -) callconv(WINAPI) BOOL; +) callconv(.winapi) BOOL; pub extern "kernel32" fn LoadLibraryW( lpLibFileName: LPCWSTR, -) callconv(WINAPI) ?HMODULE; +) callconv(.winapi) ?HMODULE; pub extern "kernel32" fn LoadLibraryExW( lpLibFileName: LPCWSTR, hFile: ?HANDLE, dwFlags: DWORD, -) callconv(WINAPI) ?HMODULE; +) callconv(.winapi) ?HMODULE; pub extern "kernel32" fn GetProcAddress( hModule: HMODULE, lpProcName: LPCSTR, -) callconv(WINAPI) ?FARPROC; +) callconv(.winapi) ?FARPROC; pub extern "kernel32" fn FreeLibrary( hModule: HMODULE, -) callconv(WINAPI) BOOL; +) callconv(.winapi) BOOL; // Error Management @@ -653,15 +652,15 @@ pub extern "kernel32" fn FormatMessageW( lpBuffer: LPWSTR, nSize: DWORD, Arguments: ?*va_list, -) callconv(WINAPI) DWORD; +) callconv(.winapi) DWORD; // TODO: Getter for teb().LastErrorValue. -pub extern "kernel32" fn GetLastError() callconv(WINAPI) Win32Error; +pub extern "kernel32" fn GetLastError() callconv(.winapi) Win32Error; // TODO: Wrapper around RtlSetLastWin32Error. pub extern "kernel32" fn SetLastError( dwErrCode: Win32Error, -) callconv(WINAPI) void; +) callconv(.winapi) void; // Everything Else @@ -670,4 +669,4 @@ pub extern "kernel32" fn SetLastError( // Much better to use NtQuerySystemTime or NtQuerySystemTimePrecise for guaranteed 0.1ns precision. pub extern "kernel32" fn GetSystemTimeAsFileTime( lpSystemTimeAsFileTime: *FILETIME, -) callconv(WINAPI) void; +) callconv(.winapi) void; |
