diff --git a/lib/std/debug.zig b/lib/std/debug.zig index 8527677ebb..5b18f37b6a 100644 --- a/lib/std/debug.zig +++ b/lib/std/debug.zig @@ -1344,7 +1344,7 @@ fn dumpSegfaultInfoPosix(sig: i32, code: i32, addr: usize, ctx_ptr: ?*anyopaque) } } -fn handleSegfaultWindows(info: *windows.EXCEPTION_POINTERS) callconv(windows.WINAPI) c_long { +fn handleSegfaultWindows(info: *windows.EXCEPTION_POINTERS) callconv(.winapi) c_long { switch (info.ExceptionRecord.ExceptionCode) { windows.EXCEPTION_DATATYPE_MISALIGNMENT => handleSegfaultWindowsExtra(info, 0, "Unaligned Memory Access"), windows.EXCEPTION_ACCESS_VIOLATION => handleSegfaultWindowsExtra(info, 1, null), diff --git a/lib/std/os/windows.zig b/lib/std/os/windows.zig index 6903bbf9a8..010bbcd005 100644 --- a/lib/std/os/windows.zig +++ b/lib/std/os/windows.zig @@ -2824,6 +2824,7 @@ pub const STD_OUTPUT_HANDLE = maxInt(DWORD) - 11 + 1; /// The standard error device. Initially, this is the active console screen buffer, CONOUT$. pub const STD_ERROR_HANDLE = maxInt(DWORD) - 12 + 1; +/// Deprecated; use `std.builtin.CallingConvention.winapi` instead. pub const WINAPI: std.builtin.CallingConvention = .winapi; pub const BOOL = c_int; diff --git a/lib/std/os/windows/advapi32.zig b/lib/std/os/windows/advapi32.zig index 3419fdc95c..bf438e2776 100644 --- a/lib/std/os/windows/advapi32.zig +++ b/lib/std/os/windows/advapi32.zig @@ -8,7 +8,6 @@ const LPCWSTR = windows.LPCWSTR; const LSTATUS = windows.LSTATUS; const REGSAM = windows.REGSAM; const ULONG = windows.ULONG; -const WINAPI = windows.WINAPI; pub extern "advapi32" fn RegOpenKeyExW( hKey: HKEY, @@ -16,7 +15,7 @@ pub extern "advapi32" fn RegOpenKeyExW( ulOptions: DWORD, samDesired: REGSAM, phkResult: *HKEY, -) callconv(WINAPI) LSTATUS; +) callconv(.winapi) LSTATUS; pub extern "advapi32" fn RegQueryValueExW( hKey: HKEY, @@ -25,13 +24,13 @@ pub extern "advapi32" fn RegQueryValueExW( lpType: ?*DWORD, lpData: ?*BYTE, lpcbData: ?*DWORD, -) callconv(WINAPI) LSTATUS; +) callconv(.winapi) LSTATUS; -pub extern "advapi32" fn RegCloseKey(hKey: HKEY) callconv(WINAPI) LSTATUS; +pub extern "advapi32" fn RegCloseKey(hKey: HKEY) callconv(.winapi) LSTATUS; // RtlGenRandom is known as SystemFunction036 under advapi32 // http://msdn.microsoft.com/en-us/library/windows/desktop/aa387694.aspx */ -pub extern "advapi32" fn SystemFunction036(output: [*]u8, length: ULONG) callconv(WINAPI) BOOL; +pub extern "advapi32" fn SystemFunction036(output: [*]u8, length: ULONG) callconv(.winapi) BOOL; pub const RtlGenRandom = SystemFunction036; pub const RRF = struct { @@ -62,7 +61,7 @@ pub extern "advapi32" fn RegGetValueW( pdwType: ?*DWORD, pvData: ?*anyopaque, pcbData: ?*DWORD, -) callconv(WINAPI) LSTATUS; +) callconv(.winapi) LSTATUS; pub extern "advapi32" fn RegLoadAppKeyW( lpFile: LPCWSTR, @@ -70,4 +69,4 @@ pub extern "advapi32" fn RegLoadAppKeyW( samDesired: REGSAM, dwOptions: DWORD, reserved: DWORD, -) callconv(WINAPI) LSTATUS; +) callconv(.winapi) LSTATUS; diff --git a/lib/std/os/windows/crypt32.zig b/lib/std/os/windows/crypt32.zig index 9500d4b261..37d8110405 100644 --- a/lib/std/os/windows/crypt32.zig +++ b/lib/std/os/windows/crypt32.zig @@ -4,7 +4,6 @@ const BOOL = windows.BOOL; const DWORD = windows.DWORD; const BYTE = windows.BYTE; const LPCWSTR = windows.LPCWSTR; -const WINAPI = windows.WINAPI; pub const CERT_INFO = *opaque {}; pub const HCERTSTORE = *opaque {}; @@ -19,14 +18,14 @@ pub const CERT_CONTEXT = extern struct { pub extern "crypt32" fn CertOpenSystemStoreW( _: ?*const anyopaque, szSubsystemProtocol: LPCWSTR, -) callconv(WINAPI) ?HCERTSTORE; +) callconv(.winapi) ?HCERTSTORE; pub extern "crypt32" fn CertCloseStore( hCertStore: HCERTSTORE, dwFlags: DWORD, -) callconv(WINAPI) BOOL; +) callconv(.winapi) BOOL; pub extern "crypt32" fn CertEnumCertificatesInStore( hCertStore: HCERTSTORE, pPrevCertContext: ?*CERT_CONTEXT, -) callconv(WINAPI) ?*CERT_CONTEXT; +) callconv(.winapi) ?*CERT_CONTEXT; 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; diff --git a/lib/std/os/windows/ntdll.zig b/lib/std/os/windows/ntdll.zig index 4683b1e887..b4c33a2e2d 100644 --- a/lib/std/os/windows/ntdll.zig +++ b/lib/std/os/windows/ntdll.zig @@ -5,7 +5,6 @@ const BOOL = windows.BOOL; const DWORD = windows.DWORD; const DWORD64 = windows.DWORD64; const ULONG = windows.ULONG; -const WINAPI = windows.WINAPI; const NTSTATUS = windows.NTSTATUS; const WORD = windows.WORD; const HANDLE = windows.HANDLE; @@ -44,7 +43,7 @@ pub extern "ntdll" fn NtQueryInformationProcess( ProcessInformation: *anyopaque, ProcessInformationLength: ULONG, ReturnLength: ?*ULONG, -) callconv(WINAPI) NTSTATUS; +) callconv(.winapi) NTSTATUS; pub extern "ntdll" fn NtQueryInformationThread( ThreadHandle: HANDLE, @@ -52,37 +51,37 @@ pub extern "ntdll" fn NtQueryInformationThread( ThreadInformation: *anyopaque, ThreadInformationLength: ULONG, ReturnLength: ?*ULONG, -) callconv(WINAPI) NTSTATUS; +) callconv(.winapi) NTSTATUS; pub extern "ntdll" fn NtQuerySystemInformation( SystemInformationClass: SYSTEM_INFORMATION_CLASS, SystemInformation: PVOID, SystemInformationLength: ULONG, ReturnLength: ?*ULONG, -) callconv(WINAPI) NTSTATUS; +) callconv(.winapi) NTSTATUS; pub extern "ntdll" fn NtSetInformationThread( ThreadHandle: HANDLE, ThreadInformationClass: THREADINFOCLASS, ThreadInformation: *const anyopaque, ThreadInformationLength: ULONG, -) callconv(WINAPI) NTSTATUS; +) callconv(.winapi) NTSTATUS; pub extern "ntdll" fn RtlGetVersion( lpVersionInformation: *RTL_OSVERSIONINFOW, -) callconv(WINAPI) NTSTATUS; +) callconv(.winapi) NTSTATUS; pub extern "ntdll" fn RtlCaptureStackBackTrace( FramesToSkip: DWORD, FramesToCapture: DWORD, BackTrace: **anyopaque, BackTraceHash: ?*DWORD, -) callconv(WINAPI) WORD; -pub extern "ntdll" fn RtlCaptureContext(ContextRecord: *CONTEXT) callconv(WINAPI) void; +) callconv(.winapi) WORD; +pub extern "ntdll" fn RtlCaptureContext(ContextRecord: *CONTEXT) callconv(.winapi) void; pub extern "ntdll" fn RtlLookupFunctionEntry( ControlPc: DWORD64, ImageBase: *DWORD64, HistoryTable: *UNWIND_HISTORY_TABLE, -) callconv(WINAPI) ?*RUNTIME_FUNCTION; +) callconv(.winapi) ?*RUNTIME_FUNCTION; pub extern "ntdll" fn RtlVirtualUnwind( HandlerType: DWORD, ImageBase: DWORD64, @@ -92,33 +91,33 @@ pub extern "ntdll" fn RtlVirtualUnwind( HandlerData: *?PVOID, EstablisherFrame: *DWORD64, ContextPointers: ?*KNONVOLATILE_CONTEXT_POINTERS, -) callconv(WINAPI) *EXCEPTION_ROUTINE; +) callconv(.winapi) *EXCEPTION_ROUTINE; pub extern "ntdll" fn NtQueryInformationFile( FileHandle: HANDLE, IoStatusBlock: *IO_STATUS_BLOCK, FileInformation: *anyopaque, Length: ULONG, FileInformationClass: FILE_INFORMATION_CLASS, -) callconv(WINAPI) NTSTATUS; +) callconv(.winapi) NTSTATUS; pub extern "ntdll" fn NtSetInformationFile( FileHandle: HANDLE, IoStatusBlock: *IO_STATUS_BLOCK, FileInformation: PVOID, Length: ULONG, FileInformationClass: FILE_INFORMATION_CLASS, -) callconv(WINAPI) NTSTATUS; +) callconv(.winapi) NTSTATUS; pub extern "ntdll" fn NtQueryAttributesFile( ObjectAttributes: *OBJECT_ATTRIBUTES, FileAttributes: *FILE_BASIC_INFORMATION, -) callconv(WINAPI) NTSTATUS; +) callconv(.winapi) NTSTATUS; -pub extern "ntdll" fn RtlQueryPerformanceCounter(PerformanceCounter: *LARGE_INTEGER) callconv(WINAPI) BOOL; -pub extern "ntdll" fn RtlQueryPerformanceFrequency(PerformanceFrequency: *LARGE_INTEGER) callconv(WINAPI) BOOL; +pub extern "ntdll" fn RtlQueryPerformanceCounter(PerformanceCounter: *LARGE_INTEGER) callconv(.winapi) BOOL; +pub extern "ntdll" fn RtlQueryPerformanceFrequency(PerformanceFrequency: *LARGE_INTEGER) callconv(.winapi) BOOL; pub extern "ntdll" fn NtQueryPerformanceCounter( PerformanceCounter: *LARGE_INTEGER, PerformanceFrequency: ?*LARGE_INTEGER, -) callconv(WINAPI) NTSTATUS; +) callconv(.winapi) NTSTATUS; pub extern "ntdll" fn NtCreateFile( FileHandle: *HANDLE, @@ -132,7 +131,7 @@ pub extern "ntdll" fn NtCreateFile( CreateOptions: ULONG, EaBuffer: ?*anyopaque, EaLength: ULONG, -) callconv(WINAPI) NTSTATUS; +) callconv(.winapi) NTSTATUS; pub extern "ntdll" fn NtCreateSection( SectionHandle: *HANDLE, DesiredAccess: ACCESS_MASK, @@ -141,7 +140,7 @@ pub extern "ntdll" fn NtCreateSection( SectionPageProtection: ULONG, AllocationAttributes: ULONG, FileHandle: ?HANDLE, -) callconv(WINAPI) NTSTATUS; +) callconv(.winapi) NTSTATUS; pub extern "ntdll" fn NtMapViewOfSection( SectionHandle: HANDLE, ProcessHandle: HANDLE, @@ -153,11 +152,11 @@ pub extern "ntdll" fn NtMapViewOfSection( InheritDispostion: SECTION_INHERIT, AllocationType: ULONG, Win32Protect: ULONG, -) callconv(WINAPI) NTSTATUS; +) callconv(.winapi) NTSTATUS; pub extern "ntdll" fn NtUnmapViewOfSection( ProcessHandle: HANDLE, BaseAddress: PVOID, -) callconv(WINAPI) NTSTATUS; +) callconv(.winapi) NTSTATUS; pub extern "ntdll" fn NtDeviceIoControlFile( FileHandle: HANDLE, Event: ?HANDLE, @@ -169,7 +168,7 @@ pub extern "ntdll" fn NtDeviceIoControlFile( InputBufferLength: ULONG, OutputBuffer: ?PVOID, OutputBufferLength: ULONG, -) callconv(WINAPI) NTSTATUS; +) callconv(.winapi) NTSTATUS; pub extern "ntdll" fn NtFsControlFile( FileHandle: HANDLE, Event: ?HANDLE, @@ -181,15 +180,15 @@ pub extern "ntdll" fn NtFsControlFile( InputBufferLength: ULONG, OutputBuffer: ?PVOID, OutputBufferLength: ULONG, -) callconv(WINAPI) NTSTATUS; -pub extern "ntdll" fn NtClose(Handle: HANDLE) callconv(WINAPI) NTSTATUS; +) callconv(.winapi) NTSTATUS; +pub extern "ntdll" fn NtClose(Handle: HANDLE) callconv(.winapi) NTSTATUS; pub extern "ntdll" fn RtlDosPathNameToNtPathName_U( DosPathName: [*:0]const u16, NtPathName: *UNICODE_STRING, NtFileNamePart: ?*?[*:0]const u16, DirectoryInfo: ?*CURDIR, -) callconv(WINAPI) BOOL; -pub extern "ntdll" fn RtlFreeUnicodeString(UnicodeString: *UNICODE_STRING) callconv(WINAPI) void; +) callconv(.winapi) BOOL; +pub extern "ntdll" fn RtlFreeUnicodeString(UnicodeString: *UNICODE_STRING) callconv(.winapi) void; /// Returns the number of bytes written to `Buffer`. /// If the returned count is larger than `BufferByteLength`, the buffer was too small. @@ -199,7 +198,7 @@ pub extern "ntdll" fn RtlGetFullPathName_U( BufferByteLength: ULONG, Buffer: [*]u16, ShortName: ?*[*:0]const u16, -) callconv(windows.WINAPI) windows.ULONG; +) callconv(.winapi) windows.ULONG; pub extern "ntdll" fn NtQueryDirectoryFile( FileHandle: HANDLE, @@ -213,30 +212,30 @@ pub extern "ntdll" fn NtQueryDirectoryFile( ReturnSingleEntry: BOOLEAN, FileName: ?*UNICODE_STRING, RestartScan: BOOLEAN, -) callconv(WINAPI) NTSTATUS; +) callconv(.winapi) NTSTATUS; pub extern "ntdll" fn NtCreateKeyedEvent( KeyedEventHandle: *HANDLE, DesiredAccess: ACCESS_MASK, ObjectAttributes: ?PVOID, Flags: ULONG, -) callconv(WINAPI) NTSTATUS; +) callconv(.winapi) NTSTATUS; pub extern "ntdll" fn NtReleaseKeyedEvent( EventHandle: ?HANDLE, Key: ?*const anyopaque, Alertable: BOOLEAN, Timeout: ?*const LARGE_INTEGER, -) callconv(WINAPI) NTSTATUS; +) callconv(.winapi) NTSTATUS; pub extern "ntdll" fn NtWaitForKeyedEvent( EventHandle: ?HANDLE, Key: ?*const anyopaque, Alertable: BOOLEAN, Timeout: ?*const LARGE_INTEGER, -) callconv(WINAPI) NTSTATUS; +) callconv(.winapi) NTSTATUS; -pub extern "ntdll" fn RtlSetCurrentDirectory_U(PathName: *UNICODE_STRING) callconv(WINAPI) NTSTATUS; +pub extern "ntdll" fn RtlSetCurrentDirectory_U(PathName: *UNICODE_STRING) callconv(.winapi) NTSTATUS; pub extern "ntdll" fn NtQueryObject( Handle: HANDLE, @@ -244,7 +243,7 @@ pub extern "ntdll" fn NtQueryObject( ObjectInformation: PVOID, ObjectInformationLength: ULONG, ReturnLength: ?*ULONG, -) callconv(WINAPI) NTSTATUS; +) callconv(.winapi) NTSTATUS; pub extern "ntdll" fn NtQueryVolumeInformationFile( FileHandle: HANDLE, @@ -252,32 +251,32 @@ pub extern "ntdll" fn NtQueryVolumeInformationFile( FsInformation: *anyopaque, Length: ULONG, FsInformationClass: FS_INFORMATION_CLASS, -) callconv(WINAPI) NTSTATUS; +) callconv(.winapi) NTSTATUS; pub extern "ntdll" fn RtlWakeAddressAll( Address: ?*const anyopaque, -) callconv(WINAPI) void; +) callconv(.winapi) void; pub extern "ntdll" fn RtlWakeAddressSingle( Address: ?*const anyopaque, -) callconv(WINAPI) void; +) callconv(.winapi) void; pub extern "ntdll" fn RtlWaitOnAddress( Address: ?*const anyopaque, CompareAddress: ?*const anyopaque, AddressSize: SIZE_T, Timeout: ?*const LARGE_INTEGER, -) callconv(WINAPI) NTSTATUS; +) callconv(.winapi) NTSTATUS; pub extern "ntdll" fn RtlEqualUnicodeString( String1: *const UNICODE_STRING, String2: *const UNICODE_STRING, CaseInSensitive: BOOLEAN, -) callconv(WINAPI) BOOLEAN; +) callconv(.winapi) BOOLEAN; pub extern "ntdll" fn RtlUpcaseUnicodeChar( SourceCharacter: u16, -) callconv(WINAPI) u16; +) callconv(.winapi) u16; pub extern "ntdll" fn NtLockFile( FileHandle: HANDLE, @@ -290,7 +289,7 @@ pub extern "ntdll" fn NtLockFile( Key: ?*ULONG, FailImmediately: BOOLEAN, ExclusiveLock: BOOLEAN, -) callconv(WINAPI) NTSTATUS; +) callconv(.winapi) NTSTATUS; pub extern "ntdll" fn NtUnlockFile( FileHandle: HANDLE, @@ -298,13 +297,13 @@ pub extern "ntdll" fn NtUnlockFile( ByteOffset: *const LARGE_INTEGER, Length: *const LARGE_INTEGER, Key: ?*ULONG, -) callconv(WINAPI) NTSTATUS; +) callconv(.winapi) NTSTATUS; pub extern "ntdll" fn NtOpenKey( KeyHandle: *HANDLE, DesiredAccess: ACCESS_MASK, ObjectAttributes: OBJECT_ATTRIBUTES, -) callconv(WINAPI) NTSTATUS; +) callconv(.winapi) NTSTATUS; pub extern "ntdll" fn RtlQueryRegistryValues( RelativeTo: ULONG, @@ -312,7 +311,7 @@ pub extern "ntdll" fn RtlQueryRegistryValues( QueryTable: [*]RTL_QUERY_REGISTRY_TABLE, Context: ?*anyopaque, Environment: ?*anyopaque, -) callconv(WINAPI) NTSTATUS; +) callconv(.winapi) NTSTATUS; pub extern "ntdll" fn NtReadVirtualMemory( ProcessHandle: HANDLE, @@ -320,7 +319,7 @@ pub extern "ntdll" fn NtReadVirtualMemory( Buffer: LPVOID, NumberOfBytesToRead: SIZE_T, NumberOfBytesRead: ?*SIZE_T, -) callconv(WINAPI) NTSTATUS; +) callconv(.winapi) NTSTATUS; pub extern "ntdll" fn NtWriteVirtualMemory( ProcessHandle: HANDLE, @@ -328,7 +327,7 @@ pub extern "ntdll" fn NtWriteVirtualMemory( Buffer: LPCVOID, NumberOfBytesToWrite: SIZE_T, NumberOfBytesWritten: ?*SIZE_T, -) callconv(WINAPI) NTSTATUS; +) callconv(.winapi) NTSTATUS; pub extern "ntdll" fn NtProtectVirtualMemory( ProcessHandle: HANDLE, @@ -336,11 +335,11 @@ pub extern "ntdll" fn NtProtectVirtualMemory( NumberOfBytesToProtect: *SIZE_T, NewAccessProtection: ULONG, OldAccessProtection: *ULONG, -) callconv(WINAPI) NTSTATUS; +) callconv(.winapi) NTSTATUS; pub extern "ntdll" fn RtlExitUserProcess( ExitStatus: u32, -) callconv(WINAPI) noreturn; +) callconv(.winapi) noreturn; pub extern "ntdll" fn NtCreateNamedPipeFile( FileHandle: *HANDLE, @@ -357,4 +356,4 @@ pub extern "ntdll" fn NtCreateNamedPipeFile( InboundQuota: ULONG, OutboundQuota: ULONG, DefaultTimeout: *LARGE_INTEGER, -) callconv(WINAPI) NTSTATUS; +) callconv(.winapi) NTSTATUS; diff --git a/lib/std/os/windows/test.zig b/lib/std/os/windows/test.zig index acaa7d1218..b4cecefbd7 100644 --- a/lib/std/os/windows/test.zig +++ b/lib/std/os/windows/test.zig @@ -250,7 +250,7 @@ test "loadWinsockExtensionFunction" { SendBufLen: windows.DWORD, BytesSent: *windows.DWORD, Overlapped: *windows.OVERLAPPED, - ) callconv(windows.WINAPI) windows.BOOL; + ) callconv(.winapi) windows.BOOL; _ = windows.loadWinsockExtensionFunction( LPFN_CONNECTEX, diff --git a/lib/std/os/windows/ws2_32.zig b/lib/std/os/windows/ws2_32.zig index f3a1fdca84..e8375dc2c1 100644 --- a/lib/std/os/windows/ws2_32.zig +++ b/lib/std/os/windows/ws2_32.zig @@ -2,7 +2,6 @@ const std = @import("../../std.zig"); const assert = std.debug.assert; const windows = std.os.windows; -const WINAPI = windows.WINAPI; const OVERLAPPED = windows.OVERLAPPED; const WORD = windows.WORD; const DWORD = windows.DWORD; @@ -958,14 +957,14 @@ pub const LPCONDITIONPROC = *const fn ( lpCalleeData: *WSABUF, g: *u32, dwCallbackData: usize, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; pub const LPWSAOVERLAPPED_COMPLETION_ROUTINE = *const fn ( dwError: u32, cbTransferred: u32, lpOverlapped: *OVERLAPPED, dwFlags: u32, -) callconv(WINAPI) void; +) callconv(.winapi) void; pub const FLOWSPEC = extern struct { TokenRate: u32, @@ -1196,7 +1195,7 @@ pub const LPFN_TRANSMITFILE = *const fn ( lpOverlapped: ?*OVERLAPPED, lpTransmitBuffers: ?*TRANSMIT_FILE_BUFFERS, dwReserved: u32, -) callconv(WINAPI) BOOL; +) callconv(.winapi) BOOL; pub const LPFN_ACCEPTEX = *const fn ( sListenSocket: SOCKET, @@ -1207,7 +1206,7 @@ pub const LPFN_ACCEPTEX = *const fn ( dwRemoteAddressLength: u32, lpdwBytesReceived: *u32, lpOverlapped: *OVERLAPPED, -) callconv(WINAPI) BOOL; +) callconv(.winapi) BOOL; pub const LPFN_GETACCEPTEXSOCKADDRS = *const fn ( lpOutputBuffer: *anyopaque, @@ -1218,7 +1217,7 @@ pub const LPFN_GETACCEPTEXSOCKADDRS = *const fn ( LocalSockaddrLength: *i32, RemoteSockaddr: **sockaddr, RemoteSockaddrLength: *i32, -) callconv(WINAPI) void; +) callconv(.winapi) void; pub const LPFN_WSASENDMSG = *const fn ( s: SOCKET, @@ -1227,7 +1226,7 @@ pub const LPFN_WSASENDMSG = *const fn ( lpNumberOfBytesSent: ?*u32, lpOverlapped: ?*OVERLAPPED, lpCompletionRoutine: ?LPWSAOVERLAPPED_COMPLETION_ROUTINE, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; pub const LPFN_WSARECVMSG = *const fn ( s: SOCKET, @@ -1235,12 +1234,12 @@ pub const LPFN_WSARECVMSG = *const fn ( lpdwNumberOfBytesRecv: ?*u32, lpOverlapped: ?*OVERLAPPED, lpCompletionRoutine: ?LPWSAOVERLAPPED_COMPLETION_ROUTINE, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; pub const LPSERVICE_CALLBACK_PROC = *const fn ( lParam: LPARAM, hAsyncTaskHandle: HANDLE, -) callconv(WINAPI) void; +) callconv(.winapi) void; pub const SERVICE_ASYNC_INFO = extern struct { lpServiceCallbackProc: LPSERVICE_CALLBACK_PROC, @@ -1252,7 +1251,7 @@ pub const LPLOOKUPSERVICE_COMPLETION_ROUTINE = *const fn ( dwError: u32, dwBytes: u32, lpOverlapped: *OVERLAPPED, -) callconv(WINAPI) void; +) callconv(.winapi) void; pub const fd_set = extern struct { fd_count: u32, @@ -1725,41 +1724,41 @@ pub extern "ws2_32" fn accept( s: SOCKET, addr: ?*sockaddr, addrlen: ?*i32, -) callconv(WINAPI) SOCKET; +) callconv(.winapi) SOCKET; pub extern "ws2_32" fn bind( s: SOCKET, name: *const sockaddr, namelen: i32, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; pub extern "ws2_32" fn closesocket( s: SOCKET, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; pub extern "ws2_32" fn connect( s: SOCKET, name: *const sockaddr, namelen: i32, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; pub extern "ws2_32" fn ioctlsocket( s: SOCKET, cmd: i32, argp: *u32, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; pub extern "ws2_32" fn getpeername( s: SOCKET, name: *sockaddr, namelen: *i32, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; pub extern "ws2_32" fn getsockname( s: SOCKET, name: *sockaddr, namelen: *i32, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; pub extern "ws2_32" fn getsockopt( s: SOCKET, @@ -1767,39 +1766,39 @@ pub extern "ws2_32" fn getsockopt( optname: i32, optval: [*]u8, optlen: *i32, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; pub extern "ws2_32" fn htonl( hostlong: u32, -) callconv(WINAPI) u32; +) callconv(.winapi) u32; pub extern "ws2_32" fn htons( hostshort: u16, -) callconv(WINAPI) u16; +) callconv(.winapi) u16; pub extern "ws2_32" fn inet_addr( cp: ?[*]const u8, -) callconv(WINAPI) u32; +) callconv(.winapi) u32; pub extern "ws2_32" fn listen( s: SOCKET, backlog: i32, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; pub extern "ws2_32" fn ntohl( netlong: u32, -) callconv(WINAPI) u32; +) callconv(.winapi) u32; pub extern "ws2_32" fn ntohs( netshort: u16, -) callconv(WINAPI) u16; +) callconv(.winapi) u16; pub extern "ws2_32" fn recv( s: SOCKET, buf: [*]u8, len: i32, flags: i32, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; pub extern "ws2_32" fn recvfrom( s: SOCKET, @@ -1808,7 +1807,7 @@ pub extern "ws2_32" fn recvfrom( flags: i32, from: ?*sockaddr, fromlen: ?*i32, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; pub extern "ws2_32" fn select( nfds: i32, @@ -1816,14 +1815,14 @@ pub extern "ws2_32" fn select( writefds: ?*fd_set, exceptfds: ?*fd_set, timeout: ?*const timeval, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; pub extern "ws2_32" fn send( s: SOCKET, buf: [*]const u8, len: i32, flags: u32, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; pub extern "ws2_32" fn sendto( s: SOCKET, @@ -1832,7 +1831,7 @@ pub extern "ws2_32" fn sendto( flags: i32, to: *const sockaddr, tolen: i32, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; pub extern "ws2_32" fn setsockopt( s: SOCKET, @@ -1840,37 +1839,37 @@ pub extern "ws2_32" fn setsockopt( optname: i32, optval: ?[*]const u8, optlen: i32, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; pub extern "ws2_32" fn shutdown( s: SOCKET, how: i32, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; pub extern "ws2_32" fn socket( af: i32, @"type": i32, protocol: i32, -) callconv(WINAPI) SOCKET; +) callconv(.winapi) SOCKET; pub extern "ws2_32" fn WSAStartup( wVersionRequired: WORD, lpWSAData: *WSADATA, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; -pub extern "ws2_32" fn WSACleanup() callconv(WINAPI) i32; +pub extern "ws2_32" fn WSACleanup() callconv(.winapi) i32; -pub extern "ws2_32" fn WSASetLastError(iError: i32) callconv(WINAPI) void; +pub extern "ws2_32" fn WSASetLastError(iError: i32) callconv(.winapi) void; -pub extern "ws2_32" fn WSAGetLastError() callconv(WINAPI) WinsockError; +pub extern "ws2_32" fn WSAGetLastError() callconv(.winapi) WinsockError; -pub extern "ws2_32" fn WSAIsBlocking() callconv(WINAPI) BOOL; +pub extern "ws2_32" fn WSAIsBlocking() callconv(.winapi) BOOL; -pub extern "ws2_32" fn WSAUnhookBlockingHook() callconv(WINAPI) i32; +pub extern "ws2_32" fn WSAUnhookBlockingHook() callconv(.winapi) i32; -pub extern "ws2_32" fn WSASetBlockingHook(lpBlockFunc: FARPROC) callconv(WINAPI) FARPROC; +pub extern "ws2_32" fn WSASetBlockingHook(lpBlockFunc: FARPROC) callconv(.winapi) FARPROC; -pub extern "ws2_32" fn WSACancelBlockingCall() callconv(WINAPI) i32; +pub extern "ws2_32" fn WSACancelBlockingCall() callconv(.winapi) i32; pub extern "ws2_32" fn WSAAsyncGetServByName( hWnd: HWND, @@ -1879,7 +1878,7 @@ pub extern "ws2_32" fn WSAAsyncGetServByName( proto: ?[*:0]const u8, buf: [*]u8, buflen: i32, -) callconv(WINAPI) HANDLE; +) callconv(.winapi) HANDLE; pub extern "ws2_32" fn WSAAsyncGetServByPort( hWnd: HWND, @@ -1888,7 +1887,7 @@ pub extern "ws2_32" fn WSAAsyncGetServByPort( proto: ?[*:0]const u8, buf: [*]u8, buflen: i32, -) callconv(WINAPI) HANDLE; +) callconv(.winapi) HANDLE; pub extern "ws2_32" fn WSAAsyncGetProtoByName( hWnd: HWND, @@ -1896,7 +1895,7 @@ pub extern "ws2_32" fn WSAAsyncGetProtoByName( name: [*:0]const u8, buf: [*]u8, buflen: i32, -) callconv(WINAPI) HANDLE; +) callconv(.winapi) HANDLE; pub extern "ws2_32" fn WSAAsyncGetProtoByNumber( hWnd: HWND, @@ -1904,16 +1903,16 @@ pub extern "ws2_32" fn WSAAsyncGetProtoByNumber( number: i32, buf: [*]u8, buflen: i32, -) callconv(WINAPI) HANDLE; +) callconv(.winapi) HANDLE; -pub extern "ws2_32" fn WSACancelAsyncRequest(hAsyncTaskHandle: HANDLE) callconv(WINAPI) i32; +pub extern "ws2_32" fn WSACancelAsyncRequest(hAsyncTaskHandle: HANDLE) callconv(.winapi) i32; pub extern "ws2_32" fn WSAAsyncSelect( s: SOCKET, hWnd: HWND, wMsg: u32, lEvent: i32, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; pub extern "ws2_32" fn WSAAccept( s: SOCKET, @@ -1921,9 +1920,9 @@ pub extern "ws2_32" fn WSAAccept( addrlen: ?*i32, lpfnCondition: ?LPCONDITIONPROC, dwCallbackData: usize, -) callconv(WINAPI) SOCKET; +) callconv(.winapi) SOCKET; -pub extern "ws2_32" fn WSACloseEvent(hEvent: HANDLE) callconv(WINAPI) BOOL; +pub extern "ws2_32" fn WSACloseEvent(hEvent: HANDLE) callconv(.winapi) BOOL; pub extern "ws2_32" fn WSAConnect( s: SOCKET, @@ -1933,7 +1932,7 @@ pub extern "ws2_32" fn WSAConnect( lpCalleeData: ?*WSABUF, lpSQOS: ?*QOS, lpGQOS: ?*QOS, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; pub extern "ws2_32" fn WSAConnectByNameW( s: SOCKET, @@ -1945,7 +1944,7 @@ pub extern "ws2_32" fn WSAConnectByNameW( RemoteAddress: ?*sockaddr, timeout: ?*const timeval, Reserved: *OVERLAPPED, -) callconv(WINAPI) BOOL; +) callconv(.winapi) BOOL; pub extern "ws2_32" fn WSAConnectByNameA( s: SOCKET, @@ -1957,7 +1956,7 @@ pub extern "ws2_32" fn WSAConnectByNameA( RemoteAddress: ?*sockaddr, timeout: ?*const timeval, Reserved: *OVERLAPPED, -) callconv(WINAPI) BOOL; +) callconv(.winapi) BOOL; pub extern "ws2_32" fn WSAConnectByList( s: SOCKET, @@ -1968,45 +1967,45 @@ pub extern "ws2_32" fn WSAConnectByList( RemoteAddress: ?*sockaddr, timeout: ?*const timeval, Reserved: *OVERLAPPED, -) callconv(WINAPI) BOOL; +) callconv(.winapi) BOOL; -pub extern "ws2_32" fn WSACreateEvent() callconv(WINAPI) HANDLE; +pub extern "ws2_32" fn WSACreateEvent() callconv(.winapi) HANDLE; pub extern "ws2_32" fn WSADuplicateSocketA( s: SOCKET, dwProcessId: u32, lpProtocolInfo: *WSAPROTOCOL_INFOA, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; pub extern "ws2_32" fn WSADuplicateSocketW( s: SOCKET, dwProcessId: u32, lpProtocolInfo: *WSAPROTOCOL_INFOW, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; pub extern "ws2_32" fn WSAEnumNetworkEvents( s: SOCKET, hEventObject: HANDLE, lpNetworkEvents: *WSANETWORKEVENTS, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; pub extern "ws2_32" fn WSAEnumProtocolsA( lpiProtocols: ?*i32, lpProtocolBuffer: ?*WSAPROTOCOL_INFOA, lpdwBufferLength: *u32, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; pub extern "ws2_32" fn WSAEnumProtocolsW( lpiProtocols: ?*i32, lpProtocolBuffer: ?*WSAPROTOCOL_INFOW, lpdwBufferLength: *u32, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; pub extern "ws2_32" fn WSAEventSelect( s: SOCKET, hEventObject: HANDLE, lNetworkEvents: i32, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; pub extern "ws2_32" fn WSAGetOverlappedResult( s: SOCKET, @@ -2014,25 +2013,25 @@ pub extern "ws2_32" fn WSAGetOverlappedResult( lpcbTransfer: *u32, fWait: BOOL, lpdwFlags: *u32, -) callconv(WINAPI) BOOL; +) callconv(.winapi) BOOL; pub extern "ws2_32" fn WSAGetQOSByName( s: SOCKET, lpQOSName: *WSABUF, lpQOS: *QOS, -) callconv(WINAPI) BOOL; +) callconv(.winapi) BOOL; pub extern "ws2_32" fn WSAHtonl( s: SOCKET, hostlong: u32, lpnetlong: *u32, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; pub extern "ws2_32" fn WSAHtons( s: SOCKET, hostshort: u16, lpnetshort: *u16, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; pub extern "ws2_32" fn WSAIoctl( s: SOCKET, @@ -2044,7 +2043,7 @@ pub extern "ws2_32" fn WSAIoctl( lpcbBytesReturned: *u32, lpOverlapped: ?*OVERLAPPED, lpCompletionRoutine: ?LPWSAOVERLAPPED_COMPLETION_ROUTINE, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; pub extern "ws2_32" fn WSAJoinLeaf( s: SOCKET, @@ -2055,19 +2054,19 @@ pub extern "ws2_32" fn WSAJoinLeaf( lpSQOS: ?*QOS, lpGQOS: ?*QOS, dwFlags: u32, -) callconv(WINAPI) SOCKET; +) callconv(.winapi) SOCKET; pub extern "ws2_32" fn WSANtohl( s: SOCKET, netlong: u32, lphostlong: *u32, -) callconv(WINAPI) u32; +) callconv(.winapi) u32; pub extern "ws2_32" fn WSANtohs( s: SOCKET, netshort: u16, lphostshort: *u16, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; pub extern "ws2_32" fn WSARecv( s: SOCKET, @@ -2077,12 +2076,12 @@ pub extern "ws2_32" fn WSARecv( lpFlags: *u32, lpOverlapped: ?*OVERLAPPED, lpCompletionRoutine: ?LPWSAOVERLAPPED_COMPLETION_ROUTINE, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; pub extern "ws2_32" fn WSARecvDisconnect( s: SOCKET, lpInboundDisconnectData: ?*WSABUF, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; pub extern "ws2_32" fn WSARecvFrom( s: SOCKET, @@ -2094,9 +2093,9 @@ pub extern "ws2_32" fn WSARecvFrom( lpFromlen: ?*i32, lpOverlapped: ?*OVERLAPPED, lpCompletionRoutine: ?LPWSAOVERLAPPED_COMPLETION_ROUTINE, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; -pub extern "ws2_32" fn WSAResetEvent(hEvent: HANDLE) callconv(WINAPI) i32; +pub extern "ws2_32" fn WSAResetEvent(hEvent: HANDLE) callconv(.winapi) i32; pub extern "ws2_32" fn WSASend( s: SOCKET, @@ -2106,7 +2105,7 @@ pub extern "ws2_32" fn WSASend( dwFlags: u32, lpOverlapped: ?*OVERLAPPED, lpCompletionRoutine: ?LPWSAOVERLAPPED_COMPLETION_ROUTINE, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; pub extern "ws2_32" fn WSASendMsg( s: SOCKET, @@ -2115,7 +2114,7 @@ pub extern "ws2_32" fn WSASendMsg( lpNumberOfBytesSent: ?*u32, lpOverlapped: ?*OVERLAPPED, lpCompletionRoutine: ?LPWSAOVERLAPPED_COMPLETION_ROUTINE, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; pub extern "ws2_32" fn WSARecvMsg( s: SOCKET, @@ -2123,12 +2122,12 @@ pub extern "ws2_32" fn WSARecvMsg( lpdwNumberOfBytesRecv: ?*u32, lpOverlapped: ?*OVERLAPPED, lpCompletionRoutine: ?LPWSAOVERLAPPED_COMPLETION_ROUTINE, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; pub extern "ws2_32" fn WSASendDisconnect( s: SOCKET, lpOutboundDisconnectData: ?*WSABUF, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; pub extern "ws2_32" fn WSASendTo( s: SOCKET, @@ -2140,11 +2139,11 @@ pub extern "ws2_32" fn WSASendTo( iToLen: i32, lpOverlapped: ?*OVERLAPPED, lpCompletionRounte: ?LPWSAOVERLAPPED_COMPLETION_ROUTINE, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; pub extern "ws2_32" fn WSASetEvent( hEvent: HANDLE, -) callconv(WINAPI) BOOL; +) callconv(.winapi) BOOL; pub extern "ws2_32" fn WSASocketA( af: i32, @@ -2153,7 +2152,7 @@ pub extern "ws2_32" fn WSASocketA( lpProtocolInfo: ?*WSAPROTOCOL_INFOA, g: u32, dwFlags: u32, -) callconv(WINAPI) SOCKET; +) callconv(.winapi) SOCKET; pub extern "ws2_32" fn WSASocketW( af: i32, @@ -2162,7 +2161,7 @@ pub extern "ws2_32" fn WSASocketW( lpProtocolInfo: ?*WSAPROTOCOL_INFOW, g: u32, dwFlags: u32, -) callconv(WINAPI) SOCKET; +) callconv(.winapi) SOCKET; pub extern "ws2_32" fn WSAWaitForMultipleEvents( cEvents: u32, @@ -2170,7 +2169,7 @@ pub extern "ws2_32" fn WSAWaitForMultipleEvents( fWaitAll: BOOL, dwTimeout: u32, fAlertable: BOOL, -) callconv(WINAPI) u32; +) callconv(.winapi) u32; pub extern "ws2_32" fn WSAAddressToStringA( lpsaAddress: *sockaddr, @@ -2178,7 +2177,7 @@ pub extern "ws2_32" fn WSAAddressToStringA( lpProtocolInfo: ?*WSAPROTOCOL_INFOA, lpszAddressString: [*]u8, lpdwAddressStringLength: *u32, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; pub extern "ws2_32" fn WSAAddressToStringW( lpsaAddress: *sockaddr, @@ -2186,7 +2185,7 @@ pub extern "ws2_32" fn WSAAddressToStringW( lpProtocolInfo: ?*WSAPROTOCOL_INFOW, lpszAddressString: [*]u16, lpdwAddressStringLength: *u32, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; pub extern "ws2_32" fn WSAStringToAddressA( AddressString: [*:0]const u8, @@ -2194,7 +2193,7 @@ pub extern "ws2_32" fn WSAStringToAddressA( lpProtocolInfo: ?*WSAPROTOCOL_INFOA, lpAddress: *sockaddr, lpAddressLength: *i32, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; pub extern "ws2_32" fn WSAStringToAddressW( AddressString: [*:0]const u16, @@ -2202,26 +2201,26 @@ pub extern "ws2_32" fn WSAStringToAddressW( lpProtocolInfo: ?*WSAPROTOCOL_INFOW, lpAddrses: *sockaddr, lpAddressLength: *i32, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; pub extern "ws2_32" fn WSAProviderConfigChange( lpNotificationHandle: *HANDLE, lpOverlapped: ?*OVERLAPPED, lpCompletionRoutine: ?LPWSAOVERLAPPED_COMPLETION_ROUTINE, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; pub extern "ws2_32" fn WSAPoll( fdArray: [*]WSAPOLLFD, fds: u32, timeout: i32, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; pub extern "mswsock" fn WSARecvEx( s: SOCKET, buf: [*]u8, len: i32, flags: *i32, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; pub extern "mswsock" fn TransmitFile( hSocket: SOCKET, @@ -2231,7 +2230,7 @@ pub extern "mswsock" fn TransmitFile( lpOverlapped: ?*OVERLAPPED, lpTransmitBuffers: ?*TRANSMIT_FILE_BUFFERS, dwReserved: u32, -) callconv(WINAPI) BOOL; +) callconv(.winapi) BOOL; pub extern "mswsock" fn AcceptEx( sListenSocket: SOCKET, @@ -2242,7 +2241,7 @@ pub extern "mswsock" fn AcceptEx( dwRemoteAddressLength: u32, lpdwBytesReceived: *u32, lpOverlapped: *OVERLAPPED, -) callconv(WINAPI) BOOL; +) callconv(.winapi) BOOL; pub extern "mswsock" fn GetAcceptExSockaddrs( lpOutputBuffer: *anyopaque, @@ -2253,24 +2252,24 @@ pub extern "mswsock" fn GetAcceptExSockaddrs( LocalSockaddrLength: *i32, RemoteSockaddr: **sockaddr, RemoteSockaddrLength: *i32, -) callconv(WINAPI) void; +) callconv(.winapi) void; pub extern "ws2_32" fn WSAProviderCompleteAsyncCall( hAsyncCall: HANDLE, iRetCode: i32, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; pub extern "mswsock" fn EnumProtocolsA( lpiProtocols: ?*i32, lpProtocolBuffer: *anyopaque, lpdwBufferLength: *u32, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; pub extern "mswsock" fn EnumProtocolsW( lpiProtocols: ?*i32, lpProtocolBuffer: *anyopaque, lpdwBufferLength: *u32, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; pub extern "mswsock" fn GetAddressByNameA( dwNameSpace: u32, @@ -2282,7 +2281,7 @@ pub extern "mswsock" fn GetAddressByNameA( lpCsaddrBuffer: *anyopaque, lpAliasBuffer: ?[*:0]const u8, lpdwAliasBufferLength: *u32, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; pub extern "mswsock" fn GetAddressByNameW( dwNameSpace: u32, @@ -2295,36 +2294,36 @@ pub extern "mswsock" fn GetAddressByNameW( ldwBufferLEngth: *u32, lpAliasBuffer: ?[*:0]u16, lpdwAliasBufferLength: *u32, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; pub extern "mswsock" fn GetTypeByNameA( lpServiceName: [*:0]u8, lpServiceType: *GUID, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; pub extern "mswsock" fn GetTypeByNameW( lpServiceName: [*:0]u16, lpServiceType: *GUID, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; pub extern "mswsock" fn GetNameByTypeA( lpServiceType: *GUID, lpServiceName: [*:0]u8, dwNameLength: u32, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; pub extern "mswsock" fn GetNameByTypeW( lpServiceType: *GUID, lpServiceName: [*:0]u16, dwNameLength: u32, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; pub extern "ws2_32" fn getaddrinfo( pNodeName: ?[*:0]const u8, pServiceName: ?[*:0]const u8, pHints: ?*const addrinfoa, ppResult: *?*addrinfoa, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; pub extern "ws2_32" fn GetAddrInfoExA( pName: ?[*:0]const u8, @@ -2336,23 +2335,23 @@ pub extern "ws2_32" fn GetAddrInfoExA( timeout: ?*timeval, lpOverlapped: ?*OVERLAPPED, lpCompletionRoutine: ?LPLOOKUPSERVICE_COMPLETION_ROUTINE, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; pub extern "ws2_32" fn GetAddrInfoExCancel( lpHandle: *HANDLE, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; pub extern "ws2_32" fn GetAddrInfoExOverlappedResult( lpOverlapped: *OVERLAPPED, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; pub extern "ws2_32" fn freeaddrinfo( pAddrInfo: ?*addrinfoa, -) callconv(WINAPI) void; +) callconv(.winapi) void; pub extern "ws2_32" fn FreeAddrInfoEx( pAddrInfoEx: ?*addrinfoexA, -) callconv(WINAPI) void; +) callconv(.winapi) void; pub extern "ws2_32" fn getnameinfo( pSockaddr: *const sockaddr, @@ -2362,8 +2361,8 @@ pub extern "ws2_32" fn getnameinfo( pServiceBuffer: ?[*]u8, ServiceBufferName: u32, Flags: i32, -) callconv(WINAPI) i32; +) callconv(.winapi) i32; pub extern "iphlpapi" fn if_nametoindex( InterfaceName: [*:0]const u8, -) callconv(WINAPI) u32; +) callconv(.winapi) u32; diff --git a/src/crash_report.zig b/src/crash_report.zig index d9f8bac350..45410890a5 100644 --- a/src/crash_report.zig +++ b/src/crash_report.zig @@ -229,7 +229,7 @@ const WindowsSegfaultMessage = union(enum) { illegal_instruction: void, }; -fn handleSegfaultWindows(info: *windows.EXCEPTION_POINTERS) callconv(windows.WINAPI) c_long { +fn handleSegfaultWindows(info: *windows.EXCEPTION_POINTERS) callconv(.winapi) c_long { switch (info.ExceptionRecord.ExceptionCode) { windows.EXCEPTION_DATATYPE_MISALIGNMENT => handleSegfaultWindowsExtra(info, .{ .literal = "Unaligned Memory Access" }), windows.EXCEPTION_ACCESS_VIOLATION => handleSegfaultWindowsExtra(info, .segfault),