authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2024-11-01 01:06:45+01:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2024-11-02 10:44:18+01:00
logbe8a527eb2ac2f0527e33ce9e34c3bccdfee76c3
treeaf69f7221862ad6422e006ac0032a8696712e4cf
parent5a6cc552e362fccfd29570a2473573748f86c424
signaturebadge-check Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

std.os.windows: Deprecate WINAPI in favor of CallingConvention.winapi.


9 files changed, 260 insertions(+), 264 deletions(-)

lib/std/debug.zig+1-1
......@@ -1344,7 +1344,7 @@ fn dumpSegfaultInfoPosix(sig: i32, code: i32, addr: usize, ctx_ptr: ?*anyopaque)
13441344 }
13451345}
13461346
1347fn handleSegfaultWindows(info: *windows.EXCEPTION_POINTERS) callconv(windows.WINAPI) c_long {
1347fn handleSegfaultWindows(info: *windows.EXCEPTION_POINTERS) callconv(.winapi) c_long {
13481348 switch (info.ExceptionRecord.ExceptionCode) {
13491349 windows.EXCEPTION_DATATYPE_MISALIGNMENT => handleSegfaultWindowsExtra(info, 0, "Unaligned Memory Access"),
13501350 windows.EXCEPTION_ACCESS_VIOLATION => handleSegfaultWindowsExtra(info, 1, null),
lib/std/os/windows.zig+1
......@@ -2824,6 +2824,7 @@ pub const STD_OUTPUT_HANDLE = maxInt(DWORD) - 11 + 1;
28242824/// The standard error device. Initially, this is the active console screen buffer, CONOUT$.
28252825pub const STD_ERROR_HANDLE = maxInt(DWORD) - 12 + 1;
28262826
2827/// Deprecated; use `std.builtin.CallingConvention.winapi` instead.
28272828pub const WINAPI: std.builtin.CallingConvention = .winapi;
28282829
28292830pub const BOOL = c_int;
lib/std/os/windows/advapi32.zig+6-7
......@@ -8,7 +8,6 @@ const LPCWSTR = windows.LPCWSTR;
88const LSTATUS = windows.LSTATUS;
99const REGSAM = windows.REGSAM;
1010const ULONG = windows.ULONG;
11const WINAPI = windows.WINAPI;
1211
1312pub extern "advapi32" fn RegOpenKeyExW(
1413 hKey: HKEY,
......@@ -16,7 +15,7 @@ pub extern "advapi32" fn RegOpenKeyExW(
1615 ulOptions: DWORD,
1716 samDesired: REGSAM,
1817 phkResult: *HKEY,
19) callconv(WINAPI) LSTATUS;
18) callconv(.winapi) LSTATUS;
2019
2120pub extern "advapi32" fn RegQueryValueExW(
2221 hKey: HKEY,
......@@ -25,13 +24,13 @@ pub extern "advapi32" fn RegQueryValueExW(
2524 lpType: ?*DWORD,
2625 lpData: ?*BYTE,
2726 lpcbData: ?*DWORD,
28) callconv(WINAPI) LSTATUS;
27) callconv(.winapi) LSTATUS;
2928
30pub extern "advapi32" fn RegCloseKey(hKey: HKEY) callconv(WINAPI) LSTATUS;
29pub extern "advapi32" fn RegCloseKey(hKey: HKEY) callconv(.winapi) LSTATUS;
3130
3231// RtlGenRandom is known as SystemFunction036 under advapi32
3332// http://msdn.microsoft.com/en-us/library/windows/desktop/aa387694.aspx */
34pub extern "advapi32" fn SystemFunction036(output: [*]u8, length: ULONG) callconv(WINAPI) BOOL;
33pub extern "advapi32" fn SystemFunction036(output: [*]u8, length: ULONG) callconv(.winapi) BOOL;
3534pub const RtlGenRandom = SystemFunction036;
3635
3736pub const RRF = struct {
......@@ -62,7 +61,7 @@ pub extern "advapi32" fn RegGetValueW(
6261 pdwType: ?*DWORD,
6362 pvData: ?*anyopaque,
6463 pcbData: ?*DWORD,
65) callconv(WINAPI) LSTATUS;
64) callconv(.winapi) LSTATUS;
6665
6766pub extern "advapi32" fn RegLoadAppKeyW(
6867 lpFile: LPCWSTR,
......@@ -70,4 +69,4 @@ pub extern "advapi32" fn RegLoadAppKeyW(
7069 samDesired: REGSAM,
7170 dwOptions: DWORD,
7271 reserved: DWORD,
73) callconv(WINAPI) LSTATUS;
72) callconv(.winapi) LSTATUS;
lib/std/os/windows/crypt32.zig+3-4
......@@ -4,7 +4,6 @@ const BOOL = windows.BOOL;
44const DWORD = windows.DWORD;
55const BYTE = windows.BYTE;
66const LPCWSTR = windows.LPCWSTR;
7const WINAPI = windows.WINAPI;
87
98pub const CERT_INFO = *opaque {};
109pub const HCERTSTORE = *opaque {};
......@@ -19,14 +18,14 @@ pub const CERT_CONTEXT = extern struct {
1918pub extern "crypt32" fn CertOpenSystemStoreW(
2019 _: ?*const anyopaque,
2120 szSubsystemProtocol: LPCWSTR,
22) callconv(WINAPI) ?HCERTSTORE;
21) callconv(.winapi) ?HCERTSTORE;
2322
2423pub extern "crypt32" fn CertCloseStore(
2524 hCertStore: HCERTSTORE,
2625 dwFlags: DWORD,
27) callconv(WINAPI) BOOL;
26) callconv(.winapi) BOOL;
2827
2928pub extern "crypt32" fn CertEnumCertificatesInStore(
3029 hCertStore: HCERTSTORE,
3130 pPrevCertContext: ?*CERT_CONTEXT,
32) callconv(WINAPI) ?*CERT_CONTEXT;
31) callconv(.winapi) ?*CERT_CONTEXT;
lib/std/os/windows/kernel32.zig+95-96
......@@ -41,7 +41,6 @@ const VECTORED_EXCEPTION_HANDLER = windows.VECTORED_EXCEPTION_HANDLER;
4141const WCHAR = windows.WCHAR;
4242const WIN32_FIND_DATAW = windows.WIN32_FIND_DATAW;
4343const Win32Error = windows.Win32Error;
44const WINAPI = windows.WINAPI;
4544const WORD = windows.WORD;
4645
4746// I/O - Filesystem
......@@ -55,18 +54,18 @@ pub extern "kernel32" fn ReadDirectoryChangesW(
5554 lpBytesReturned: ?*windows.DWORD,
5655 lpOverlapped: ?*windows.OVERLAPPED,
5756 lpCompletionRoutine: windows.LPOVERLAPPED_COMPLETION_ROUTINE,
58) callconv(windows.WINAPI) windows.BOOL;
57) callconv(.winapi) windows.BOOL;
5958
6059// TODO: Wrapper around NtCancelIoFile.
6160pub extern "kernel32" fn CancelIo(
6261 hFile: HANDLE,
63) callconv(WINAPI) BOOL;
62) callconv(.winapi) BOOL;
6463
6564// TODO: Wrapper around NtCancelIoFileEx.
6665pub extern "kernel32" fn CancelIoEx(
6766 hFile: HANDLE,
6867 lpOverlapped: ?*OVERLAPPED,
69) callconv(WINAPI) BOOL;
68) callconv(.winapi) BOOL;
7069
7170pub extern "kernel32" fn CreateFileW(
7271 lpFileName: LPCWSTR,
......@@ -76,7 +75,7 @@ pub extern "kernel32" fn CreateFileW(
7675 dwCreationDisposition: DWORD,
7776 dwFlagsAndAttributes: DWORD,
7877 hTemplateFile: ?HANDLE,
79) callconv(WINAPI) HANDLE;
78) callconv(.winapi) HANDLE;
8079
8180// TODO A bunch of logic around NtCreateNamedPipe
8281pub extern "kernel32" fn CreateNamedPipeW(
......@@ -88,16 +87,16 @@ pub extern "kernel32" fn CreateNamedPipeW(
8887 nInBufferSize: DWORD,
8988 nDefaultTimeOut: DWORD,
9089 lpSecurityAttributes: ?*const SECURITY_ATTRIBUTES,
91) callconv(WINAPI) HANDLE;
90) callconv(.winapi) HANDLE;
9291
9392pub extern "kernel32" fn FindFirstFileW(
9493 lpFileName: LPCWSTR,
9594 lpFindFileData: *WIN32_FIND_DATAW,
96) callconv(WINAPI) HANDLE;
95) callconv(.winapi) HANDLE;
9796
9897pub extern "kernel32" fn FindClose(
9998 hFindFile: HANDLE,
100) callconv(WINAPI) BOOL;
99) callconv(.winapi) BOOL;
101100
102101// TODO: Wrapper around RtlGetFullPathName_UEx
103102pub extern "kernel32" fn GetFullPathNameW(
......@@ -105,18 +104,18 @@ pub extern "kernel32" fn GetFullPathNameW(
105104 nBufferLength: DWORD,
106105 lpBuffer: LPWSTR,
107106 lpFilePart: ?*?LPWSTR,
108) callconv(WINAPI) DWORD;
107) callconv(.winapi) DWORD;
109108
110109// TODO: Matches `STD_*_HANDLE` to peb().ProcessParameters.Standard*
111110pub extern "kernel32" fn GetStdHandle(
112111 nStdHandle: DWORD,
113) callconv(WINAPI) ?HANDLE;
112) callconv(.winapi) ?HANDLE;
114113
115114pub extern "kernel32" fn MoveFileExW(
116115 lpExistingFileName: LPCWSTR,
117116 lpNewFileName: LPCWSTR,
118117 dwFlags: DWORD,
119) callconv(WINAPI) BOOL;
118) callconv(.winapi) BOOL;
120119
121120// TODO: Wrapper around NtSetInformationFile + `FILE_POSITION_INFORMATION`.
122121// `FILE_STANDARD_INFORMATION` is also used if dwMoveMethod is `FILE_END`
......@@ -125,7 +124,7 @@ pub extern "kernel32" fn SetFilePointerEx(
125124 liDistanceToMove: LARGE_INTEGER,
126125 lpNewFilePointer: ?*LARGE_INTEGER,
127126 dwMoveMethod: DWORD,
128) callconv(WINAPI) BOOL;
127) callconv(.winapi) BOOL;
129128
130129// TODO: Wrapper around NtSetInformationFile + `FILE_BASIC_INFORMATION`
131130pub extern "kernel32" fn SetFileTime(
......@@ -133,7 +132,7 @@ pub extern "kernel32" fn SetFileTime(
133132 lpCreationTime: ?*const FILETIME,
134133 lpLastAccessTime: ?*const FILETIME,
135134 lpLastWriteTime: ?*const FILETIME,
136) callconv(WINAPI) BOOL;
135) callconv(.winapi) BOOL;
137136
138137pub extern "kernel32" fn WriteFile(
139138 in_hFile: HANDLE,
......@@ -141,35 +140,35 @@ pub extern "kernel32" fn WriteFile(
141140 in_nNumberOfBytesToWrite: DWORD,
142141 out_lpNumberOfBytesWritten: ?*DWORD,
143142 in_out_lpOverlapped: ?*OVERLAPPED,
144) callconv(WINAPI) BOOL;
143) callconv(.winapi) BOOL;
145144
146145// TODO: wrapper for NtQueryInformationFile + `FILE_STANDARD_INFORMATION`
147146pub extern "kernel32" fn GetFileSizeEx(
148147 hFile: HANDLE,
149148 lpFileSize: *LARGE_INTEGER,
150) callconv(WINAPI) BOOL;
149) callconv(.winapi) BOOL;
151150
152151// TODO: Wrapper around GetStdHandle + NtFlushBuffersFile.
153152pub extern "kernel32" fn FlushFileBuffers(
154153 hFile: HANDLE,
155) callconv(WINAPI) BOOL;
154) callconv(.winapi) BOOL;
156155
157156// TODO: Wrapper around NtSetInformationFile + `FILE_IO_COMPLETION_NOTIFICATION_INFORMATION`.
158157pub extern "kernel32" fn SetFileCompletionNotificationModes(
159158 FileHandle: HANDLE,
160159 Flags: UCHAR,
161) callconv(WINAPI) BOOL;
160) callconv(.winapi) BOOL;
162161
163162// TODO: `RtlGetCurrentDirectory_U(nBufferLength * 2, lpBuffer)`
164163pub extern "kernel32" fn GetCurrentDirectoryW(
165164 nBufferLength: DWORD,
166165 lpBuffer: ?[*]WCHAR,
167) callconv(WINAPI) DWORD;
166) callconv(.winapi) DWORD;
168167
169168// TODO: RtlDosPathNameToNtPathNameU_WithStatus + NtQueryAttributesFile.
170169pub extern "kernel32" fn GetFileAttributesW(
171170 lpFileName: LPCWSTR,
172) callconv(WINAPI) DWORD;
171) callconv(.winapi) DWORD;
173172
174173pub extern "kernel32" fn ReadFile(
175174 hFile: HANDLE,
......@@ -177,12 +176,12 @@ pub extern "kernel32" fn ReadFile(
177176 nNumberOfBytesToRead: DWORD,
178177 lpNumberOfBytesRead: ?*DWORD,
179178 lpOverlapped: ?*OVERLAPPED,
180) callconv(WINAPI) BOOL;
179) callconv(.winapi) BOOL;
181180
182181pub extern "kernel32" fn GetSystemDirectoryW(
183182 lpBuffer: LPWSTR,
184183 uSize: UINT,
185) callconv(WINAPI) UINT;
184) callconv(.winapi) UINT;
186185
187186// I/O - Kernel Objects
188187
......@@ -192,7 +191,7 @@ pub extern "kernel32" fn CreateEventExW(
192191 lpName: ?LPCWSTR,
193192 dwFlags: DWORD,
194193 dwDesiredAccess: DWORD,
195) callconv(WINAPI) ?HANDLE;
194) callconv(.winapi) ?HANDLE;
196195
197196// TODO: Wrapper around GetStdHandle + NtDuplicateObject.
198197pub extern "kernel32" fn DuplicateHandle(
......@@ -203,14 +202,14 @@ pub extern "kernel32" fn DuplicateHandle(
203202 dwDesiredAccess: DWORD,
204203 bInheritHandle: BOOL,
205204 dwOptions: DWORD,
206) callconv(WINAPI) BOOL;
205) callconv(.winapi) BOOL;
207206
208207// TODO: Wrapper around GetStdHandle + NtQueryObject + NtSetInformationObject with .ObjectHandleFlagInformation.
209208pub extern "kernel32" fn SetHandleInformation(
210209 hObject: HANDLE,
211210 dwMask: DWORD,
212211 dwFlags: DWORD,
213) callconv(WINAPI) BOOL;
212) callconv(.winapi) BOOL;
214213
215214// TODO: Wrapper around NtRemoveIoCompletion.
216215pub extern "kernel32" fn GetQueuedCompletionStatus(
......@@ -219,7 +218,7 @@ pub extern "kernel32" fn GetQueuedCompletionStatus(
219218 lpCompletionKey: *ULONG_PTR,
220219 lpOverlapped: *?*OVERLAPPED,
221220 dwMilliseconds: DWORD,
222) callconv(WINAPI) BOOL;
221) callconv(.winapi) BOOL;
223222
224223// TODO: Wrapper around NtRemoveIoCompletionEx.
225224pub extern "kernel32" fn GetQueuedCompletionStatusEx(
......@@ -229,7 +228,7 @@ pub extern "kernel32" fn GetQueuedCompletionStatusEx(
229228 ulNumEntriesRemoved: *ULONG,
230229 dwMilliseconds: DWORD,
231230 fAlertable: BOOL,
232) callconv(WINAPI) BOOL;
231) callconv(.winapi) BOOL;
233232
234233// TODO: Wrapper around NtSetIoCompletion with `IoStatus = .SUCCESS`.
235234pub extern "kernel32" fn PostQueuedCompletionStatus(
......@@ -237,7 +236,7 @@ pub extern "kernel32" fn PostQueuedCompletionStatus(
237236 dwNumberOfBytesTransferred: DWORD,
238237 dwCompletionKey: ULONG_PTR,
239238 lpOverlapped: ?*OVERLAPPED,
240) callconv(WINAPI) BOOL;
239) callconv(.winapi) BOOL;
241240
242241// TODO:
243242// GetOverlappedResultEx with bAlertable=false, which calls: GetStdHandle + WaitForSingleObjectEx.
......@@ -247,7 +246,7 @@ pub extern "kernel32" fn GetOverlappedResult(
247246 lpOverlapped: *OVERLAPPED,
248247 lpNumberOfBytesTransferred: *DWORD,
249248 bWait: BOOL,
250) callconv(WINAPI) BOOL;
249) callconv(.winapi) BOOL;
251250
252251// TODO: Wrapper around NtCreateIoCompletion + NtSetInformationFile with FILE_COMPLETION_INFORMATION.
253252// This would be better splitting into two functions.
......@@ -256,30 +255,30 @@ pub extern "kernel32" fn CreateIoCompletionPort(
256255 ExistingCompletionPort: ?HANDLE,
257256 CompletionKey: ULONG_PTR,
258257 NumberOfConcurrentThreads: DWORD,
259) callconv(WINAPI) ?HANDLE;
258) callconv(.winapi) ?HANDLE;
260259
261260// TODO: Forwarder to NtAddVectoredExceptionHandler.
262261pub extern "kernel32" fn AddVectoredExceptionHandler(
263262 First: ULONG,
264263 Handler: ?VECTORED_EXCEPTION_HANDLER,
265) callconv(WINAPI) ?LPVOID;
264) callconv(.winapi) ?LPVOID;
266265
267266// TODO: Forwarder to NtRemoveVectoredExceptionHandler.
268267pub extern "kernel32" fn RemoveVectoredExceptionHandler(
269268 Handle: HANDLE,
270) callconv(WINAPI) ULONG;
269) callconv(.winapi) ULONG;
271270
272271// TODO: Wrapper around RtlReportSilentProcessExit + NtTerminateProcess.
273272pub extern "kernel32" fn TerminateProcess(
274273 hProcess: HANDLE,
275274 uExitCode: UINT,
276) callconv(WINAPI) BOOL;
275) callconv(.winapi) BOOL;
277276
278277// TODO: WaitForSingleObjectEx with bAlertable=false.
279278pub extern "kernel32" fn WaitForSingleObject(
280279 hHandle: HANDLE,
281280 dwMilliseconds: DWORD,
282) callconv(WINAPI) DWORD;
281) callconv(.winapi) DWORD;
283282
284283// TODO: Wrapper for GetStdHandle + NtWaitForSingleObject.
285284// Sets up an activation context before calling NtWaitForSingleObject.
......@@ -287,7 +286,7 @@ pub extern "kernel32" fn WaitForSingleObjectEx(
287286 hHandle: HANDLE,
288287 dwMilliseconds: DWORD,
289288 bAlertable: BOOL,
290) callconv(WINAPI) DWORD;
289) callconv(.winapi) DWORD;
291290
292291// TODO: WaitForMultipleObjectsEx with alertable=false
293292pub extern "kernel32" fn WaitForMultipleObjects(
......@@ -295,7 +294,7 @@ pub extern "kernel32" fn WaitForMultipleObjects(
295294 lpHandle: [*]const HANDLE,
296295 bWaitAll: BOOL,
297296 dwMilliseconds: DWORD,
298) callconv(WINAPI) DWORD;
297) callconv(.winapi) DWORD;
299298
300299// TODO: Wrapper around NtWaitForMultipleObjects.
301300pub extern "kernel32" fn WaitForMultipleObjectsEx(
......@@ -304,7 +303,7 @@ pub extern "kernel32" fn WaitForMultipleObjectsEx(
304303 bWaitAll: BOOL,
305304 dwMilliseconds: DWORD,
306305 bAlertable: BOOL,
307) callconv(WINAPI) DWORD;
306) callconv(.winapi) DWORD;
308307
309308// Process Management
310309
......@@ -319,57 +318,57 @@ pub extern "kernel32" fn CreateProcessW(
319318 lpCurrentDirectory: ?LPCWSTR,
320319 lpStartupInfo: *STARTUPINFOW,
321320 lpProcessInformation: *PROCESS_INFORMATION,
322) callconv(WINAPI) BOOL;
321) callconv(.winapi) BOOL;
323322
324323// TODO: Fowarder to RtlExitUserProcess.
325324pub extern "kernel32" fn ExitProcess(
326325 exit_code: UINT,
327) callconv(WINAPI) noreturn;
326) callconv(.winapi) noreturn;
328327
329328// TODO: SleepEx with bAlertable=false.
330329pub extern "kernel32" fn Sleep(
331330 dwMilliseconds: DWORD,
332) callconv(WINAPI) void;
331) callconv(.winapi) void;
333332
334333// TODO: Wrapper around NtQueryInformationProcess with `PROCESS_BASIC_INFORMATION`.
335334pub extern "kernel32" fn GetExitCodeProcess(
336335 hProcess: HANDLE,
337336 lpExitCode: *DWORD,
338) callconv(WINAPI) BOOL;
337) callconv(.winapi) BOOL;
339338
340339// TODO: Already a wrapper for this, see `windows.GetCurrentProcess`.
341pub extern "kernel32" fn GetCurrentProcess() callconv(WINAPI) HANDLE;
340pub extern "kernel32" fn GetCurrentProcess() callconv(.winapi) HANDLE;
342341
343342// TODO: memcpy peb().ProcessParameters.Environment, mem.span(0). Requires locking the PEB.
344pub extern "kernel32" fn GetEnvironmentStringsW() callconv(WINAPI) ?LPWSTR;
343pub extern "kernel32" fn GetEnvironmentStringsW() callconv(.winapi) ?LPWSTR;
345344
346345// TODO: RtlFreeHeap on the output of GetEnvironmentStringsW.
347346pub extern "kernel32" fn FreeEnvironmentStringsW(
348347 penv: LPWSTR,
349) callconv(WINAPI) BOOL;
348) callconv(.winapi) BOOL;
350349
351350// TODO: Wrapper around RtlQueryEnvironmentVariable.
352351pub extern "kernel32" fn GetEnvironmentVariableW(
353352 lpName: ?LPCWSTR,
354353 lpBuffer: ?[*]WCHAR,
355354 nSize: DWORD,
356) callconv(WINAPI) DWORD;
355) callconv(.winapi) DWORD;
357356
358357// TODO: Wrapper around RtlSetEnvironmentVar.
359358pub extern "kernel32" fn SetEnvironmentVariableW(
360359 lpName: LPCWSTR,
361360 lpValue: ?LPCWSTR,
362) callconv(WINAPI) BOOL;
361) callconv(.winapi) BOOL;
363362
364363pub extern "kernel32" fn CreateToolhelp32Snapshot(
365364 dwFlags: DWORD,
366365 th32ProcessID: DWORD,
367) callconv(WINAPI) HANDLE;
366) callconv(.winapi) HANDLE;
368367
369368// Threading
370369
371370// TODO: Already a wrapper for this, see `windows.GetCurrentThreadId`.
372pub extern "kernel32" fn GetCurrentThreadId() callconv(WINAPI) DWORD;
371pub extern "kernel32" fn GetCurrentThreadId() callconv(.winapi) DWORD;
373372
374373// TODO: CreateRemoteThread with hProcess=NtCurrentProcess().
375374pub extern "kernel32" fn CreateThread(
......@@ -379,64 +378,64 @@ pub extern "kernel32" fn CreateThread(
379378 lpParameter: ?LPVOID,
380379 dwCreationFlags: DWORD,
381380 lpThreadId: ?*DWORD,
382) callconv(WINAPI) ?HANDLE;
381) callconv(.winapi) ?HANDLE;
383382
384383// TODO: Wrapper around RtlDelayExecution.
385pub extern "kernel32" fn SwitchToThread() callconv(WINAPI) BOOL;
384pub extern "kernel32" fn SwitchToThread() callconv(.winapi) BOOL;
386385
387386// Locks, critical sections, initializers
388387
389388// TODO: Forwarder to RtlInitializeCriticalSection
390389pub extern "kernel32" fn InitializeCriticalSection(
391390 lpCriticalSection: *CRITICAL_SECTION,
392) callconv(WINAPI) void;
391) callconv(.winapi) void;
393392
394393// TODO: Forwarder to RtlEnterCriticalSection
395394pub extern "kernel32" fn EnterCriticalSection(
396395 lpCriticalSection: *CRITICAL_SECTION,
397) callconv(WINAPI) void;
396) callconv(.winapi) void;
398397
399398// TODO: Forwarder to RtlLeaveCriticalSection
400399pub extern "kernel32" fn LeaveCriticalSection(
401400 lpCriticalSection: *CRITICAL_SECTION,
402) callconv(WINAPI) void;
401) callconv(.winapi) void;
403402
404403// TODO: Forwarder to RtlDeleteCriticalSection
405404pub extern "kernel32" fn DeleteCriticalSection(
406405 lpCriticalSection: *CRITICAL_SECTION,
407) callconv(WINAPI) void;
406) callconv(.winapi) void;
408407
409408// TODO: Forwarder to RtlTryAcquireSRWLockExclusive
410409pub extern "kernel32" fn TryAcquireSRWLockExclusive(
411410 SRWLock: *SRWLOCK,
412) callconv(WINAPI) BOOLEAN;
411) callconv(.winapi) BOOLEAN;
413412
414413// TODO: Forwarder to RtlAcquireSRWLockExclusive
415414pub extern "kernel32" fn AcquireSRWLockExclusive(
416415 SRWLock: *SRWLOCK,
417) callconv(WINAPI) void;
416) callconv(.winapi) void;
418417
419418// TODO: Forwarder to RtlReleaseSRWLockExclusive
420419pub extern "kernel32" fn ReleaseSRWLockExclusive(
421420 SRWLock: *SRWLOCK,
422) callconv(WINAPI) void;
421) callconv(.winapi) void;
423422
424423pub extern "kernel32" fn InitOnceExecuteOnce(
425424 InitOnce: *INIT_ONCE,
426425 InitFn: INIT_ONCE_FN,
427426 Parameter: ?*anyopaque,
428427 Context: ?*anyopaque,
429) callconv(WINAPI) BOOL;
428) callconv(.winapi) BOOL;
430429
431430// TODO: Forwarder to RtlWakeConditionVariable
432431pub extern "kernel32" fn WakeConditionVariable(
433432 ConditionVariable: *CONDITION_VARIABLE,
434) callconv(WINAPI) void;
433) callconv(.winapi) void;
435434
436435// TODO: Forwarder to RtlWakeAllConditionVariable
437436pub extern "kernel32" fn WakeAllConditionVariable(
438437 ConditionVariable: *CONDITION_VARIABLE,
439) callconv(WINAPI) void;
438) callconv(.winapi) void;
440439
441440// TODO:
442441// - dwMilliseconds -> LARGE_INTEGER.
......@@ -447,40 +446,40 @@ pub extern "kernel32" fn SleepConditionVariableSRW(
447446 SRWLock: *SRWLOCK,
448447 dwMilliseconds: DWORD,
449448 Flags: ULONG,
450) callconv(WINAPI) BOOL;
449) callconv(.winapi) BOOL;
451450
452451// Console management
453452
454453pub extern "kernel32" fn GetConsoleMode(
455454 hConsoleHandle: HANDLE,
456455 lpMode: *DWORD,
457) callconv(WINAPI) BOOL;
456) callconv(.winapi) BOOL;
458457
459458pub extern "kernel32" fn SetConsoleMode(
460459 hConsoleHandle: HANDLE,
461460 dwMode: DWORD,
462) callconv(WINAPI) BOOL;
461) callconv(.winapi) BOOL;
463462
464463pub extern "kernel32" fn GetConsoleScreenBufferInfo(
465464 hConsoleOutput: HANDLE,
466465 lpConsoleScreenBufferInfo: *CONSOLE_SCREEN_BUFFER_INFO,
467) callconv(WINAPI) BOOL;
466) callconv(.winapi) BOOL;
468467
469468pub extern "kernel32" fn SetConsoleTextAttribute(
470469 hConsoleOutput: HANDLE,
471470 wAttributes: WORD,
472) callconv(WINAPI) BOOL;
471) callconv(.winapi) BOOL;
473472
474473pub extern "kernel32" fn SetConsoleCtrlHandler(
475474 HandlerRoutine: ?HANDLER_ROUTINE,
476475 Add: BOOL,
477) callconv(WINAPI) BOOL;
476) callconv(.winapi) BOOL;
478477
479478pub extern "kernel32" fn SetConsoleOutputCP(
480479 wCodePageID: UINT,
481) callconv(WINAPI) BOOL;
480) callconv(.winapi) BOOL;
482481
483pub extern "kernel32" fn GetConsoleOutputCP() callconv(WINAPI) UINT;
482pub extern "kernel32" fn GetConsoleOutputCP() callconv(.winapi) UINT;
484483
485484pub extern "kernel32" fn FillConsoleOutputAttribute(
486485 hConsoleOutput: HANDLE,
......@@ -488,7 +487,7 @@ pub extern "kernel32" fn FillConsoleOutputAttribute(
488487 nLength: DWORD,
489488 dwWriteCoord: COORD,
490489 lpNumberOfAttrsWritten: *DWORD,
491) callconv(WINAPI) BOOL;
490) callconv(.winapi) BOOL;
492491
493492pub extern "kernel32" fn FillConsoleOutputCharacterW(
494493 hConsoleOutput: HANDLE,
......@@ -496,12 +495,12 @@ pub extern "kernel32" fn FillConsoleOutputCharacterW(
496495 nLength: DWORD,
497496 dwWriteCoord: COORD,
498497 lpNumberOfCharsWritten: *DWORD,
499) callconv(WINAPI) BOOL;
498) callconv(.winapi) BOOL;
500499
501500pub extern "kernel32" fn SetConsoleCursorPosition(
502501 hConsoleOutput: HANDLE,
503502 dwCursorPosition: COORD,
504) callconv(WINAPI) BOOL;
503) callconv(.winapi) BOOL;
505504
506505pub extern "kernel32" fn WriteConsoleW(
507506 hConsoleOutput: HANDLE,
......@@ -509,7 +508,7 @@ pub extern "kernel32" fn WriteConsoleW(
509508 nNumberOfCharsToWrite: DWORD,
510509 lpNumberOfCharsWritten: ?*DWORD,
511510 lpReserved: ?LPVOID,
512) callconv(WINAPI) BOOL;
511) callconv(.winapi) BOOL;
513512
514513pub extern "kernel32" fn ReadConsoleOutputCharacterW(
515514 hConsoleOutput: HANDLE,
......@@ -517,7 +516,7 @@ pub extern "kernel32" fn ReadConsoleOutputCharacterW(
517516 nLength: DWORD,
518517 dwReadCoord: COORD,
519518 lpNumberOfCharsRead: *DWORD,
520) callconv(windows.WINAPI) BOOL;
519) callconv(.winapi) BOOL;
521520
522521// Memory Mapping/Allocation
523522
......@@ -526,12 +525,12 @@ pub extern "kernel32" fn HeapCreate(
526525 flOptions: DWORD,
527526 dwInitialSize: SIZE_T,
528527 dwMaximumSize: SIZE_T,
529) callconv(WINAPI) ?HANDLE;
528) callconv(.winapi) ?HANDLE;
530529
531530// TODO: Wrapper around RtlDestroyHeap (BOOLEAN -> BOOL).
532531pub extern "kernel32" fn HeapDestroy(
533532 hHeap: HANDLE,
534) callconv(WINAPI) BOOL;
533) callconv(.winapi) BOOL;
535534
536535// TODO: Forwarder to RtlReAllocateHeap.
537536pub extern "kernel32" fn HeapReAlloc(
......@@ -539,28 +538,28 @@ pub extern "kernel32" fn HeapReAlloc(
539538 dwFlags: DWORD,
540539 lpMem: *anyopaque,
541540 dwBytes: SIZE_T,
542) callconv(WINAPI) ?*anyopaque;
541) callconv(.winapi) ?*anyopaque;
543542
544543// TODO: Fowrarder to RtlAllocateHeap.
545544pub extern "kernel32" fn HeapAlloc(
546545 hHeap: HANDLE,
547546 dwFlags: DWORD,
548547 dwBytes: SIZE_T,
549) callconv(WINAPI) ?*anyopaque;
548) callconv(.winapi) ?*anyopaque;
550549
551550// TODO: Fowrarder to RtlFreeHeap.
552551pub extern "kernel32" fn HeapFree(
553552 hHeap: HANDLE,
554553 dwFlags: DWORD,
555554 lpMem: LPVOID,
556) callconv(WINAPI) BOOL;
555) callconv(.winapi) BOOL;
557556
558557// TODO: Wrapper around RtlValidateHeap (BOOLEAN -> BOOL)
559558pub extern "kernel32" fn HeapValidate(
560559 hHeap: HANDLE,
561560 dwFlags: DWORD,
562561 lpMem: ?*const anyopaque,
563) callconv(WINAPI) BOOL;
562) callconv(.winapi) BOOL;
564563
565564// TODO: Wrapper around NtAllocateVirtualMemory.
566565pub extern "kernel32" fn VirtualAlloc(
......@@ -568,7 +567,7 @@ pub extern "kernel32" fn VirtualAlloc(
568567 dwSize: SIZE_T,
569568 flAllocationType: DWORD,
570569 flProtect: DWORD,
571) callconv(WINAPI) ?LPVOID;
570) callconv(.winapi) ?LPVOID;
572571
573572// TODO: Wrapper around NtFreeVirtualMemory.
574573// If the return value is .INVALID_PAGE_PROTECTION, calls RtlFlushSecureMemoryCache and try again.
......@@ -576,21 +575,21 @@ pub extern "kernel32" fn VirtualFree(
576575 lpAddress: ?LPVOID,
577576 dwSize: SIZE_T,
578577 dwFreeType: DWORD,
579) callconv(WINAPI) BOOL;
578) callconv(.winapi) BOOL;
580579
581580// TODO: Wrapper around NtQueryVirtualMemory.
582581pub extern "kernel32" fn VirtualQuery(
583582 lpAddress: ?LPVOID,
584583 lpBuffer: PMEMORY_BASIC_INFORMATION,
585584 dwLength: SIZE_T,
586) callconv(WINAPI) SIZE_T;
585) callconv(.winapi) SIZE_T;
587586
588587pub extern "kernel32" fn LocalFree(
589588 hMem: HLOCAL,
590) callconv(WINAPI) ?HLOCAL;
589) callconv(.winapi) ?HLOCAL;
591590
592591// TODO: Getter for peb.ProcessHeap
593pub extern "kernel32" fn GetProcessHeap() callconv(WINAPI) ?HANDLE;
592pub extern "kernel32" fn GetProcessHeap() callconv(.winapi) ?HANDLE;
594593
595594// Code Libraries/Modules
596595
......@@ -599,49 +598,49 @@ pub extern "kernel32" fn GetModuleFileNameW(
599598 hModule: ?HMODULE,
600599 lpFilename: [*]WCHAR,
601600 nSize: DWORD,
602) callconv(WINAPI) DWORD;
601) callconv(.winapi) DWORD;
603602
604603extern "kernel32" fn K32GetModuleFileNameExW(
605604 hProcess: HANDLE,
606605 hModule: ?HMODULE,
607606 lpFilename: LPWSTR,
608607 nSize: DWORD,
609) callconv(WINAPI) DWORD;
608) callconv(.winapi) DWORD;
610609pub const GetModuleFileNameExW = K32GetModuleFileNameExW;
611610
612611// TODO: Wrapper around ntdll.LdrGetDllHandle, which is a wrapper around LdrGetDllHandleEx
613612pub extern "kernel32" fn GetModuleHandleW(
614613 lpModuleName: ?LPCWSTR,
615) callconv(WINAPI) ?HMODULE;
614) callconv(.winapi) ?HMODULE;
616615
617616pub extern "kernel32" fn Module32First(
618617 hSnapshot: HANDLE,
619618 lpme: *MODULEENTRY32,
620) callconv(WINAPI) BOOL;
619) callconv(.winapi) BOOL;
621620
622621pub extern "kernel32" fn Module32Next(
623622 hSnapshot: HANDLE,
624623 lpme: *MODULEENTRY32,
625) callconv(WINAPI) BOOL;
624) callconv(.winapi) BOOL;
626625
627626pub extern "kernel32" fn LoadLibraryW(
628627 lpLibFileName: LPCWSTR,
629) callconv(WINAPI) ?HMODULE;
628) callconv(.winapi) ?HMODULE;
630629
631630pub extern "kernel32" fn LoadLibraryExW(
632631 lpLibFileName: LPCWSTR,
633632 hFile: ?HANDLE,
634633 dwFlags: DWORD,
635) callconv(WINAPI) ?HMODULE;
634) callconv(.winapi) ?HMODULE;
636635
637636pub extern "kernel32" fn GetProcAddress(
638637 hModule: HMODULE,
639638 lpProcName: LPCSTR,
640) callconv(WINAPI) ?FARPROC;
639) callconv(.winapi) ?FARPROC;
641640
642641pub extern "kernel32" fn FreeLibrary(
643642 hModule: HMODULE,
644) callconv(WINAPI) BOOL;
643) callconv(.winapi) BOOL;
645644
646645// Error Management
647646
......@@ -653,15 +652,15 @@ pub extern "kernel32" fn FormatMessageW(
653652 lpBuffer: LPWSTR,
654653 nSize: DWORD,
655654 Arguments: ?*va_list,
656) callconv(WINAPI) DWORD;
655) callconv(.winapi) DWORD;
657656
658657// TODO: Getter for teb().LastErrorValue.
659pub extern "kernel32" fn GetLastError() callconv(WINAPI) Win32Error;
658pub extern "kernel32" fn GetLastError() callconv(.winapi) Win32Error;
660659
661660// TODO: Wrapper around RtlSetLastWin32Error.
662661pub extern "kernel32" fn SetLastError(
663662 dwErrCode: Win32Error,
664) callconv(WINAPI) void;
663) callconv(.winapi) void;
665664
666665// Everything Else
667666
......@@ -670,4 +669,4 @@ pub extern "kernel32" fn SetLastError(
670669// Much better to use NtQuerySystemTime or NtQuerySystemTimePrecise for guaranteed 0.1ns precision.
671670pub extern "kernel32" fn GetSystemTimeAsFileTime(
672671 lpSystemTimeAsFileTime: *FILETIME,
673) callconv(WINAPI) void;
672) callconv(.winapi) void;
lib/std/os/windows/ntdll.zig+46-47
......@@ -5,7 +5,6 @@ const BOOL = windows.BOOL;
55const DWORD = windows.DWORD;
66const DWORD64 = windows.DWORD64;
77const ULONG = windows.ULONG;
8const WINAPI = windows.WINAPI;
98const NTSTATUS = windows.NTSTATUS;
109const WORD = windows.WORD;
1110const HANDLE = windows.HANDLE;
......@@ -44,7 +43,7 @@ pub extern "ntdll" fn NtQueryInformationProcess(
4443 ProcessInformation: *anyopaque,
4544 ProcessInformationLength: ULONG,
4645 ReturnLength: ?*ULONG,
47) callconv(WINAPI) NTSTATUS;
46) callconv(.winapi) NTSTATUS;
4847
4948pub extern "ntdll" fn NtQueryInformationThread(
5049 ThreadHandle: HANDLE,
......@@ -52,37 +51,37 @@ pub extern "ntdll" fn NtQueryInformationThread(
5251 ThreadInformation: *anyopaque,
5352 ThreadInformationLength: ULONG,
5453 ReturnLength: ?*ULONG,
55) callconv(WINAPI) NTSTATUS;
54) callconv(.winapi) NTSTATUS;
5655
5756pub extern "ntdll" fn NtQuerySystemInformation(
5857 SystemInformationClass: SYSTEM_INFORMATION_CLASS,
5958 SystemInformation: PVOID,
6059 SystemInformationLength: ULONG,
6160 ReturnLength: ?*ULONG,
62) callconv(WINAPI) NTSTATUS;
61) callconv(.winapi) NTSTATUS;
6362
6463pub extern "ntdll" fn NtSetInformationThread(
6564 ThreadHandle: HANDLE,
6665 ThreadInformationClass: THREADINFOCLASS,
6766 ThreadInformation: *const anyopaque,
6867 ThreadInformationLength: ULONG,
69) callconv(WINAPI) NTSTATUS;
68) callconv(.winapi) NTSTATUS;
7069
7170pub extern "ntdll" fn RtlGetVersion(
7271 lpVersionInformation: *RTL_OSVERSIONINFOW,
73) callconv(WINAPI) NTSTATUS;
72) callconv(.winapi) NTSTATUS;
7473pub extern "ntdll" fn RtlCaptureStackBackTrace(
7574 FramesToSkip: DWORD,
7675 FramesToCapture: DWORD,
7776 BackTrace: **anyopaque,
7877 BackTraceHash: ?*DWORD,
79) callconv(WINAPI) WORD;
80pub extern "ntdll" fn RtlCaptureContext(ContextRecord: *CONTEXT) callconv(WINAPI) void;
78) callconv(.winapi) WORD;
79pub extern "ntdll" fn RtlCaptureContext(ContextRecord: *CONTEXT) callconv(.winapi) void;
8180pub extern "ntdll" fn RtlLookupFunctionEntry(
8281 ControlPc: DWORD64,
8382 ImageBase: *DWORD64,
8483 HistoryTable: *UNWIND_HISTORY_TABLE,
85) callconv(WINAPI) ?*RUNTIME_FUNCTION;
84) callconv(.winapi) ?*RUNTIME_FUNCTION;
8685pub extern "ntdll" fn RtlVirtualUnwind(
8786 HandlerType: DWORD,
8887 ImageBase: DWORD64,
......@@ -92,33 +91,33 @@ pub extern "ntdll" fn RtlVirtualUnwind(
9291 HandlerData: *?PVOID,
9392 EstablisherFrame: *DWORD64,
9493 ContextPointers: ?*KNONVOLATILE_CONTEXT_POINTERS,
95) callconv(WINAPI) *EXCEPTION_ROUTINE;
94) callconv(.winapi) *EXCEPTION_ROUTINE;
9695pub extern "ntdll" fn NtQueryInformationFile(
9796 FileHandle: HANDLE,
9897 IoStatusBlock: *IO_STATUS_BLOCK,
9998 FileInformation: *anyopaque,
10099 Length: ULONG,
101100 FileInformationClass: FILE_INFORMATION_CLASS,
102) callconv(WINAPI) NTSTATUS;
101) callconv(.winapi) NTSTATUS;
103102pub extern "ntdll" fn NtSetInformationFile(
104103 FileHandle: HANDLE,
105104 IoStatusBlock: *IO_STATUS_BLOCK,
106105 FileInformation: PVOID,
107106 Length: ULONG,
108107 FileInformationClass: FILE_INFORMATION_CLASS,
109) callconv(WINAPI) NTSTATUS;
108) callconv(.winapi) NTSTATUS;
110109
111110pub extern "ntdll" fn NtQueryAttributesFile(
112111 ObjectAttributes: *OBJECT_ATTRIBUTES,
113112 FileAttributes: *FILE_BASIC_INFORMATION,
114) callconv(WINAPI) NTSTATUS;
113) callconv(.winapi) NTSTATUS;
115114
116pub extern "ntdll" fn RtlQueryPerformanceCounter(PerformanceCounter: *LARGE_INTEGER) callconv(WINAPI) BOOL;
117pub extern "ntdll" fn RtlQueryPerformanceFrequency(PerformanceFrequency: *LARGE_INTEGER) callconv(WINAPI) BOOL;
115pub extern "ntdll" fn RtlQueryPerformanceCounter(PerformanceCounter: *LARGE_INTEGER) callconv(.winapi) BOOL;
116pub extern "ntdll" fn RtlQueryPerformanceFrequency(PerformanceFrequency: *LARGE_INTEGER) callconv(.winapi) BOOL;
118117pub extern "ntdll" fn NtQueryPerformanceCounter(
119118 PerformanceCounter: *LARGE_INTEGER,
120119 PerformanceFrequency: ?*LARGE_INTEGER,
121) callconv(WINAPI) NTSTATUS;
120) callconv(.winapi) NTSTATUS;
122121
123122pub extern "ntdll" fn NtCreateFile(
124123 FileHandle: *HANDLE,
......@@ -132,7 +131,7 @@ pub extern "ntdll" fn NtCreateFile(
132131 CreateOptions: ULONG,
133132 EaBuffer: ?*anyopaque,
134133 EaLength: ULONG,
135) callconv(WINAPI) NTSTATUS;
134) callconv(.winapi) NTSTATUS;
136135pub extern "ntdll" fn NtCreateSection(
137136 SectionHandle: *HANDLE,
138137 DesiredAccess: ACCESS_MASK,
......@@ -141,7 +140,7 @@ pub extern "ntdll" fn NtCreateSection(
141140 SectionPageProtection: ULONG,
142141 AllocationAttributes: ULONG,
143142 FileHandle: ?HANDLE,
144) callconv(WINAPI) NTSTATUS;
143) callconv(.winapi) NTSTATUS;
145144pub extern "ntdll" fn NtMapViewOfSection(
146145 SectionHandle: HANDLE,
147146 ProcessHandle: HANDLE,
......@@ -153,11 +152,11 @@ pub extern "ntdll" fn NtMapViewOfSection(
153152 InheritDispostion: SECTION_INHERIT,
154153 AllocationType: ULONG,
155154 Win32Protect: ULONG,
156) callconv(WINAPI) NTSTATUS;
155) callconv(.winapi) NTSTATUS;
157156pub extern "ntdll" fn NtUnmapViewOfSection(
158157 ProcessHandle: HANDLE,
159158 BaseAddress: PVOID,
160) callconv(WINAPI) NTSTATUS;
159) callconv(.winapi) NTSTATUS;
161160pub extern "ntdll" fn NtDeviceIoControlFile(
162161 FileHandle: HANDLE,
163162 Event: ?HANDLE,
......@@ -169,7 +168,7 @@ pub extern "ntdll" fn NtDeviceIoControlFile(
169168 InputBufferLength: ULONG,
170169 OutputBuffer: ?PVOID,
171170 OutputBufferLength: ULONG,
172) callconv(WINAPI) NTSTATUS;
171) callconv(.winapi) NTSTATUS;
173172pub extern "ntdll" fn NtFsControlFile(
174173 FileHandle: HANDLE,
175174 Event: ?HANDLE,
......@@ -181,15 +180,15 @@ pub extern "ntdll" fn NtFsControlFile(
181180 InputBufferLength: ULONG,
182181 OutputBuffer: ?PVOID,
183182 OutputBufferLength: ULONG,
184) callconv(WINAPI) NTSTATUS;
185pub extern "ntdll" fn NtClose(Handle: HANDLE) callconv(WINAPI) NTSTATUS;
183) callconv(.winapi) NTSTATUS;
184pub extern "ntdll" fn NtClose(Handle: HANDLE) callconv(.winapi) NTSTATUS;
186185pub extern "ntdll" fn RtlDosPathNameToNtPathName_U(
187186 DosPathName: [*:0]const u16,
188187 NtPathName: *UNICODE_STRING,
189188 NtFileNamePart: ?*?[*:0]const u16,
190189 DirectoryInfo: ?*CURDIR,
191) callconv(WINAPI) BOOL;
192pub extern "ntdll" fn RtlFreeUnicodeString(UnicodeString: *UNICODE_STRING) callconv(WINAPI) void;
190) callconv(.winapi) BOOL;
191pub extern "ntdll" fn RtlFreeUnicodeString(UnicodeString: *UNICODE_STRING) callconv(.winapi) void;
193192
194193/// Returns the number of bytes written to `Buffer`.
195194/// If the returned count is larger than `BufferByteLength`, the buffer was too small.
......@@ -199,7 +198,7 @@ pub extern "ntdll" fn RtlGetFullPathName_U(
199198 BufferByteLength: ULONG,
200199 Buffer: [*]u16,
201200 ShortName: ?*[*:0]const u16,
202) callconv(windows.WINAPI) windows.ULONG;
201) callconv(.winapi) windows.ULONG;
203202
204203pub extern "ntdll" fn NtQueryDirectoryFile(
205204 FileHandle: HANDLE,
......@@ -213,30 +212,30 @@ pub extern "ntdll" fn NtQueryDirectoryFile(
213212 ReturnSingleEntry: BOOLEAN,
214213 FileName: ?*UNICODE_STRING,
215214 RestartScan: BOOLEAN,
216) callconv(WINAPI) NTSTATUS;
215) callconv(.winapi) NTSTATUS;
217216
218217pub extern "ntdll" fn NtCreateKeyedEvent(
219218 KeyedEventHandle: *HANDLE,
220219 DesiredAccess: ACCESS_MASK,
221220 ObjectAttributes: ?PVOID,
222221 Flags: ULONG,
223) callconv(WINAPI) NTSTATUS;
222) callconv(.winapi) NTSTATUS;
224223
225224pub extern "ntdll" fn NtReleaseKeyedEvent(
226225 EventHandle: ?HANDLE,
227226 Key: ?*const anyopaque,
228227 Alertable: BOOLEAN,
229228 Timeout: ?*const LARGE_INTEGER,
230) callconv(WINAPI) NTSTATUS;
229) callconv(.winapi) NTSTATUS;
231230
232231pub extern "ntdll" fn NtWaitForKeyedEvent(
233232 EventHandle: ?HANDLE,
234233 Key: ?*const anyopaque,
235234 Alertable: BOOLEAN,
236235 Timeout: ?*const LARGE_INTEGER,
237) callconv(WINAPI) NTSTATUS;
236) callconv(.winapi) NTSTATUS;
238237
239pub extern "ntdll" fn RtlSetCurrentDirectory_U(PathName: *UNICODE_STRING) callconv(WINAPI) NTSTATUS;
238pub extern "ntdll" fn RtlSetCurrentDirectory_U(PathName: *UNICODE_STRING) callconv(.winapi) NTSTATUS;
240239
241240pub extern "ntdll" fn NtQueryObject(
242241 Handle: HANDLE,
......@@ -244,7 +243,7 @@ pub extern "ntdll" fn NtQueryObject(
244243 ObjectInformation: PVOID,
245244 ObjectInformationLength: ULONG,
246245 ReturnLength: ?*ULONG,
247) callconv(WINAPI) NTSTATUS;
246) callconv(.winapi) NTSTATUS;
248247
249248pub extern "ntdll" fn NtQueryVolumeInformationFile(
250249 FileHandle: HANDLE,
......@@ -252,32 +251,32 @@ pub extern "ntdll" fn NtQueryVolumeInformationFile(
252251 FsInformation: *anyopaque,
253252 Length: ULONG,
254253 FsInformationClass: FS_INFORMATION_CLASS,
255) callconv(WINAPI) NTSTATUS;
254) callconv(.winapi) NTSTATUS;
256255
257256pub extern "ntdll" fn RtlWakeAddressAll(
258257 Address: ?*const anyopaque,
259) callconv(WINAPI) void;
258) callconv(.winapi) void;
260259
261260pub extern "ntdll" fn RtlWakeAddressSingle(
262261 Address: ?*const anyopaque,
263) callconv(WINAPI) void;
262) callconv(.winapi) void;
264263
265264pub extern "ntdll" fn RtlWaitOnAddress(
266265 Address: ?*const anyopaque,
267266 CompareAddress: ?*const anyopaque,
268267 AddressSize: SIZE_T,
269268 Timeout: ?*const LARGE_INTEGER,
270) callconv(WINAPI) NTSTATUS;
269) callconv(.winapi) NTSTATUS;
271270
272271pub extern "ntdll" fn RtlEqualUnicodeString(
273272 String1: *const UNICODE_STRING,
274273 String2: *const UNICODE_STRING,
275274 CaseInSensitive: BOOLEAN,
276) callconv(WINAPI) BOOLEAN;
275) callconv(.winapi) BOOLEAN;
277276
278277pub extern "ntdll" fn RtlUpcaseUnicodeChar(
279278 SourceCharacter: u16,
280) callconv(WINAPI) u16;
279) callconv(.winapi) u16;
281280
282281pub extern "ntdll" fn NtLockFile(
283282 FileHandle: HANDLE,
......@@ -290,7 +289,7 @@ pub extern "ntdll" fn NtLockFile(
290289 Key: ?*ULONG,
291290 FailImmediately: BOOLEAN,
292291 ExclusiveLock: BOOLEAN,
293) callconv(WINAPI) NTSTATUS;
292) callconv(.winapi) NTSTATUS;
294293
295294pub extern "ntdll" fn NtUnlockFile(
296295 FileHandle: HANDLE,
......@@ -298,13 +297,13 @@ pub extern "ntdll" fn NtUnlockFile(
298297 ByteOffset: *const LARGE_INTEGER,
299298 Length: *const LARGE_INTEGER,
300299 Key: ?*ULONG,
301) callconv(WINAPI) NTSTATUS;
300) callconv(.winapi) NTSTATUS;
302301
303302pub extern "ntdll" fn NtOpenKey(
304303 KeyHandle: *HANDLE,
305304 DesiredAccess: ACCESS_MASK,
306305 ObjectAttributes: OBJECT_ATTRIBUTES,
307) callconv(WINAPI) NTSTATUS;
306) callconv(.winapi) NTSTATUS;
308307
309308pub extern "ntdll" fn RtlQueryRegistryValues(
310309 RelativeTo: ULONG,
......@@ -312,7 +311,7 @@ pub extern "ntdll" fn RtlQueryRegistryValues(
312311 QueryTable: [*]RTL_QUERY_REGISTRY_TABLE,
313312 Context: ?*anyopaque,
314313 Environment: ?*anyopaque,
315) callconv(WINAPI) NTSTATUS;
314) callconv(.winapi) NTSTATUS;
316315
317316pub extern "ntdll" fn NtReadVirtualMemory(
318317 ProcessHandle: HANDLE,
......@@ -320,7 +319,7 @@ pub extern "ntdll" fn NtReadVirtualMemory(
320319 Buffer: LPVOID,
321320 NumberOfBytesToRead: SIZE_T,
322321 NumberOfBytesRead: ?*SIZE_T,
323) callconv(WINAPI) NTSTATUS;
322) callconv(.winapi) NTSTATUS;
324323
325324pub extern "ntdll" fn NtWriteVirtualMemory(
326325 ProcessHandle: HANDLE,
......@@ -328,7 +327,7 @@ pub extern "ntdll" fn NtWriteVirtualMemory(
328327 Buffer: LPCVOID,
329328 NumberOfBytesToWrite: SIZE_T,
330329 NumberOfBytesWritten: ?*SIZE_T,
331) callconv(WINAPI) NTSTATUS;
330) callconv(.winapi) NTSTATUS;
332331
333332pub extern "ntdll" fn NtProtectVirtualMemory(
334333 ProcessHandle: HANDLE,
......@@ -336,11 +335,11 @@ pub extern "ntdll" fn NtProtectVirtualMemory(
336335 NumberOfBytesToProtect: *SIZE_T,
337336 NewAccessProtection: ULONG,
338337 OldAccessProtection: *ULONG,
339) callconv(WINAPI) NTSTATUS;
338) callconv(.winapi) NTSTATUS;
340339
341340pub extern "ntdll" fn RtlExitUserProcess(
342341 ExitStatus: u32,
343) callconv(WINAPI) noreturn;
342) callconv(.winapi) noreturn;
344343
345344pub extern "ntdll" fn NtCreateNamedPipeFile(
346345 FileHandle: *HANDLE,
......@@ -357,4 +356,4 @@ pub extern "ntdll" fn NtCreateNamedPipeFile(
357356 InboundQuota: ULONG,
358357 OutboundQuota: ULONG,
359358 DefaultTimeout: *LARGE_INTEGER,
360) callconv(WINAPI) NTSTATUS;
359) callconv(.winapi) NTSTATUS;
lib/std/os/windows/test.zig+1-1
......@@ -250,7 +250,7 @@ test "loadWinsockExtensionFunction" {
250250 SendBufLen: windows.DWORD,
251251 BytesSent: *windows.DWORD,
252252 Overlapped: *windows.OVERLAPPED,
253 ) callconv(windows.WINAPI) windows.BOOL;
253 ) callconv(.winapi) windows.BOOL;
254254
255255 _ = windows.loadWinsockExtensionFunction(
256256 LPFN_CONNECTEX,
lib/std/os/windows/ws2_32.zig+106-107
......@@ -2,7 +2,6 @@ const std = @import("../../std.zig");
22const assert = std.debug.assert;
33const windows = std.os.windows;
44
5const WINAPI = windows.WINAPI;
65const OVERLAPPED = windows.OVERLAPPED;
76const WORD = windows.WORD;
87const DWORD = windows.DWORD;
......@@ -958,14 +957,14 @@ pub const LPCONDITIONPROC = *const fn (
958957 lpCalleeData: *WSABUF,
959958 g: *u32,
960959 dwCallbackData: usize,
961) callconv(WINAPI) i32;
960) callconv(.winapi) i32;
962961
963962pub const LPWSAOVERLAPPED_COMPLETION_ROUTINE = *const fn (
964963 dwError: u32,
965964 cbTransferred: u32,
966965 lpOverlapped: *OVERLAPPED,
967966 dwFlags: u32,
968) callconv(WINAPI) void;
967) callconv(.winapi) void;
969968
970969pub const FLOWSPEC = extern struct {
971970 TokenRate: u32,
......@@ -1196,7 +1195,7 @@ pub const LPFN_TRANSMITFILE = *const fn (
11961195 lpOverlapped: ?*OVERLAPPED,
11971196 lpTransmitBuffers: ?*TRANSMIT_FILE_BUFFERS,
11981197 dwReserved: u32,
1199) callconv(WINAPI) BOOL;
1198) callconv(.winapi) BOOL;
12001199
12011200pub const LPFN_ACCEPTEX = *const fn (
12021201 sListenSocket: SOCKET,
......@@ -1207,7 +1206,7 @@ pub const LPFN_ACCEPTEX = *const fn (
12071206 dwRemoteAddressLength: u32,
12081207 lpdwBytesReceived: *u32,
12091208 lpOverlapped: *OVERLAPPED,
1210) callconv(WINAPI) BOOL;
1209) callconv(.winapi) BOOL;
12111210
12121211pub const LPFN_GETACCEPTEXSOCKADDRS = *const fn (
12131212 lpOutputBuffer: *anyopaque,
......@@ -1218,7 +1217,7 @@ pub const LPFN_GETACCEPTEXSOCKADDRS = *const fn (
12181217 LocalSockaddrLength: *i32,
12191218 RemoteSockaddr: **sockaddr,
12201219 RemoteSockaddrLength: *i32,
1221) callconv(WINAPI) void;
1220) callconv(.winapi) void;
12221221
12231222pub const LPFN_WSASENDMSG = *const fn (
12241223 s: SOCKET,
......@@ -1227,7 +1226,7 @@ pub const LPFN_WSASENDMSG = *const fn (
12271226 lpNumberOfBytesSent: ?*u32,
12281227 lpOverlapped: ?*OVERLAPPED,
12291228 lpCompletionRoutine: ?LPWSAOVERLAPPED_COMPLETION_ROUTINE,
1230) callconv(WINAPI) i32;
1229) callconv(.winapi) i32;
12311230
12321231pub const LPFN_WSARECVMSG = *const fn (
12331232 s: SOCKET,
......@@ -1235,12 +1234,12 @@ pub const LPFN_WSARECVMSG = *const fn (
12351234 lpdwNumberOfBytesRecv: ?*u32,
12361235 lpOverlapped: ?*OVERLAPPED,
12371236 lpCompletionRoutine: ?LPWSAOVERLAPPED_COMPLETION_ROUTINE,
1238) callconv(WINAPI) i32;
1237) callconv(.winapi) i32;
12391238
12401239pub const LPSERVICE_CALLBACK_PROC = *const fn (
12411240 lParam: LPARAM,
12421241 hAsyncTaskHandle: HANDLE,
1243) callconv(WINAPI) void;
1242) callconv(.winapi) void;
12441243
12451244pub const SERVICE_ASYNC_INFO = extern struct {
12461245 lpServiceCallbackProc: LPSERVICE_CALLBACK_PROC,
......@@ -1252,7 +1251,7 @@ pub const LPLOOKUPSERVICE_COMPLETION_ROUTINE = *const fn (
12521251 dwError: u32,
12531252 dwBytes: u32,
12541253 lpOverlapped: *OVERLAPPED,
1255) callconv(WINAPI) void;
1254) callconv(.winapi) void;
12561255
12571256pub const fd_set = extern struct {
12581257 fd_count: u32,
......@@ -1725,41 +1724,41 @@ pub extern "ws2_32" fn accept(
17251724 s: SOCKET,
17261725 addr: ?*sockaddr,
17271726 addrlen: ?*i32,
1728) callconv(WINAPI) SOCKET;
1727) callconv(.winapi) SOCKET;
17291728
17301729pub extern "ws2_32" fn bind(
17311730 s: SOCKET,
17321731 name: *const sockaddr,
17331732 namelen: i32,
1734) callconv(WINAPI) i32;
1733) callconv(.winapi) i32;
17351734
17361735pub extern "ws2_32" fn closesocket(
17371736 s: SOCKET,
1738) callconv(WINAPI) i32;
1737) callconv(.winapi) i32;
17391738
17401739pub extern "ws2_32" fn connect(
17411740 s: SOCKET,
17421741 name: *const sockaddr,
17431742 namelen: i32,
1744) callconv(WINAPI) i32;
1743) callconv(.winapi) i32;
17451744
17461745pub extern "ws2_32" fn ioctlsocket(
17471746 s: SOCKET,
17481747 cmd: i32,
17491748 argp: *u32,
1750) callconv(WINAPI) i32;
1749) callconv(.winapi) i32;
17511750
17521751pub extern "ws2_32" fn getpeername(
17531752 s: SOCKET,
17541753 name: *sockaddr,
17551754 namelen: *i32,
1756) callconv(WINAPI) i32;
1755) callconv(.winapi) i32;
17571756
17581757pub extern "ws2_32" fn getsockname(
17591758 s: SOCKET,
17601759 name: *sockaddr,
17611760 namelen: *i32,
1762) callconv(WINAPI) i32;
1761) callconv(.winapi) i32;
17631762
17641763pub extern "ws2_32" fn getsockopt(
17651764 s: SOCKET,
......@@ -1767,39 +1766,39 @@ pub extern "ws2_32" fn getsockopt(
17671766 optname: i32,
17681767 optval: [*]u8,
17691768 optlen: *i32,
1770) callconv(WINAPI) i32;
1769) callconv(.winapi) i32;
17711770
17721771pub extern "ws2_32" fn htonl(
17731772 hostlong: u32,
1774) callconv(WINAPI) u32;
1773) callconv(.winapi) u32;
17751774
17761775pub extern "ws2_32" fn htons(
17771776 hostshort: u16,
1778) callconv(WINAPI) u16;
1777) callconv(.winapi) u16;
17791778
17801779pub extern "ws2_32" fn inet_addr(
17811780 cp: ?[*]const u8,
1782) callconv(WINAPI) u32;
1781) callconv(.winapi) u32;
17831782
17841783pub extern "ws2_32" fn listen(
17851784 s: SOCKET,
17861785 backlog: i32,
1787) callconv(WINAPI) i32;
1786) callconv(.winapi) i32;
17881787
17891788pub extern "ws2_32" fn ntohl(
17901789 netlong: u32,
1791) callconv(WINAPI) u32;
1790) callconv(.winapi) u32;
17921791
17931792pub extern "ws2_32" fn ntohs(
17941793 netshort: u16,
1795) callconv(WINAPI) u16;
1794) callconv(.winapi) u16;
17961795
17971796pub extern "ws2_32" fn recv(
17981797 s: SOCKET,
17991798 buf: [*]u8,
18001799 len: i32,
18011800 flags: i32,
1802) callconv(WINAPI) i32;
1801) callconv(.winapi) i32;
18031802
18041803pub extern "ws2_32" fn recvfrom(
18051804 s: SOCKET,
......@@ -1808,7 +1807,7 @@ pub extern "ws2_32" fn recvfrom(
18081807 flags: i32,
18091808 from: ?*sockaddr,
18101809 fromlen: ?*i32,
1811) callconv(WINAPI) i32;
1810) callconv(.winapi) i32;
18121811
18131812pub extern "ws2_32" fn select(
18141813 nfds: i32,
......@@ -1816,14 +1815,14 @@ pub extern "ws2_32" fn select(
18161815 writefds: ?*fd_set,
18171816 exceptfds: ?*fd_set,
18181817 timeout: ?*const timeval,
1819) callconv(WINAPI) i32;
1818) callconv(.winapi) i32;
18201819
18211820pub extern "ws2_32" fn send(
18221821 s: SOCKET,
18231822 buf: [*]const u8,
18241823 len: i32,
18251824 flags: u32,
1826) callconv(WINAPI) i32;
1825) callconv(.winapi) i32;
18271826
18281827pub extern "ws2_32" fn sendto(
18291828 s: SOCKET,
......@@ -1832,7 +1831,7 @@ pub extern "ws2_32" fn sendto(
18321831 flags: i32,
18331832 to: *const sockaddr,
18341833 tolen: i32,
1835) callconv(WINAPI) i32;
1834) callconv(.winapi) i32;
18361835
18371836pub extern "ws2_32" fn setsockopt(
18381837 s: SOCKET,
......@@ -1840,37 +1839,37 @@ pub extern "ws2_32" fn setsockopt(
18401839 optname: i32,
18411840 optval: ?[*]const u8,
18421841 optlen: i32,
1843) callconv(WINAPI) i32;
1842) callconv(.winapi) i32;
18441843
18451844pub extern "ws2_32" fn shutdown(
18461845 s: SOCKET,
18471846 how: i32,
1848) callconv(WINAPI) i32;
1847) callconv(.winapi) i32;
18491848
18501849pub extern "ws2_32" fn socket(
18511850 af: i32,
18521851 @"type": i32,
18531852 protocol: i32,
1854) callconv(WINAPI) SOCKET;
1853) callconv(.winapi) SOCKET;
18551854
18561855pub extern "ws2_32" fn WSAStartup(
18571856 wVersionRequired: WORD,
18581857 lpWSAData: *WSADATA,
1859) callconv(WINAPI) i32;
1858) callconv(.winapi) i32;
18601859
1861pub extern "ws2_32" fn WSACleanup() callconv(WINAPI) i32;
1860pub extern "ws2_32" fn WSACleanup() callconv(.winapi) i32;
18621861
1863pub extern "ws2_32" fn WSASetLastError(iError: i32) callconv(WINAPI) void;
1862pub extern "ws2_32" fn WSASetLastError(iError: i32) callconv(.winapi) void;
18641863
1865pub extern "ws2_32" fn WSAGetLastError() callconv(WINAPI) WinsockError;
1864pub extern "ws2_32" fn WSAGetLastError() callconv(.winapi) WinsockError;
18661865
1867pub extern "ws2_32" fn WSAIsBlocking() callconv(WINAPI) BOOL;
1866pub extern "ws2_32" fn WSAIsBlocking() callconv(.winapi) BOOL;
18681867
1869pub extern "ws2_32" fn WSAUnhookBlockingHook() callconv(WINAPI) i32;
1868pub extern "ws2_32" fn WSAUnhookBlockingHook() callconv(.winapi) i32;
18701869
1871pub extern "ws2_32" fn WSASetBlockingHook(lpBlockFunc: FARPROC) callconv(WINAPI) FARPROC;
1870pub extern "ws2_32" fn WSASetBlockingHook(lpBlockFunc: FARPROC) callconv(.winapi) FARPROC;
18721871
1873pub extern "ws2_32" fn WSACancelBlockingCall() callconv(WINAPI) i32;
1872pub extern "ws2_32" fn WSACancelBlockingCall() callconv(.winapi) i32;
18741873
18751874pub extern "ws2_32" fn WSAAsyncGetServByName(
18761875 hWnd: HWND,
......@@ -1879,7 +1878,7 @@ pub extern "ws2_32" fn WSAAsyncGetServByName(
18791878 proto: ?[*:0]const u8,
18801879 buf: [*]u8,
18811880 buflen: i32,
1882) callconv(WINAPI) HANDLE;
1881) callconv(.winapi) HANDLE;
18831882
18841883pub extern "ws2_32" fn WSAAsyncGetServByPort(
18851884 hWnd: HWND,
......@@ -1888,7 +1887,7 @@ pub extern "ws2_32" fn WSAAsyncGetServByPort(
18881887 proto: ?[*:0]const u8,
18891888 buf: [*]u8,
18901889 buflen: i32,
1891) callconv(WINAPI) HANDLE;
1890) callconv(.winapi) HANDLE;
18921891
18931892pub extern "ws2_32" fn WSAAsyncGetProtoByName(
18941893 hWnd: HWND,
......@@ -1896,7 +1895,7 @@ pub extern "ws2_32" fn WSAAsyncGetProtoByName(
18961895 name: [*:0]const u8,
18971896 buf: [*]u8,
18981897 buflen: i32,
1899) callconv(WINAPI) HANDLE;
1898) callconv(.winapi) HANDLE;
19001899
19011900pub extern "ws2_32" fn WSAAsyncGetProtoByNumber(
19021901 hWnd: HWND,
......@@ -1904,16 +1903,16 @@ pub extern "ws2_32" fn WSAAsyncGetProtoByNumber(
19041903 number: i32,
19051904 buf: [*]u8,
19061905 buflen: i32,
1907) callconv(WINAPI) HANDLE;
1906) callconv(.winapi) HANDLE;
19081907
1909pub extern "ws2_32" fn WSACancelAsyncRequest(hAsyncTaskHandle: HANDLE) callconv(WINAPI) i32;
1908pub extern "ws2_32" fn WSACancelAsyncRequest(hAsyncTaskHandle: HANDLE) callconv(.winapi) i32;
19101909
19111910pub extern "ws2_32" fn WSAAsyncSelect(
19121911 s: SOCKET,
19131912 hWnd: HWND,
19141913 wMsg: u32,
19151914 lEvent: i32,
1916) callconv(WINAPI) i32;
1915) callconv(.winapi) i32;
19171916
19181917pub extern "ws2_32" fn WSAAccept(
19191918 s: SOCKET,
......@@ -1921,9 +1920,9 @@ pub extern "ws2_32" fn WSAAccept(
19211920 addrlen: ?*i32,
19221921 lpfnCondition: ?LPCONDITIONPROC,
19231922 dwCallbackData: usize,
1924) callconv(WINAPI) SOCKET;
1923) callconv(.winapi) SOCKET;
19251924
1926pub extern "ws2_32" fn WSACloseEvent(hEvent: HANDLE) callconv(WINAPI) BOOL;
1925pub extern "ws2_32" fn WSACloseEvent(hEvent: HANDLE) callconv(.winapi) BOOL;
19271926
19281927pub extern "ws2_32" fn WSAConnect(
19291928 s: SOCKET,
......@@ -1933,7 +1932,7 @@ pub extern "ws2_32" fn WSAConnect(
19331932 lpCalleeData: ?*WSABUF,
19341933 lpSQOS: ?*QOS,
19351934 lpGQOS: ?*QOS,
1936) callconv(WINAPI) i32;
1935) callconv(.winapi) i32;
19371936
19381937pub extern "ws2_32" fn WSAConnectByNameW(
19391938 s: SOCKET,
......@@ -1945,7 +1944,7 @@ pub extern "ws2_32" fn WSAConnectByNameW(
19451944 RemoteAddress: ?*sockaddr,
19461945 timeout: ?*const timeval,
19471946 Reserved: *OVERLAPPED,
1948) callconv(WINAPI) BOOL;
1947) callconv(.winapi) BOOL;
19491948
19501949pub extern "ws2_32" fn WSAConnectByNameA(
19511950 s: SOCKET,
......@@ -1957,7 +1956,7 @@ pub extern "ws2_32" fn WSAConnectByNameA(
19571956 RemoteAddress: ?*sockaddr,
19581957 timeout: ?*const timeval,
19591958 Reserved: *OVERLAPPED,
1960) callconv(WINAPI) BOOL;
1959) callconv(.winapi) BOOL;
19611960
19621961pub extern "ws2_32" fn WSAConnectByList(
19631962 s: SOCKET,
......@@ -1968,45 +1967,45 @@ pub extern "ws2_32" fn WSAConnectByList(
19681967 RemoteAddress: ?*sockaddr,
19691968 timeout: ?*const timeval,
19701969 Reserved: *OVERLAPPED,
1971) callconv(WINAPI) BOOL;
1970) callconv(.winapi) BOOL;
19721971
1973pub extern "ws2_32" fn WSACreateEvent() callconv(WINAPI) HANDLE;
1972pub extern "ws2_32" fn WSACreateEvent() callconv(.winapi) HANDLE;
19741973
19751974pub extern "ws2_32" fn WSADuplicateSocketA(
19761975 s: SOCKET,
19771976 dwProcessId: u32,
19781977 lpProtocolInfo: *WSAPROTOCOL_INFOA,
1979) callconv(WINAPI) i32;
1978) callconv(.winapi) i32;
19801979
19811980pub extern "ws2_32" fn WSADuplicateSocketW(
19821981 s: SOCKET,
19831982 dwProcessId: u32,
19841983 lpProtocolInfo: *WSAPROTOCOL_INFOW,
1985) callconv(WINAPI) i32;
1984) callconv(.winapi) i32;
19861985
19871986pub extern "ws2_32" fn WSAEnumNetworkEvents(
19881987 s: SOCKET,
19891988 hEventObject: HANDLE,
19901989 lpNetworkEvents: *WSANETWORKEVENTS,
1991) callconv(WINAPI) i32;
1990) callconv(.winapi) i32;
19921991
19931992pub extern "ws2_32" fn WSAEnumProtocolsA(
19941993 lpiProtocols: ?*i32,
19951994 lpProtocolBuffer: ?*WSAPROTOCOL_INFOA,
19961995 lpdwBufferLength: *u32,
1997) callconv(WINAPI) i32;
1996) callconv(.winapi) i32;
19981997
19991998pub extern "ws2_32" fn WSAEnumProtocolsW(
20001999 lpiProtocols: ?*i32,
20012000 lpProtocolBuffer: ?*WSAPROTOCOL_INFOW,
20022001 lpdwBufferLength: *u32,
2003) callconv(WINAPI) i32;
2002) callconv(.winapi) i32;
20042003
20052004pub extern "ws2_32" fn WSAEventSelect(
20062005 s: SOCKET,
20072006 hEventObject: HANDLE,
20082007 lNetworkEvents: i32,
2009) callconv(WINAPI) i32;
2008) callconv(.winapi) i32;
20102009
20112010pub extern "ws2_32" fn WSAGetOverlappedResult(
20122011 s: SOCKET,
......@@ -2014,25 +2013,25 @@ pub extern "ws2_32" fn WSAGetOverlappedResult(
20142013 lpcbTransfer: *u32,
20152014 fWait: BOOL,
20162015 lpdwFlags: *u32,
2017) callconv(WINAPI) BOOL;
2016) callconv(.winapi) BOOL;
20182017
20192018pub extern "ws2_32" fn WSAGetQOSByName(
20202019 s: SOCKET,
20212020 lpQOSName: *WSABUF,
20222021 lpQOS: *QOS,
2023) callconv(WINAPI) BOOL;
2022) callconv(.winapi) BOOL;
20242023
20252024pub extern "ws2_32" fn WSAHtonl(
20262025 s: SOCKET,
20272026 hostlong: u32,
20282027 lpnetlong: *u32,
2029) callconv(WINAPI) i32;
2028) callconv(.winapi) i32;
20302029
20312030pub extern "ws2_32" fn WSAHtons(
20322031 s: SOCKET,
20332032 hostshort: u16,
20342033 lpnetshort: *u16,
2035) callconv(WINAPI) i32;
2034) callconv(.winapi) i32;
20362035
20372036pub extern "ws2_32" fn WSAIoctl(
20382037 s: SOCKET,
......@@ -2044,7 +2043,7 @@ pub extern "ws2_32" fn WSAIoctl(
20442043 lpcbBytesReturned: *u32,
20452044 lpOverlapped: ?*OVERLAPPED,
20462045 lpCompletionRoutine: ?LPWSAOVERLAPPED_COMPLETION_ROUTINE,
2047) callconv(WINAPI) i32;
2046) callconv(.winapi) i32;
20482047
20492048pub extern "ws2_32" fn WSAJoinLeaf(
20502049 s: SOCKET,
......@@ -2055,19 +2054,19 @@ pub extern "ws2_32" fn WSAJoinLeaf(
20552054 lpSQOS: ?*QOS,
20562055 lpGQOS: ?*QOS,
20572056 dwFlags: u32,
2058) callconv(WINAPI) SOCKET;
2057) callconv(.winapi) SOCKET;
20592058
20602059pub extern "ws2_32" fn WSANtohl(
20612060 s: SOCKET,
20622061 netlong: u32,
20632062 lphostlong: *u32,
2064) callconv(WINAPI) u32;
2063) callconv(.winapi) u32;
20652064
20662065pub extern "ws2_32" fn WSANtohs(
20672066 s: SOCKET,
20682067 netshort: u16,
20692068 lphostshort: *u16,
2070) callconv(WINAPI) i32;
2069) callconv(.winapi) i32;
20712070
20722071pub extern "ws2_32" fn WSARecv(
20732072 s: SOCKET,
......@@ -2077,12 +2076,12 @@ pub extern "ws2_32" fn WSARecv(
20772076 lpFlags: *u32,
20782077 lpOverlapped: ?*OVERLAPPED,
20792078 lpCompletionRoutine: ?LPWSAOVERLAPPED_COMPLETION_ROUTINE,
2080) callconv(WINAPI) i32;
2079) callconv(.winapi) i32;
20812080
20822081pub extern "ws2_32" fn WSARecvDisconnect(
20832082 s: SOCKET,
20842083 lpInboundDisconnectData: ?*WSABUF,
2085) callconv(WINAPI) i32;
2084) callconv(.winapi) i32;
20862085
20872086pub extern "ws2_32" fn WSARecvFrom(
20882087 s: SOCKET,
......@@ -2094,9 +2093,9 @@ pub extern "ws2_32" fn WSARecvFrom(
20942093 lpFromlen: ?*i32,
20952094 lpOverlapped: ?*OVERLAPPED,
20962095 lpCompletionRoutine: ?LPWSAOVERLAPPED_COMPLETION_ROUTINE,
2097) callconv(WINAPI) i32;
2096) callconv(.winapi) i32;
20982097
2099pub extern "ws2_32" fn WSAResetEvent(hEvent: HANDLE) callconv(WINAPI) i32;
2098pub extern "ws2_32" fn WSAResetEvent(hEvent: HANDLE) callconv(.winapi) i32;
21002099
21012100pub extern "ws2_32" fn WSASend(
21022101 s: SOCKET,
......@@ -2106,7 +2105,7 @@ pub extern "ws2_32" fn WSASend(
21062105 dwFlags: u32,
21072106 lpOverlapped: ?*OVERLAPPED,
21082107 lpCompletionRoutine: ?LPWSAOVERLAPPED_COMPLETION_ROUTINE,
2109) callconv(WINAPI) i32;
2108) callconv(.winapi) i32;
21102109
21112110pub extern "ws2_32" fn WSASendMsg(
21122111 s: SOCKET,
......@@ -2115,7 +2114,7 @@ pub extern "ws2_32" fn WSASendMsg(
21152114 lpNumberOfBytesSent: ?*u32,
21162115 lpOverlapped: ?*OVERLAPPED,
21172116 lpCompletionRoutine: ?LPWSAOVERLAPPED_COMPLETION_ROUTINE,
2118) callconv(WINAPI) i32;
2117) callconv(.winapi) i32;
21192118
21202119pub extern "ws2_32" fn WSARecvMsg(
21212120 s: SOCKET,
......@@ -2123,12 +2122,12 @@ pub extern "ws2_32" fn WSARecvMsg(
21232122 lpdwNumberOfBytesRecv: ?*u32,
21242123 lpOverlapped: ?*OVERLAPPED,
21252124 lpCompletionRoutine: ?LPWSAOVERLAPPED_COMPLETION_ROUTINE,
2126) callconv(WINAPI) i32;
2125) callconv(.winapi) i32;
21272126
21282127pub extern "ws2_32" fn WSASendDisconnect(
21292128 s: SOCKET,
21302129 lpOutboundDisconnectData: ?*WSABUF,
2131) callconv(WINAPI) i32;
2130) callconv(.winapi) i32;
21322131
21332132pub extern "ws2_32" fn WSASendTo(
21342133 s: SOCKET,
......@@ -2140,11 +2139,11 @@ pub extern "ws2_32" fn WSASendTo(
21402139 iToLen: i32,
21412140 lpOverlapped: ?*OVERLAPPED,
21422141 lpCompletionRounte: ?LPWSAOVERLAPPED_COMPLETION_ROUTINE,
2143) callconv(WINAPI) i32;
2142) callconv(.winapi) i32;
21442143
21452144pub extern "ws2_32" fn WSASetEvent(
21462145 hEvent: HANDLE,
2147) callconv(WINAPI) BOOL;
2146) callconv(.winapi) BOOL;
21482147
21492148pub extern "ws2_32" fn WSASocketA(
21502149 af: i32,
......@@ -2153,7 +2152,7 @@ pub extern "ws2_32" fn WSASocketA(
21532152 lpProtocolInfo: ?*WSAPROTOCOL_INFOA,
21542153 g: u32,
21552154 dwFlags: u32,
2156) callconv(WINAPI) SOCKET;
2155) callconv(.winapi) SOCKET;
21572156
21582157pub extern "ws2_32" fn WSASocketW(
21592158 af: i32,
......@@ -2162,7 +2161,7 @@ pub extern "ws2_32" fn WSASocketW(
21622161 lpProtocolInfo: ?*WSAPROTOCOL_INFOW,
21632162 g: u32,
21642163 dwFlags: u32,
2165) callconv(WINAPI) SOCKET;
2164) callconv(.winapi) SOCKET;
21662165
21672166pub extern "ws2_32" fn WSAWaitForMultipleEvents(
21682167 cEvents: u32,
......@@ -2170,7 +2169,7 @@ pub extern "ws2_32" fn WSAWaitForMultipleEvents(
21702169 fWaitAll: BOOL,
21712170 dwTimeout: u32,
21722171 fAlertable: BOOL,
2173) callconv(WINAPI) u32;
2172) callconv(.winapi) u32;
21742173
21752174pub extern "ws2_32" fn WSAAddressToStringA(
21762175 lpsaAddress: *sockaddr,
......@@ -2178,7 +2177,7 @@ pub extern "ws2_32" fn WSAAddressToStringA(
21782177 lpProtocolInfo: ?*WSAPROTOCOL_INFOA,
21792178 lpszAddressString: [*]u8,
21802179 lpdwAddressStringLength: *u32,
2181) callconv(WINAPI) i32;
2180) callconv(.winapi) i32;
21822181
21832182pub extern "ws2_32" fn WSAAddressToStringW(
21842183 lpsaAddress: *sockaddr,
......@@ -2186,7 +2185,7 @@ pub extern "ws2_32" fn WSAAddressToStringW(
21862185 lpProtocolInfo: ?*WSAPROTOCOL_INFOW,
21872186 lpszAddressString: [*]u16,
21882187 lpdwAddressStringLength: *u32,
2189) callconv(WINAPI) i32;
2188) callconv(.winapi) i32;
21902189
21912190pub extern "ws2_32" fn WSAStringToAddressA(
21922191 AddressString: [*:0]const u8,
......@@ -2194,7 +2193,7 @@ pub extern "ws2_32" fn WSAStringToAddressA(
21942193 lpProtocolInfo: ?*WSAPROTOCOL_INFOA,
21952194 lpAddress: *sockaddr,
21962195 lpAddressLength: *i32,
2197) callconv(WINAPI) i32;
2196) callconv(.winapi) i32;
21982197
21992198pub extern "ws2_32" fn WSAStringToAddressW(
22002199 AddressString: [*:0]const u16,
......@@ -2202,26 +2201,26 @@ pub extern "ws2_32" fn WSAStringToAddressW(
22022201 lpProtocolInfo: ?*WSAPROTOCOL_INFOW,
22032202 lpAddrses: *sockaddr,
22042203 lpAddressLength: *i32,
2205) callconv(WINAPI) i32;
2204) callconv(.winapi) i32;
22062205
22072206pub extern "ws2_32" fn WSAProviderConfigChange(
22082207 lpNotificationHandle: *HANDLE,
22092208 lpOverlapped: ?*OVERLAPPED,
22102209 lpCompletionRoutine: ?LPWSAOVERLAPPED_COMPLETION_ROUTINE,
2211) callconv(WINAPI) i32;
2210) callconv(.winapi) i32;
22122211
22132212pub extern "ws2_32" fn WSAPoll(
22142213 fdArray: [*]WSAPOLLFD,
22152214 fds: u32,
22162215 timeout: i32,
2217) callconv(WINAPI) i32;
2216) callconv(.winapi) i32;
22182217
22192218pub extern "mswsock" fn WSARecvEx(
22202219 s: SOCKET,
22212220 buf: [*]u8,
22222221 len: i32,
22232222 flags: *i32,
2224) callconv(WINAPI) i32;
2223) callconv(.winapi) i32;
22252224
22262225pub extern "mswsock" fn TransmitFile(
22272226 hSocket: SOCKET,
......@@ -2231,7 +2230,7 @@ pub extern "mswsock" fn TransmitFile(
22312230 lpOverlapped: ?*OVERLAPPED,
22322231 lpTransmitBuffers: ?*TRANSMIT_FILE_BUFFERS,
22332232 dwReserved: u32,
2234) callconv(WINAPI) BOOL;
2233) callconv(.winapi) BOOL;
22352234
22362235pub extern "mswsock" fn AcceptEx(
22372236 sListenSocket: SOCKET,
......@@ -2242,7 +2241,7 @@ pub extern "mswsock" fn AcceptEx(
22422241 dwRemoteAddressLength: u32,
22432242 lpdwBytesReceived: *u32,
22442243 lpOverlapped: *OVERLAPPED,
2245) callconv(WINAPI) BOOL;
2244) callconv(.winapi) BOOL;
22462245
22472246pub extern "mswsock" fn GetAcceptExSockaddrs(
22482247 lpOutputBuffer: *anyopaque,
......@@ -2253,24 +2252,24 @@ pub extern "mswsock" fn GetAcceptExSockaddrs(
22532252 LocalSockaddrLength: *i32,
22542253 RemoteSockaddr: **sockaddr,
22552254 RemoteSockaddrLength: *i32,
2256) callconv(WINAPI) void;
2255) callconv(.winapi) void;
22572256
22582257pub extern "ws2_32" fn WSAProviderCompleteAsyncCall(
22592258 hAsyncCall: HANDLE,
22602259 iRetCode: i32,
2261) callconv(WINAPI) i32;
2260) callconv(.winapi) i32;
22622261
22632262pub extern "mswsock" fn EnumProtocolsA(
22642263 lpiProtocols: ?*i32,
22652264 lpProtocolBuffer: *anyopaque,
22662265 lpdwBufferLength: *u32,
2267) callconv(WINAPI) i32;
2266) callconv(.winapi) i32;
22682267
22692268pub extern "mswsock" fn EnumProtocolsW(
22702269 lpiProtocols: ?*i32,
22712270 lpProtocolBuffer: *anyopaque,
22722271 lpdwBufferLength: *u32,
2273) callconv(WINAPI) i32;
2272) callconv(.winapi) i32;
22742273
22752274pub extern "mswsock" fn GetAddressByNameA(
22762275 dwNameSpace: u32,
......@@ -2282,7 +2281,7 @@ pub extern "mswsock" fn GetAddressByNameA(
22822281 lpCsaddrBuffer: *anyopaque,
22832282 lpAliasBuffer: ?[*:0]const u8,
22842283 lpdwAliasBufferLength: *u32,
2285) callconv(WINAPI) i32;
2284) callconv(.winapi) i32;
22862285
22872286pub extern "mswsock" fn GetAddressByNameW(
22882287 dwNameSpace: u32,
......@@ -2295,36 +2294,36 @@ pub extern "mswsock" fn GetAddressByNameW(
22952294 ldwBufferLEngth: *u32,
22962295 lpAliasBuffer: ?[*:0]u16,
22972296 lpdwAliasBufferLength: *u32,
2298) callconv(WINAPI) i32;
2297) callconv(.winapi) i32;
22992298
23002299pub extern "mswsock" fn GetTypeByNameA(
23012300 lpServiceName: [*:0]u8,
23022301 lpServiceType: *GUID,
2303) callconv(WINAPI) i32;
2302) callconv(.winapi) i32;
23042303
23052304pub extern "mswsock" fn GetTypeByNameW(
23062305 lpServiceName: [*:0]u16,
23072306 lpServiceType: *GUID,
2308) callconv(WINAPI) i32;
2307) callconv(.winapi) i32;
23092308
23102309pub extern "mswsock" fn GetNameByTypeA(
23112310 lpServiceType: *GUID,
23122311 lpServiceName: [*:0]u8,
23132312 dwNameLength: u32,
2314) callconv(WINAPI) i32;
2313) callconv(.winapi) i32;
23152314
23162315pub extern "mswsock" fn GetNameByTypeW(
23172316 lpServiceType: *GUID,
23182317 lpServiceName: [*:0]u16,
23192318 dwNameLength: u32,
2320) callconv(WINAPI) i32;
2319) callconv(.winapi) i32;
23212320
23222321pub extern "ws2_32" fn getaddrinfo(
23232322 pNodeName: ?[*:0]const u8,
23242323 pServiceName: ?[*:0]const u8,
23252324 pHints: ?*const addrinfoa,
23262325 ppResult: *?*addrinfoa,
2327) callconv(WINAPI) i32;
2326) callconv(.winapi) i32;
23282327
23292328pub extern "ws2_32" fn GetAddrInfoExA(
23302329 pName: ?[*:0]const u8,
......@@ -2336,23 +2335,23 @@ pub extern "ws2_32" fn GetAddrInfoExA(
23362335 timeout: ?*timeval,
23372336 lpOverlapped: ?*OVERLAPPED,
23382337 lpCompletionRoutine: ?LPLOOKUPSERVICE_COMPLETION_ROUTINE,
2339) callconv(WINAPI) i32;
2338) callconv(.winapi) i32;
23402339
23412340pub extern "ws2_32" fn GetAddrInfoExCancel(
23422341 lpHandle: *HANDLE,
2343) callconv(WINAPI) i32;
2342) callconv(.winapi) i32;
23442343
23452344pub extern "ws2_32" fn GetAddrInfoExOverlappedResult(
23462345 lpOverlapped: *OVERLAPPED,
2347) callconv(WINAPI) i32;
2346) callconv(.winapi) i32;
23482347
23492348pub extern "ws2_32" fn freeaddrinfo(
23502349 pAddrInfo: ?*addrinfoa,
2351) callconv(WINAPI) void;
2350) callconv(.winapi) void;
23522351
23532352pub extern "ws2_32" fn FreeAddrInfoEx(
23542353 pAddrInfoEx: ?*addrinfoexA,
2355) callconv(WINAPI) void;
2354) callconv(.winapi) void;
23562355
23572356pub extern "ws2_32" fn getnameinfo(
23582357 pSockaddr: *const sockaddr,
......@@ -2362,8 +2361,8 @@ pub extern "ws2_32" fn getnameinfo(
23622361 pServiceBuffer: ?[*]u8,
23632362 ServiceBufferName: u32,
23642363 Flags: i32,
2365) callconv(WINAPI) i32;
2364) callconv(.winapi) i32;
23662365
23672366pub extern "iphlpapi" fn if_nametoindex(
23682367 InterfaceName: [*:0]const u8,
2369) callconv(WINAPI) u32;
2368) callconv(.winapi) u32;
src/crash_report.zig+1-1
......@@ -229,7 +229,7 @@ const WindowsSegfaultMessage = union(enum) {
229229 illegal_instruction: void,
230230};
231231
232fn handleSegfaultWindows(info: *windows.EXCEPTION_POINTERS) callconv(windows.WINAPI) c_long {
232fn handleSegfaultWindows(info: *windows.EXCEPTION_POINTERS) callconv(.winapi) c_long {
233233 switch (info.ExceptionRecord.ExceptionCode) {
234234 windows.EXCEPTION_DATATYPE_MISALIGNMENT => handleSegfaultWindowsExtra(info, .{ .literal = "Unaligned Memory Access" }),
235235 windows.EXCEPTION_ACCESS_VIOLATION => handleSegfaultWindowsExtra(info, .segfault),