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)...@@ -1344,7 +1344,7 @@ fn dumpSegfaultInfoPosix(sig: i32, code: i32, addr: usize, ctx_ptr: ?*anyopaque)
1344 }1344 }
1345}1345}
13461346
1347fn handleSegfaultWindows(info: *windows.EXCEPTION_POINTERS) callconv(windows.WINAPI) c_long {1347fn handleSegfaultWindows(info: *windows.EXCEPTION_POINTERS) callconv(.winapi) c_long {
1348 switch (info.ExceptionRecord.ExceptionCode) {1348 switch (info.ExceptionRecord.ExceptionCode) {
1349 windows.EXCEPTION_DATATYPE_MISALIGNMENT => handleSegfaultWindowsExtra(info, 0, "Unaligned Memory Access"),1349 windows.EXCEPTION_DATATYPE_MISALIGNMENT => handleSegfaultWindowsExtra(info, 0, "Unaligned Memory Access"),
1350 windows.EXCEPTION_ACCESS_VIOLATION => handleSegfaultWindowsExtra(info, 1, null),1350 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;...@@ -2824,6 +2824,7 @@ pub const STD_OUTPUT_HANDLE = maxInt(DWORD) - 11 + 1;
2824/// The standard error device. Initially, this is the active console screen buffer, CONOUT$.2824/// The standard error device. Initially, this is the active console screen buffer, CONOUT$.
2825pub const STD_ERROR_HANDLE = maxInt(DWORD) - 12 + 1;2825pub const STD_ERROR_HANDLE = maxInt(DWORD) - 12 + 1;
28262826
2827/// Deprecated; use `std.builtin.CallingConvention.winapi` instead.
2827pub const WINAPI: std.builtin.CallingConvention = .winapi;2828pub const WINAPI: std.builtin.CallingConvention = .winapi;
28282829
2829pub const BOOL = c_int;2830pub const BOOL = c_int;
lib/std/os/windows/advapi32.zig+6-7
...@@ -8,7 +8,6 @@ const LPCWSTR = windows.LPCWSTR;...@@ -8,7 +8,6 @@ const LPCWSTR = windows.LPCWSTR;
8const LSTATUS = windows.LSTATUS;8const LSTATUS = windows.LSTATUS;
9const REGSAM = windows.REGSAM;9const REGSAM = windows.REGSAM;
10const ULONG = windows.ULONG;10const ULONG = windows.ULONG;
11const WINAPI = windows.WINAPI;
1211
13pub extern "advapi32" fn RegOpenKeyExW(12pub extern "advapi32" fn RegOpenKeyExW(
14 hKey: HKEY,13 hKey: HKEY,
...@@ -16,7 +15,7 @@ pub extern "advapi32" fn RegOpenKeyExW(...@@ -16,7 +15,7 @@ pub extern "advapi32" fn RegOpenKeyExW(
16 ulOptions: DWORD,15 ulOptions: DWORD,
17 samDesired: REGSAM,16 samDesired: REGSAM,
18 phkResult: *HKEY,17 phkResult: *HKEY,
19) callconv(WINAPI) LSTATUS;18) callconv(.winapi) LSTATUS;
2019
21pub extern "advapi32" fn RegQueryValueExW(20pub extern "advapi32" fn RegQueryValueExW(
22 hKey: HKEY,21 hKey: HKEY,
...@@ -25,13 +24,13 @@ pub extern "advapi32" fn RegQueryValueExW(...@@ -25,13 +24,13 @@ pub extern "advapi32" fn RegQueryValueExW(
25 lpType: ?*DWORD,24 lpType: ?*DWORD,
26 lpData: ?*BYTE,25 lpData: ?*BYTE,
27 lpcbData: ?*DWORD,26 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
32// RtlGenRandom is known as SystemFunction036 under advapi3231// RtlGenRandom is known as SystemFunction036 under advapi32
33// http://msdn.microsoft.com/en-us/library/windows/desktop/aa387694.aspx */32// 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;
35pub const RtlGenRandom = SystemFunction036;34pub const RtlGenRandom = SystemFunction036;
3635
37pub const RRF = struct {36pub const RRF = struct {
...@@ -62,7 +61,7 @@ pub extern "advapi32" fn RegGetValueW(...@@ -62,7 +61,7 @@ pub extern "advapi32" fn RegGetValueW(
62 pdwType: ?*DWORD,61 pdwType: ?*DWORD,
63 pvData: ?*anyopaque,62 pvData: ?*anyopaque,
64 pcbData: ?*DWORD,63 pcbData: ?*DWORD,
65) callconv(WINAPI) LSTATUS;64) callconv(.winapi) LSTATUS;
6665
67pub extern "advapi32" fn RegLoadAppKeyW(66pub extern "advapi32" fn RegLoadAppKeyW(
68 lpFile: LPCWSTR,67 lpFile: LPCWSTR,
...@@ -70,4 +69,4 @@ pub extern "advapi32" fn RegLoadAppKeyW(...@@ -70,4 +69,4 @@ pub extern "advapi32" fn RegLoadAppKeyW(
70 samDesired: REGSAM,69 samDesired: REGSAM,
71 dwOptions: DWORD,70 dwOptions: DWORD,
72 reserved: DWORD,71 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;...@@ -4,7 +4,6 @@ const BOOL = windows.BOOL;
4const DWORD = windows.DWORD;4const DWORD = windows.DWORD;
5const BYTE = windows.BYTE;5const BYTE = windows.BYTE;
6const LPCWSTR = windows.LPCWSTR;6const LPCWSTR = windows.LPCWSTR;
7const WINAPI = windows.WINAPI;
87
9pub const CERT_INFO = *opaque {};8pub const CERT_INFO = *opaque {};
10pub const HCERTSTORE = *opaque {};9pub const HCERTSTORE = *opaque {};
...@@ -19,14 +18,14 @@ pub const CERT_CONTEXT = extern struct {...@@ -19,14 +18,14 @@ pub const CERT_CONTEXT = extern struct {
19pub extern "crypt32" fn CertOpenSystemStoreW(18pub extern "crypt32" fn CertOpenSystemStoreW(
20 _: ?*const anyopaque,19 _: ?*const anyopaque,
21 szSubsystemProtocol: LPCWSTR,20 szSubsystemProtocol: LPCWSTR,
22) callconv(WINAPI) ?HCERTSTORE;21) callconv(.winapi) ?HCERTSTORE;
2322
24pub extern "crypt32" fn CertCloseStore(23pub extern "crypt32" fn CertCloseStore(
25 hCertStore: HCERTSTORE,24 hCertStore: HCERTSTORE,
26 dwFlags: DWORD,25 dwFlags: DWORD,
27) callconv(WINAPI) BOOL;26) callconv(.winapi) BOOL;
2827
29pub extern "crypt32" fn CertEnumCertificatesInStore(28pub extern "crypt32" fn CertEnumCertificatesInStore(
30 hCertStore: HCERTSTORE,29 hCertStore: HCERTSTORE,
31 pPrevCertContext: ?*CERT_CONTEXT,30 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;...@@ -41,7 +41,6 @@ const VECTORED_EXCEPTION_HANDLER = windows.VECTORED_EXCEPTION_HANDLER;
41const WCHAR = windows.WCHAR;41const WCHAR = windows.WCHAR;
42const WIN32_FIND_DATAW = windows.WIN32_FIND_DATAW;42const WIN32_FIND_DATAW = windows.WIN32_FIND_DATAW;
43const Win32Error = windows.Win32Error;43const Win32Error = windows.Win32Error;
44const WINAPI = windows.WINAPI;
45const WORD = windows.WORD;44const WORD = windows.WORD;
4645
47// I/O - Filesystem46// I/O - Filesystem
...@@ -55,18 +54,18 @@ pub extern "kernel32" fn ReadDirectoryChangesW(...@@ -55,18 +54,18 @@ pub extern "kernel32" fn ReadDirectoryChangesW(
55 lpBytesReturned: ?*windows.DWORD,54 lpBytesReturned: ?*windows.DWORD,
56 lpOverlapped: ?*windows.OVERLAPPED,55 lpOverlapped: ?*windows.OVERLAPPED,
57 lpCompletionRoutine: windows.LPOVERLAPPED_COMPLETION_ROUTINE,56 lpCompletionRoutine: windows.LPOVERLAPPED_COMPLETION_ROUTINE,
58) callconv(windows.WINAPI) windows.BOOL;57) callconv(.winapi) windows.BOOL;
5958
60// TODO: Wrapper around NtCancelIoFile.59// TODO: Wrapper around NtCancelIoFile.
61pub extern "kernel32" fn CancelIo(60pub extern "kernel32" fn CancelIo(
62 hFile: HANDLE,61 hFile: HANDLE,
63) callconv(WINAPI) BOOL;62) callconv(.winapi) BOOL;
6463
65// TODO: Wrapper around NtCancelIoFileEx.64// TODO: Wrapper around NtCancelIoFileEx.
66pub extern "kernel32" fn CancelIoEx(65pub extern "kernel32" fn CancelIoEx(
67 hFile: HANDLE,66 hFile: HANDLE,
68 lpOverlapped: ?*OVERLAPPED,67 lpOverlapped: ?*OVERLAPPED,
69) callconv(WINAPI) BOOL;68) callconv(.winapi) BOOL;
7069
71pub extern "kernel32" fn CreateFileW(70pub extern "kernel32" fn CreateFileW(
72 lpFileName: LPCWSTR,71 lpFileName: LPCWSTR,
...@@ -76,7 +75,7 @@ pub extern "kernel32" fn CreateFileW(...@@ -76,7 +75,7 @@ pub extern "kernel32" fn CreateFileW(
76 dwCreationDisposition: DWORD,75 dwCreationDisposition: DWORD,
77 dwFlagsAndAttributes: DWORD,76 dwFlagsAndAttributes: DWORD,
78 hTemplateFile: ?HANDLE,77 hTemplateFile: ?HANDLE,
79) callconv(WINAPI) HANDLE;78) callconv(.winapi) HANDLE;
8079
81// TODO A bunch of logic around NtCreateNamedPipe80// TODO A bunch of logic around NtCreateNamedPipe
82pub extern "kernel32" fn CreateNamedPipeW(81pub extern "kernel32" fn CreateNamedPipeW(
...@@ -88,16 +87,16 @@ pub extern "kernel32" fn CreateNamedPipeW(...@@ -88,16 +87,16 @@ pub extern "kernel32" fn CreateNamedPipeW(
88 nInBufferSize: DWORD,87 nInBufferSize: DWORD,
89 nDefaultTimeOut: DWORD,88 nDefaultTimeOut: DWORD,
90 lpSecurityAttributes: ?*const SECURITY_ATTRIBUTES,89 lpSecurityAttributes: ?*const SECURITY_ATTRIBUTES,
91) callconv(WINAPI) HANDLE;90) callconv(.winapi) HANDLE;
9291
93pub extern "kernel32" fn FindFirstFileW(92pub extern "kernel32" fn FindFirstFileW(
94 lpFileName: LPCWSTR,93 lpFileName: LPCWSTR,
95 lpFindFileData: *WIN32_FIND_DATAW,94 lpFindFileData: *WIN32_FIND_DATAW,
96) callconv(WINAPI) HANDLE;95) callconv(.winapi) HANDLE;
9796
98pub extern "kernel32" fn FindClose(97pub extern "kernel32" fn FindClose(
99 hFindFile: HANDLE,98 hFindFile: HANDLE,
100) callconv(WINAPI) BOOL;99) callconv(.winapi) BOOL;
101100
102// TODO: Wrapper around RtlGetFullPathName_UEx101// TODO: Wrapper around RtlGetFullPathName_UEx
103pub extern "kernel32" fn GetFullPathNameW(102pub extern "kernel32" fn GetFullPathNameW(
...@@ -105,18 +104,18 @@ pub extern "kernel32" fn GetFullPathNameW(...@@ -105,18 +104,18 @@ pub extern "kernel32" fn GetFullPathNameW(
105 nBufferLength: DWORD,104 nBufferLength: DWORD,
106 lpBuffer: LPWSTR,105 lpBuffer: LPWSTR,
107 lpFilePart: ?*?LPWSTR,106 lpFilePart: ?*?LPWSTR,
108) callconv(WINAPI) DWORD;107) callconv(.winapi) DWORD;
109108
110// TODO: Matches `STD_*_HANDLE` to peb().ProcessParameters.Standard*109// TODO: Matches `STD_*_HANDLE` to peb().ProcessParameters.Standard*
111pub extern "kernel32" fn GetStdHandle(110pub extern "kernel32" fn GetStdHandle(
112 nStdHandle: DWORD,111 nStdHandle: DWORD,
113) callconv(WINAPI) ?HANDLE;112) callconv(.winapi) ?HANDLE;
114113
115pub extern "kernel32" fn MoveFileExW(114pub extern "kernel32" fn MoveFileExW(
116 lpExistingFileName: LPCWSTR,115 lpExistingFileName: LPCWSTR,
117 lpNewFileName: LPCWSTR,116 lpNewFileName: LPCWSTR,
118 dwFlags: DWORD,117 dwFlags: DWORD,
119) callconv(WINAPI) BOOL;118) callconv(.winapi) BOOL;
120119
121// TODO: Wrapper around NtSetInformationFile + `FILE_POSITION_INFORMATION`.120// TODO: Wrapper around NtSetInformationFile + `FILE_POSITION_INFORMATION`.
122// `FILE_STANDARD_INFORMATION` is also used if dwMoveMethod is `FILE_END`121// `FILE_STANDARD_INFORMATION` is also used if dwMoveMethod is `FILE_END`
...@@ -125,7 +124,7 @@ pub extern "kernel32" fn SetFilePointerEx(...@@ -125,7 +124,7 @@ pub extern "kernel32" fn SetFilePointerEx(
125 liDistanceToMove: LARGE_INTEGER,124 liDistanceToMove: LARGE_INTEGER,
126 lpNewFilePointer: ?*LARGE_INTEGER,125 lpNewFilePointer: ?*LARGE_INTEGER,
127 dwMoveMethod: DWORD,126 dwMoveMethod: DWORD,
128) callconv(WINAPI) BOOL;127) callconv(.winapi) BOOL;
129128
130// TODO: Wrapper around NtSetInformationFile + `FILE_BASIC_INFORMATION`129// TODO: Wrapper around NtSetInformationFile + `FILE_BASIC_INFORMATION`
131pub extern "kernel32" fn SetFileTime(130pub extern "kernel32" fn SetFileTime(
...@@ -133,7 +132,7 @@ pub extern "kernel32" fn SetFileTime(...@@ -133,7 +132,7 @@ pub extern "kernel32" fn SetFileTime(
133 lpCreationTime: ?*const FILETIME,132 lpCreationTime: ?*const FILETIME,
134 lpLastAccessTime: ?*const FILETIME,133 lpLastAccessTime: ?*const FILETIME,
135 lpLastWriteTime: ?*const FILETIME,134 lpLastWriteTime: ?*const FILETIME,
136) callconv(WINAPI) BOOL;135) callconv(.winapi) BOOL;
137136
138pub extern "kernel32" fn WriteFile(137pub extern "kernel32" fn WriteFile(
139 in_hFile: HANDLE,138 in_hFile: HANDLE,
...@@ -141,35 +140,35 @@ pub extern "kernel32" fn WriteFile(...@@ -141,35 +140,35 @@ pub extern "kernel32" fn WriteFile(
141 in_nNumberOfBytesToWrite: DWORD,140 in_nNumberOfBytesToWrite: DWORD,
142 out_lpNumberOfBytesWritten: ?*DWORD,141 out_lpNumberOfBytesWritten: ?*DWORD,
143 in_out_lpOverlapped: ?*OVERLAPPED,142 in_out_lpOverlapped: ?*OVERLAPPED,
144) callconv(WINAPI) BOOL;143) callconv(.winapi) BOOL;
145144
146// TODO: wrapper for NtQueryInformationFile + `FILE_STANDARD_INFORMATION`145// TODO: wrapper for NtQueryInformationFile + `FILE_STANDARD_INFORMATION`
147pub extern "kernel32" fn GetFileSizeEx(146pub extern "kernel32" fn GetFileSizeEx(
148 hFile: HANDLE,147 hFile: HANDLE,
149 lpFileSize: *LARGE_INTEGER,148 lpFileSize: *LARGE_INTEGER,
150) callconv(WINAPI) BOOL;149) callconv(.winapi) BOOL;
151150
152// TODO: Wrapper around GetStdHandle + NtFlushBuffersFile.151// TODO: Wrapper around GetStdHandle + NtFlushBuffersFile.
153pub extern "kernel32" fn FlushFileBuffers(152pub extern "kernel32" fn FlushFileBuffers(
154 hFile: HANDLE,153 hFile: HANDLE,
155) callconv(WINAPI) BOOL;154) callconv(.winapi) BOOL;
156155
157// TODO: Wrapper around NtSetInformationFile + `FILE_IO_COMPLETION_NOTIFICATION_INFORMATION`.156// TODO: Wrapper around NtSetInformationFile + `FILE_IO_COMPLETION_NOTIFICATION_INFORMATION`.
158pub extern "kernel32" fn SetFileCompletionNotificationModes(157pub extern "kernel32" fn SetFileCompletionNotificationModes(
159 FileHandle: HANDLE,158 FileHandle: HANDLE,
160 Flags: UCHAR,159 Flags: UCHAR,
161) callconv(WINAPI) BOOL;160) callconv(.winapi) BOOL;
162161
163// TODO: `RtlGetCurrentDirectory_U(nBufferLength * 2, lpBuffer)`162// TODO: `RtlGetCurrentDirectory_U(nBufferLength * 2, lpBuffer)`
164pub extern "kernel32" fn GetCurrentDirectoryW(163pub extern "kernel32" fn GetCurrentDirectoryW(
165 nBufferLength: DWORD,164 nBufferLength: DWORD,
166 lpBuffer: ?[*]WCHAR,165 lpBuffer: ?[*]WCHAR,
167) callconv(WINAPI) DWORD;166) callconv(.winapi) DWORD;
168167
169// TODO: RtlDosPathNameToNtPathNameU_WithStatus + NtQueryAttributesFile.168// TODO: RtlDosPathNameToNtPathNameU_WithStatus + NtQueryAttributesFile.
170pub extern "kernel32" fn GetFileAttributesW(169pub extern "kernel32" fn GetFileAttributesW(
171 lpFileName: LPCWSTR,170 lpFileName: LPCWSTR,
172) callconv(WINAPI) DWORD;171) callconv(.winapi) DWORD;
173172
174pub extern "kernel32" fn ReadFile(173pub extern "kernel32" fn ReadFile(
175 hFile: HANDLE,174 hFile: HANDLE,
...@@ -177,12 +176,12 @@ pub extern "kernel32" fn ReadFile(...@@ -177,12 +176,12 @@ pub extern "kernel32" fn ReadFile(
177 nNumberOfBytesToRead: DWORD,176 nNumberOfBytesToRead: DWORD,
178 lpNumberOfBytesRead: ?*DWORD,177 lpNumberOfBytesRead: ?*DWORD,
179 lpOverlapped: ?*OVERLAPPED,178 lpOverlapped: ?*OVERLAPPED,
180) callconv(WINAPI) BOOL;179) callconv(.winapi) BOOL;
181180
182pub extern "kernel32" fn GetSystemDirectoryW(181pub extern "kernel32" fn GetSystemDirectoryW(
183 lpBuffer: LPWSTR,182 lpBuffer: LPWSTR,
184 uSize: UINT,183 uSize: UINT,
185) callconv(WINAPI) UINT;184) callconv(.winapi) UINT;
186185
187// I/O - Kernel Objects186// I/O - Kernel Objects
188187
...@@ -192,7 +191,7 @@ pub extern "kernel32" fn CreateEventExW(...@@ -192,7 +191,7 @@ pub extern "kernel32" fn CreateEventExW(
192 lpName: ?LPCWSTR,191 lpName: ?LPCWSTR,
193 dwFlags: DWORD,192 dwFlags: DWORD,
194 dwDesiredAccess: DWORD,193 dwDesiredAccess: DWORD,
195) callconv(WINAPI) ?HANDLE;194) callconv(.winapi) ?HANDLE;
196195
197// TODO: Wrapper around GetStdHandle + NtDuplicateObject.196// TODO: Wrapper around GetStdHandle + NtDuplicateObject.
198pub extern "kernel32" fn DuplicateHandle(197pub extern "kernel32" fn DuplicateHandle(
...@@ -203,14 +202,14 @@ pub extern "kernel32" fn DuplicateHandle(...@@ -203,14 +202,14 @@ pub extern "kernel32" fn DuplicateHandle(
203 dwDesiredAccess: DWORD,202 dwDesiredAccess: DWORD,
204 bInheritHandle: BOOL,203 bInheritHandle: BOOL,
205 dwOptions: DWORD,204 dwOptions: DWORD,
206) callconv(WINAPI) BOOL;205) callconv(.winapi) BOOL;
207206
208// TODO: Wrapper around GetStdHandle + NtQueryObject + NtSetInformationObject with .ObjectHandleFlagInformation.207// TODO: Wrapper around GetStdHandle + NtQueryObject + NtSetInformationObject with .ObjectHandleFlagInformation.
209pub extern "kernel32" fn SetHandleInformation(208pub extern "kernel32" fn SetHandleInformation(
210 hObject: HANDLE,209 hObject: HANDLE,
211 dwMask: DWORD,210 dwMask: DWORD,
212 dwFlags: DWORD,211 dwFlags: DWORD,
213) callconv(WINAPI) BOOL;212) callconv(.winapi) BOOL;
214213
215// TODO: Wrapper around NtRemoveIoCompletion.214// TODO: Wrapper around NtRemoveIoCompletion.
216pub extern "kernel32" fn GetQueuedCompletionStatus(215pub extern "kernel32" fn GetQueuedCompletionStatus(
...@@ -219,7 +218,7 @@ pub extern "kernel32" fn GetQueuedCompletionStatus(...@@ -219,7 +218,7 @@ pub extern "kernel32" fn GetQueuedCompletionStatus(
219 lpCompletionKey: *ULONG_PTR,218 lpCompletionKey: *ULONG_PTR,
220 lpOverlapped: *?*OVERLAPPED,219 lpOverlapped: *?*OVERLAPPED,
221 dwMilliseconds: DWORD,220 dwMilliseconds: DWORD,
222) callconv(WINAPI) BOOL;221) callconv(.winapi) BOOL;
223222
224// TODO: Wrapper around NtRemoveIoCompletionEx.223// TODO: Wrapper around NtRemoveIoCompletionEx.
225pub extern "kernel32" fn GetQueuedCompletionStatusEx(224pub extern "kernel32" fn GetQueuedCompletionStatusEx(
...@@ -229,7 +228,7 @@ pub extern "kernel32" fn GetQueuedCompletionStatusEx(...@@ -229,7 +228,7 @@ pub extern "kernel32" fn GetQueuedCompletionStatusEx(
229 ulNumEntriesRemoved: *ULONG,228 ulNumEntriesRemoved: *ULONG,
230 dwMilliseconds: DWORD,229 dwMilliseconds: DWORD,
231 fAlertable: BOOL,230 fAlertable: BOOL,
232) callconv(WINAPI) BOOL;231) callconv(.winapi) BOOL;
233232
234// TODO: Wrapper around NtSetIoCompletion with `IoStatus = .SUCCESS`.233// TODO: Wrapper around NtSetIoCompletion with `IoStatus = .SUCCESS`.
235pub extern "kernel32" fn PostQueuedCompletionStatus(234pub extern "kernel32" fn PostQueuedCompletionStatus(
...@@ -237,7 +236,7 @@ pub extern "kernel32" fn PostQueuedCompletionStatus(...@@ -237,7 +236,7 @@ pub extern "kernel32" fn PostQueuedCompletionStatus(
237 dwNumberOfBytesTransferred: DWORD,236 dwNumberOfBytesTransferred: DWORD,
238 dwCompletionKey: ULONG_PTR,237 dwCompletionKey: ULONG_PTR,
239 lpOverlapped: ?*OVERLAPPED,238 lpOverlapped: ?*OVERLAPPED,
240) callconv(WINAPI) BOOL;239) callconv(.winapi) BOOL;
241240
242// TODO:241// TODO:
243// GetOverlappedResultEx with bAlertable=false, which calls: GetStdHandle + WaitForSingleObjectEx.242// GetOverlappedResultEx with bAlertable=false, which calls: GetStdHandle + WaitForSingleObjectEx.
...@@ -247,7 +246,7 @@ pub extern "kernel32" fn GetOverlappedResult(...@@ -247,7 +246,7 @@ pub extern "kernel32" fn GetOverlappedResult(
247 lpOverlapped: *OVERLAPPED,246 lpOverlapped: *OVERLAPPED,
248 lpNumberOfBytesTransferred: *DWORD,247 lpNumberOfBytesTransferred: *DWORD,
249 bWait: BOOL,248 bWait: BOOL,
250) callconv(WINAPI) BOOL;249) callconv(.winapi) BOOL;
251250
252// TODO: Wrapper around NtCreateIoCompletion + NtSetInformationFile with FILE_COMPLETION_INFORMATION.251// TODO: Wrapper around NtCreateIoCompletion + NtSetInformationFile with FILE_COMPLETION_INFORMATION.
253// This would be better splitting into two functions.252// This would be better splitting into two functions.
...@@ -256,30 +255,30 @@ pub extern "kernel32" fn CreateIoCompletionPort(...@@ -256,30 +255,30 @@ pub extern "kernel32" fn CreateIoCompletionPort(
256 ExistingCompletionPort: ?HANDLE,255 ExistingCompletionPort: ?HANDLE,
257 CompletionKey: ULONG_PTR,256 CompletionKey: ULONG_PTR,
258 NumberOfConcurrentThreads: DWORD,257 NumberOfConcurrentThreads: DWORD,
259) callconv(WINAPI) ?HANDLE;258) callconv(.winapi) ?HANDLE;
260259
261// TODO: Forwarder to NtAddVectoredExceptionHandler.260// TODO: Forwarder to NtAddVectoredExceptionHandler.
262pub extern "kernel32" fn AddVectoredExceptionHandler(261pub extern "kernel32" fn AddVectoredExceptionHandler(
263 First: ULONG,262 First: ULONG,
264 Handler: ?VECTORED_EXCEPTION_HANDLER,263 Handler: ?VECTORED_EXCEPTION_HANDLER,
265) callconv(WINAPI) ?LPVOID;264) callconv(.winapi) ?LPVOID;
266265
267// TODO: Forwarder to NtRemoveVectoredExceptionHandler.266// TODO: Forwarder to NtRemoveVectoredExceptionHandler.
268pub extern "kernel32" fn RemoveVectoredExceptionHandler(267pub extern "kernel32" fn RemoveVectoredExceptionHandler(
269 Handle: HANDLE,268 Handle: HANDLE,
270) callconv(WINAPI) ULONG;269) callconv(.winapi) ULONG;
271270
272// TODO: Wrapper around RtlReportSilentProcessExit + NtTerminateProcess.271// TODO: Wrapper around RtlReportSilentProcessExit + NtTerminateProcess.
273pub extern "kernel32" fn TerminateProcess(272pub extern "kernel32" fn TerminateProcess(
274 hProcess: HANDLE,273 hProcess: HANDLE,
275 uExitCode: UINT,274 uExitCode: UINT,
276) callconv(WINAPI) BOOL;275) callconv(.winapi) BOOL;
277276
278// TODO: WaitForSingleObjectEx with bAlertable=false.277// TODO: WaitForSingleObjectEx with bAlertable=false.
279pub extern "kernel32" fn WaitForSingleObject(278pub extern "kernel32" fn WaitForSingleObject(
280 hHandle: HANDLE,279 hHandle: HANDLE,
281 dwMilliseconds: DWORD,280 dwMilliseconds: DWORD,
282) callconv(WINAPI) DWORD;281) callconv(.winapi) DWORD;
283282
284// TODO: Wrapper for GetStdHandle + NtWaitForSingleObject.283// TODO: Wrapper for GetStdHandle + NtWaitForSingleObject.
285// Sets up an activation context before calling NtWaitForSingleObject.284// Sets up an activation context before calling NtWaitForSingleObject.
...@@ -287,7 +286,7 @@ pub extern "kernel32" fn WaitForSingleObjectEx(...@@ -287,7 +286,7 @@ pub extern "kernel32" fn WaitForSingleObjectEx(
287 hHandle: HANDLE,286 hHandle: HANDLE,
288 dwMilliseconds: DWORD,287 dwMilliseconds: DWORD,
289 bAlertable: BOOL,288 bAlertable: BOOL,
290) callconv(WINAPI) DWORD;289) callconv(.winapi) DWORD;
291290
292// TODO: WaitForMultipleObjectsEx with alertable=false291// TODO: WaitForMultipleObjectsEx with alertable=false
293pub extern "kernel32" fn WaitForMultipleObjects(292pub extern "kernel32" fn WaitForMultipleObjects(
...@@ -295,7 +294,7 @@ pub extern "kernel32" fn WaitForMultipleObjects(...@@ -295,7 +294,7 @@ pub extern "kernel32" fn WaitForMultipleObjects(
295 lpHandle: [*]const HANDLE,294 lpHandle: [*]const HANDLE,
296 bWaitAll: BOOL,295 bWaitAll: BOOL,
297 dwMilliseconds: DWORD,296 dwMilliseconds: DWORD,
298) callconv(WINAPI) DWORD;297) callconv(.winapi) DWORD;
299298
300// TODO: Wrapper around NtWaitForMultipleObjects.299// TODO: Wrapper around NtWaitForMultipleObjects.
301pub extern "kernel32" fn WaitForMultipleObjectsEx(300pub extern "kernel32" fn WaitForMultipleObjectsEx(
...@@ -304,7 +303,7 @@ pub extern "kernel32" fn WaitForMultipleObjectsEx(...@@ -304,7 +303,7 @@ pub extern "kernel32" fn WaitForMultipleObjectsEx(
304 bWaitAll: BOOL,303 bWaitAll: BOOL,
305 dwMilliseconds: DWORD,304 dwMilliseconds: DWORD,
306 bAlertable: BOOL,305 bAlertable: BOOL,
307) callconv(WINAPI) DWORD;306) callconv(.winapi) DWORD;
308307
309// Process Management308// Process Management
310309
...@@ -319,57 +318,57 @@ pub extern "kernel32" fn CreateProcessW(...@@ -319,57 +318,57 @@ pub extern "kernel32" fn CreateProcessW(
319 lpCurrentDirectory: ?LPCWSTR,318 lpCurrentDirectory: ?LPCWSTR,
320 lpStartupInfo: *STARTUPINFOW,319 lpStartupInfo: *STARTUPINFOW,
321 lpProcessInformation: *PROCESS_INFORMATION,320 lpProcessInformation: *PROCESS_INFORMATION,
322) callconv(WINAPI) BOOL;321) callconv(.winapi) BOOL;
323322
324// TODO: Fowarder to RtlExitUserProcess.323// TODO: Fowarder to RtlExitUserProcess.
325pub extern "kernel32" fn ExitProcess(324pub extern "kernel32" fn ExitProcess(
326 exit_code: UINT,325 exit_code: UINT,
327) callconv(WINAPI) noreturn;326) callconv(.winapi) noreturn;
328327
329// TODO: SleepEx with bAlertable=false.328// TODO: SleepEx with bAlertable=false.
330pub extern "kernel32" fn Sleep(329pub extern "kernel32" fn Sleep(
331 dwMilliseconds: DWORD,330 dwMilliseconds: DWORD,
332) callconv(WINAPI) void;331) callconv(.winapi) void;
333332
334// TODO: Wrapper around NtQueryInformationProcess with `PROCESS_BASIC_INFORMATION`.333// TODO: Wrapper around NtQueryInformationProcess with `PROCESS_BASIC_INFORMATION`.
335pub extern "kernel32" fn GetExitCodeProcess(334pub extern "kernel32" fn GetExitCodeProcess(
336 hProcess: HANDLE,335 hProcess: HANDLE,
337 lpExitCode: *DWORD,336 lpExitCode: *DWORD,
338) callconv(WINAPI) BOOL;337) callconv(.winapi) BOOL;
339338
340// TODO: Already a wrapper for this, see `windows.GetCurrentProcess`.339// 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
343// TODO: memcpy peb().ProcessParameters.Environment, mem.span(0). Requires locking the PEB.342// 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
346// TODO: RtlFreeHeap on the output of GetEnvironmentStringsW.345// TODO: RtlFreeHeap on the output of GetEnvironmentStringsW.
347pub extern "kernel32" fn FreeEnvironmentStringsW(346pub extern "kernel32" fn FreeEnvironmentStringsW(
348 penv: LPWSTR,347 penv: LPWSTR,
349) callconv(WINAPI) BOOL;348) callconv(.winapi) BOOL;
350349
351// TODO: Wrapper around RtlQueryEnvironmentVariable.350// TODO: Wrapper around RtlQueryEnvironmentVariable.
352pub extern "kernel32" fn GetEnvironmentVariableW(351pub extern "kernel32" fn GetEnvironmentVariableW(
353 lpName: ?LPCWSTR,352 lpName: ?LPCWSTR,
354 lpBuffer: ?[*]WCHAR,353 lpBuffer: ?[*]WCHAR,
355 nSize: DWORD,354 nSize: DWORD,
356) callconv(WINAPI) DWORD;355) callconv(.winapi) DWORD;
357356
358// TODO: Wrapper around RtlSetEnvironmentVar.357// TODO: Wrapper around RtlSetEnvironmentVar.
359pub extern "kernel32" fn SetEnvironmentVariableW(358pub extern "kernel32" fn SetEnvironmentVariableW(
360 lpName: LPCWSTR,359 lpName: LPCWSTR,
361 lpValue: ?LPCWSTR,360 lpValue: ?LPCWSTR,
362) callconv(WINAPI) BOOL;361) callconv(.winapi) BOOL;
363362
364pub extern "kernel32" fn CreateToolhelp32Snapshot(363pub extern "kernel32" fn CreateToolhelp32Snapshot(
365 dwFlags: DWORD,364 dwFlags: DWORD,
366 th32ProcessID: DWORD,365 th32ProcessID: DWORD,
367) callconv(WINAPI) HANDLE;366) callconv(.winapi) HANDLE;
368367
369// Threading368// Threading
370369
371// TODO: Already a wrapper for this, see `windows.GetCurrentThreadId`.370// 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
374// TODO: CreateRemoteThread with hProcess=NtCurrentProcess().373// TODO: CreateRemoteThread with hProcess=NtCurrentProcess().
375pub extern "kernel32" fn CreateThread(374pub extern "kernel32" fn CreateThread(
...@@ -379,64 +378,64 @@ pub extern "kernel32" fn CreateThread(...@@ -379,64 +378,64 @@ pub extern "kernel32" fn CreateThread(
379 lpParameter: ?LPVOID,378 lpParameter: ?LPVOID,
380 dwCreationFlags: DWORD,379 dwCreationFlags: DWORD,
381 lpThreadId: ?*DWORD,380 lpThreadId: ?*DWORD,
382) callconv(WINAPI) ?HANDLE;381) callconv(.winapi) ?HANDLE;
383382
384// TODO: Wrapper around RtlDelayExecution.383// TODO: Wrapper around RtlDelayExecution.
385pub extern "kernel32" fn SwitchToThread() callconv(WINAPI) BOOL;384pub extern "kernel32" fn SwitchToThread() callconv(.winapi) BOOL;
386385
387// Locks, critical sections, initializers386// Locks, critical sections, initializers
388387
389// TODO: Forwarder to RtlInitializeCriticalSection388// TODO: Forwarder to RtlInitializeCriticalSection
390pub extern "kernel32" fn InitializeCriticalSection(389pub extern "kernel32" fn InitializeCriticalSection(
391 lpCriticalSection: *CRITICAL_SECTION,390 lpCriticalSection: *CRITICAL_SECTION,
392) callconv(WINAPI) void;391) callconv(.winapi) void;
393392
394// TODO: Forwarder to RtlEnterCriticalSection393// TODO: Forwarder to RtlEnterCriticalSection
395pub extern "kernel32" fn EnterCriticalSection(394pub extern "kernel32" fn EnterCriticalSection(
396 lpCriticalSection: *CRITICAL_SECTION,395 lpCriticalSection: *CRITICAL_SECTION,
397) callconv(WINAPI) void;396) callconv(.winapi) void;
398397
399// TODO: Forwarder to RtlLeaveCriticalSection398// TODO: Forwarder to RtlLeaveCriticalSection
400pub extern "kernel32" fn LeaveCriticalSection(399pub extern "kernel32" fn LeaveCriticalSection(
401 lpCriticalSection: *CRITICAL_SECTION,400 lpCriticalSection: *CRITICAL_SECTION,
402) callconv(WINAPI) void;401) callconv(.winapi) void;
403402
404// TODO: Forwarder to RtlDeleteCriticalSection403// TODO: Forwarder to RtlDeleteCriticalSection
405pub extern "kernel32" fn DeleteCriticalSection(404pub extern "kernel32" fn DeleteCriticalSection(
406 lpCriticalSection: *CRITICAL_SECTION,405 lpCriticalSection: *CRITICAL_SECTION,
407) callconv(WINAPI) void;406) callconv(.winapi) void;
408407
409// TODO: Forwarder to RtlTryAcquireSRWLockExclusive408// TODO: Forwarder to RtlTryAcquireSRWLockExclusive
410pub extern "kernel32" fn TryAcquireSRWLockExclusive(409pub extern "kernel32" fn TryAcquireSRWLockExclusive(
411 SRWLock: *SRWLOCK,410 SRWLock: *SRWLOCK,
412) callconv(WINAPI) BOOLEAN;411) callconv(.winapi) BOOLEAN;
413412
414// TODO: Forwarder to RtlAcquireSRWLockExclusive413// TODO: Forwarder to RtlAcquireSRWLockExclusive
415pub extern "kernel32" fn AcquireSRWLockExclusive(414pub extern "kernel32" fn AcquireSRWLockExclusive(
416 SRWLock: *SRWLOCK,415 SRWLock: *SRWLOCK,
417) callconv(WINAPI) void;416) callconv(.winapi) void;
418417
419// TODO: Forwarder to RtlReleaseSRWLockExclusive418// TODO: Forwarder to RtlReleaseSRWLockExclusive
420pub extern "kernel32" fn ReleaseSRWLockExclusive(419pub extern "kernel32" fn ReleaseSRWLockExclusive(
421 SRWLock: *SRWLOCK,420 SRWLock: *SRWLOCK,
422) callconv(WINAPI) void;421) callconv(.winapi) void;
423422
424pub extern "kernel32" fn InitOnceExecuteOnce(423pub extern "kernel32" fn InitOnceExecuteOnce(
425 InitOnce: *INIT_ONCE,424 InitOnce: *INIT_ONCE,
426 InitFn: INIT_ONCE_FN,425 InitFn: INIT_ONCE_FN,
427 Parameter: ?*anyopaque,426 Parameter: ?*anyopaque,
428 Context: ?*anyopaque,427 Context: ?*anyopaque,
429) callconv(WINAPI) BOOL;428) callconv(.winapi) BOOL;
430429
431// TODO: Forwarder to RtlWakeConditionVariable430// TODO: Forwarder to RtlWakeConditionVariable
432pub extern "kernel32" fn WakeConditionVariable(431pub extern "kernel32" fn WakeConditionVariable(
433 ConditionVariable: *CONDITION_VARIABLE,432 ConditionVariable: *CONDITION_VARIABLE,
434) callconv(WINAPI) void;433) callconv(.winapi) void;
435434
436// TODO: Forwarder to RtlWakeAllConditionVariable435// TODO: Forwarder to RtlWakeAllConditionVariable
437pub extern "kernel32" fn WakeAllConditionVariable(436pub extern "kernel32" fn WakeAllConditionVariable(
438 ConditionVariable: *CONDITION_VARIABLE,437 ConditionVariable: *CONDITION_VARIABLE,
439) callconv(WINAPI) void;438) callconv(.winapi) void;
440439
441// TODO:440// TODO:
442// - dwMilliseconds -> LARGE_INTEGER.441// - dwMilliseconds -> LARGE_INTEGER.
...@@ -447,40 +446,40 @@ pub extern "kernel32" fn SleepConditionVariableSRW(...@@ -447,40 +446,40 @@ pub extern "kernel32" fn SleepConditionVariableSRW(
447 SRWLock: *SRWLOCK,446 SRWLock: *SRWLOCK,
448 dwMilliseconds: DWORD,447 dwMilliseconds: DWORD,
449 Flags: ULONG,448 Flags: ULONG,
450) callconv(WINAPI) BOOL;449) callconv(.winapi) BOOL;
451450
452// Console management451// Console management
453452
454pub extern "kernel32" fn GetConsoleMode(453pub extern "kernel32" fn GetConsoleMode(
455 hConsoleHandle: HANDLE,454 hConsoleHandle: HANDLE,
456 lpMode: *DWORD,455 lpMode: *DWORD,
457) callconv(WINAPI) BOOL;456) callconv(.winapi) BOOL;
458457
459pub extern "kernel32" fn SetConsoleMode(458pub extern "kernel32" fn SetConsoleMode(
460 hConsoleHandle: HANDLE,459 hConsoleHandle: HANDLE,
461 dwMode: DWORD,460 dwMode: DWORD,
462) callconv(WINAPI) BOOL;461) callconv(.winapi) BOOL;
463462
464pub extern "kernel32" fn GetConsoleScreenBufferInfo(463pub extern "kernel32" fn GetConsoleScreenBufferInfo(
465 hConsoleOutput: HANDLE,464 hConsoleOutput: HANDLE,
466 lpConsoleScreenBufferInfo: *CONSOLE_SCREEN_BUFFER_INFO,465 lpConsoleScreenBufferInfo: *CONSOLE_SCREEN_BUFFER_INFO,
467) callconv(WINAPI) BOOL;466) callconv(.winapi) BOOL;
468467
469pub extern "kernel32" fn SetConsoleTextAttribute(468pub extern "kernel32" fn SetConsoleTextAttribute(
470 hConsoleOutput: HANDLE,469 hConsoleOutput: HANDLE,
471 wAttributes: WORD,470 wAttributes: WORD,
472) callconv(WINAPI) BOOL;471) callconv(.winapi) BOOL;
473472
474pub extern "kernel32" fn SetConsoleCtrlHandler(473pub extern "kernel32" fn SetConsoleCtrlHandler(
475 HandlerRoutine: ?HANDLER_ROUTINE,474 HandlerRoutine: ?HANDLER_ROUTINE,
476 Add: BOOL,475 Add: BOOL,
477) callconv(WINAPI) BOOL;476) callconv(.winapi) BOOL;
478477
479pub extern "kernel32" fn SetConsoleOutputCP(478pub extern "kernel32" fn SetConsoleOutputCP(
480 wCodePageID: UINT,479 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
485pub extern "kernel32" fn FillConsoleOutputAttribute(484pub extern "kernel32" fn FillConsoleOutputAttribute(
486 hConsoleOutput: HANDLE,485 hConsoleOutput: HANDLE,
...@@ -488,7 +487,7 @@ pub extern "kernel32" fn FillConsoleOutputAttribute(...@@ -488,7 +487,7 @@ pub extern "kernel32" fn FillConsoleOutputAttribute(
488 nLength: DWORD,487 nLength: DWORD,
489 dwWriteCoord: COORD,488 dwWriteCoord: COORD,
490 lpNumberOfAttrsWritten: *DWORD,489 lpNumberOfAttrsWritten: *DWORD,
491) callconv(WINAPI) BOOL;490) callconv(.winapi) BOOL;
492491
493pub extern "kernel32" fn FillConsoleOutputCharacterW(492pub extern "kernel32" fn FillConsoleOutputCharacterW(
494 hConsoleOutput: HANDLE,493 hConsoleOutput: HANDLE,
...@@ -496,12 +495,12 @@ pub extern "kernel32" fn FillConsoleOutputCharacterW(...@@ -496,12 +495,12 @@ pub extern "kernel32" fn FillConsoleOutputCharacterW(
496 nLength: DWORD,495 nLength: DWORD,
497 dwWriteCoord: COORD,496 dwWriteCoord: COORD,
498 lpNumberOfCharsWritten: *DWORD,497 lpNumberOfCharsWritten: *DWORD,
499) callconv(WINAPI) BOOL;498) callconv(.winapi) BOOL;
500499
501pub extern "kernel32" fn SetConsoleCursorPosition(500pub extern "kernel32" fn SetConsoleCursorPosition(
502 hConsoleOutput: HANDLE,501 hConsoleOutput: HANDLE,
503 dwCursorPosition: COORD,502 dwCursorPosition: COORD,
504) callconv(WINAPI) BOOL;503) callconv(.winapi) BOOL;
505504
506pub extern "kernel32" fn WriteConsoleW(505pub extern "kernel32" fn WriteConsoleW(
507 hConsoleOutput: HANDLE,506 hConsoleOutput: HANDLE,
...@@ -509,7 +508,7 @@ pub extern "kernel32" fn WriteConsoleW(...@@ -509,7 +508,7 @@ pub extern "kernel32" fn WriteConsoleW(
509 nNumberOfCharsToWrite: DWORD,508 nNumberOfCharsToWrite: DWORD,
510 lpNumberOfCharsWritten: ?*DWORD,509 lpNumberOfCharsWritten: ?*DWORD,
511 lpReserved: ?LPVOID,510 lpReserved: ?LPVOID,
512) callconv(WINAPI) BOOL;511) callconv(.winapi) BOOL;
513512
514pub extern "kernel32" fn ReadConsoleOutputCharacterW(513pub extern "kernel32" fn ReadConsoleOutputCharacterW(
515 hConsoleOutput: HANDLE,514 hConsoleOutput: HANDLE,
...@@ -517,7 +516,7 @@ pub extern "kernel32" fn ReadConsoleOutputCharacterW(...@@ -517,7 +516,7 @@ pub extern "kernel32" fn ReadConsoleOutputCharacterW(
517 nLength: DWORD,516 nLength: DWORD,
518 dwReadCoord: COORD,517 dwReadCoord: COORD,
519 lpNumberOfCharsRead: *DWORD,518 lpNumberOfCharsRead: *DWORD,
520) callconv(windows.WINAPI) BOOL;519) callconv(.winapi) BOOL;
521520
522// Memory Mapping/Allocation521// Memory Mapping/Allocation
523522
...@@ -526,12 +525,12 @@ pub extern "kernel32" fn HeapCreate(...@@ -526,12 +525,12 @@ pub extern "kernel32" fn HeapCreate(
526 flOptions: DWORD,525 flOptions: DWORD,
527 dwInitialSize: SIZE_T,526 dwInitialSize: SIZE_T,
528 dwMaximumSize: SIZE_T,527 dwMaximumSize: SIZE_T,
529) callconv(WINAPI) ?HANDLE;528) callconv(.winapi) ?HANDLE;
530529
531// TODO: Wrapper around RtlDestroyHeap (BOOLEAN -> BOOL).530// TODO: Wrapper around RtlDestroyHeap (BOOLEAN -> BOOL).
532pub extern "kernel32" fn HeapDestroy(531pub extern "kernel32" fn HeapDestroy(
533 hHeap: HANDLE,532 hHeap: HANDLE,
534) callconv(WINAPI) BOOL;533) callconv(.winapi) BOOL;
535534
536// TODO: Forwarder to RtlReAllocateHeap.535// TODO: Forwarder to RtlReAllocateHeap.
537pub extern "kernel32" fn HeapReAlloc(536pub extern "kernel32" fn HeapReAlloc(
...@@ -539,28 +538,28 @@ pub extern "kernel32" fn HeapReAlloc(...@@ -539,28 +538,28 @@ pub extern "kernel32" fn HeapReAlloc(
539 dwFlags: DWORD,538 dwFlags: DWORD,
540 lpMem: *anyopaque,539 lpMem: *anyopaque,
541 dwBytes: SIZE_T,540 dwBytes: SIZE_T,
542) callconv(WINAPI) ?*anyopaque;541) callconv(.winapi) ?*anyopaque;
543542
544// TODO: Fowrarder to RtlAllocateHeap.543// TODO: Fowrarder to RtlAllocateHeap.
545pub extern "kernel32" fn HeapAlloc(544pub extern "kernel32" fn HeapAlloc(
546 hHeap: HANDLE,545 hHeap: HANDLE,
547 dwFlags: DWORD,546 dwFlags: DWORD,
548 dwBytes: SIZE_T,547 dwBytes: SIZE_T,
549) callconv(WINAPI) ?*anyopaque;548) callconv(.winapi) ?*anyopaque;
550549
551// TODO: Fowrarder to RtlFreeHeap.550// TODO: Fowrarder to RtlFreeHeap.
552pub extern "kernel32" fn HeapFree(551pub extern "kernel32" fn HeapFree(
553 hHeap: HANDLE,552 hHeap: HANDLE,
554 dwFlags: DWORD,553 dwFlags: DWORD,
555 lpMem: LPVOID,554 lpMem: LPVOID,
556) callconv(WINAPI) BOOL;555) callconv(.winapi) BOOL;
557556
558// TODO: Wrapper around RtlValidateHeap (BOOLEAN -> BOOL)557// TODO: Wrapper around RtlValidateHeap (BOOLEAN -> BOOL)
559pub extern "kernel32" fn HeapValidate(558pub extern "kernel32" fn HeapValidate(
560 hHeap: HANDLE,559 hHeap: HANDLE,
561 dwFlags: DWORD,560 dwFlags: DWORD,
562 lpMem: ?*const anyopaque,561 lpMem: ?*const anyopaque,
563) callconv(WINAPI) BOOL;562) callconv(.winapi) BOOL;
564563
565// TODO: Wrapper around NtAllocateVirtualMemory.564// TODO: Wrapper around NtAllocateVirtualMemory.
566pub extern "kernel32" fn VirtualAlloc(565pub extern "kernel32" fn VirtualAlloc(
...@@ -568,7 +567,7 @@ pub extern "kernel32" fn VirtualAlloc(...@@ -568,7 +567,7 @@ pub extern "kernel32" fn VirtualAlloc(
568 dwSize: SIZE_T,567 dwSize: SIZE_T,
569 flAllocationType: DWORD,568 flAllocationType: DWORD,
570 flProtect: DWORD,569 flProtect: DWORD,
571) callconv(WINAPI) ?LPVOID;570) callconv(.winapi) ?LPVOID;
572571
573// TODO: Wrapper around NtFreeVirtualMemory.572// TODO: Wrapper around NtFreeVirtualMemory.
574// If the return value is .INVALID_PAGE_PROTECTION, calls RtlFlushSecureMemoryCache and try again.573// If the return value is .INVALID_PAGE_PROTECTION, calls RtlFlushSecureMemoryCache and try again.
...@@ -576,21 +575,21 @@ pub extern "kernel32" fn VirtualFree(...@@ -576,21 +575,21 @@ pub extern "kernel32" fn VirtualFree(
576 lpAddress: ?LPVOID,575 lpAddress: ?LPVOID,
577 dwSize: SIZE_T,576 dwSize: SIZE_T,
578 dwFreeType: DWORD,577 dwFreeType: DWORD,
579) callconv(WINAPI) BOOL;578) callconv(.winapi) BOOL;
580579
581// TODO: Wrapper around NtQueryVirtualMemory.580// TODO: Wrapper around NtQueryVirtualMemory.
582pub extern "kernel32" fn VirtualQuery(581pub extern "kernel32" fn VirtualQuery(
583 lpAddress: ?LPVOID,582 lpAddress: ?LPVOID,
584 lpBuffer: PMEMORY_BASIC_INFORMATION,583 lpBuffer: PMEMORY_BASIC_INFORMATION,
585 dwLength: SIZE_T,584 dwLength: SIZE_T,
586) callconv(WINAPI) SIZE_T;585) callconv(.winapi) SIZE_T;
587586
588pub extern "kernel32" fn LocalFree(587pub extern "kernel32" fn LocalFree(
589 hMem: HLOCAL,588 hMem: HLOCAL,
590) callconv(WINAPI) ?HLOCAL;589) callconv(.winapi) ?HLOCAL;
591590
592// TODO: Getter for peb.ProcessHeap591// TODO: Getter for peb.ProcessHeap
593pub extern "kernel32" fn GetProcessHeap() callconv(WINAPI) ?HANDLE;592pub extern "kernel32" fn GetProcessHeap() callconv(.winapi) ?HANDLE;
594593
595// Code Libraries/Modules594// Code Libraries/Modules
596595
...@@ -599,49 +598,49 @@ pub extern "kernel32" fn GetModuleFileNameW(...@@ -599,49 +598,49 @@ pub extern "kernel32" fn GetModuleFileNameW(
599 hModule: ?HMODULE,598 hModule: ?HMODULE,
600 lpFilename: [*]WCHAR,599 lpFilename: [*]WCHAR,
601 nSize: DWORD,600 nSize: DWORD,
602) callconv(WINAPI) DWORD;601) callconv(.winapi) DWORD;
603602
604extern "kernel32" fn K32GetModuleFileNameExW(603extern "kernel32" fn K32GetModuleFileNameExW(
605 hProcess: HANDLE,604 hProcess: HANDLE,
606 hModule: ?HMODULE,605 hModule: ?HMODULE,
607 lpFilename: LPWSTR,606 lpFilename: LPWSTR,
608 nSize: DWORD,607 nSize: DWORD,
609) callconv(WINAPI) DWORD;608) callconv(.winapi) DWORD;
610pub const GetModuleFileNameExW = K32GetModuleFileNameExW;609pub const GetModuleFileNameExW = K32GetModuleFileNameExW;
611610
612// TODO: Wrapper around ntdll.LdrGetDllHandle, which is a wrapper around LdrGetDllHandleEx611// TODO: Wrapper around ntdll.LdrGetDllHandle, which is a wrapper around LdrGetDllHandleEx
613pub extern "kernel32" fn GetModuleHandleW(612pub extern "kernel32" fn GetModuleHandleW(
614 lpModuleName: ?LPCWSTR,613 lpModuleName: ?LPCWSTR,
615) callconv(WINAPI) ?HMODULE;614) callconv(.winapi) ?HMODULE;
616615
617pub extern "kernel32" fn Module32First(616pub extern "kernel32" fn Module32First(
618 hSnapshot: HANDLE,617 hSnapshot: HANDLE,
619 lpme: *MODULEENTRY32,618 lpme: *MODULEENTRY32,
620) callconv(WINAPI) BOOL;619) callconv(.winapi) BOOL;
621620
622pub extern "kernel32" fn Module32Next(621pub extern "kernel32" fn Module32Next(
623 hSnapshot: HANDLE,622 hSnapshot: HANDLE,
624 lpme: *MODULEENTRY32,623 lpme: *MODULEENTRY32,
625) callconv(WINAPI) BOOL;624) callconv(.winapi) BOOL;
626625
627pub extern "kernel32" fn LoadLibraryW(626pub extern "kernel32" fn LoadLibraryW(
628 lpLibFileName: LPCWSTR,627 lpLibFileName: LPCWSTR,
629) callconv(WINAPI) ?HMODULE;628) callconv(.winapi) ?HMODULE;
630629
631pub extern "kernel32" fn LoadLibraryExW(630pub extern "kernel32" fn LoadLibraryExW(
632 lpLibFileName: LPCWSTR,631 lpLibFileName: LPCWSTR,
633 hFile: ?HANDLE,632 hFile: ?HANDLE,
634 dwFlags: DWORD,633 dwFlags: DWORD,
635) callconv(WINAPI) ?HMODULE;634) callconv(.winapi) ?HMODULE;
636635
637pub extern "kernel32" fn GetProcAddress(636pub extern "kernel32" fn GetProcAddress(
638 hModule: HMODULE,637 hModule: HMODULE,
639 lpProcName: LPCSTR,638 lpProcName: LPCSTR,
640) callconv(WINAPI) ?FARPROC;639) callconv(.winapi) ?FARPROC;
641640
642pub extern "kernel32" fn FreeLibrary(641pub extern "kernel32" fn FreeLibrary(
643 hModule: HMODULE,642 hModule: HMODULE,
644) callconv(WINAPI) BOOL;643) callconv(.winapi) BOOL;
645644
646// Error Management645// Error Management
647646
...@@ -653,15 +652,15 @@ pub extern "kernel32" fn FormatMessageW(...@@ -653,15 +652,15 @@ pub extern "kernel32" fn FormatMessageW(
653 lpBuffer: LPWSTR,652 lpBuffer: LPWSTR,
654 nSize: DWORD,653 nSize: DWORD,
655 Arguments: ?*va_list,654 Arguments: ?*va_list,
656) callconv(WINAPI) DWORD;655) callconv(.winapi) DWORD;
657656
658// TODO: Getter for teb().LastErrorValue.657// TODO: Getter for teb().LastErrorValue.
659pub extern "kernel32" fn GetLastError() callconv(WINAPI) Win32Error;658pub extern "kernel32" fn GetLastError() callconv(.winapi) Win32Error;
660659
661// TODO: Wrapper around RtlSetLastWin32Error.660// TODO: Wrapper around RtlSetLastWin32Error.
662pub extern "kernel32" fn SetLastError(661pub extern "kernel32" fn SetLastError(
663 dwErrCode: Win32Error,662 dwErrCode: Win32Error,
664) callconv(WINAPI) void;663) callconv(.winapi) void;
665664
666// Everything Else665// Everything Else
667666
...@@ -670,4 +669,4 @@ pub extern "kernel32" fn SetLastError(...@@ -670,4 +669,4 @@ pub extern "kernel32" fn SetLastError(
670// Much better to use NtQuerySystemTime or NtQuerySystemTimePrecise for guaranteed 0.1ns precision.669// Much better to use NtQuerySystemTime or NtQuerySystemTimePrecise for guaranteed 0.1ns precision.
671pub extern "kernel32" fn GetSystemTimeAsFileTime(670pub extern "kernel32" fn GetSystemTimeAsFileTime(
672 lpSystemTimeAsFileTime: *FILETIME,671 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;...@@ -5,7 +5,6 @@ const BOOL = windows.BOOL;
5const DWORD = windows.DWORD;5const DWORD = windows.DWORD;
6const DWORD64 = windows.DWORD64;6const DWORD64 = windows.DWORD64;
7const ULONG = windows.ULONG;7const ULONG = windows.ULONG;
8const WINAPI = windows.WINAPI;
9const NTSTATUS = windows.NTSTATUS;8const NTSTATUS = windows.NTSTATUS;
10const WORD = windows.WORD;9const WORD = windows.WORD;
11const HANDLE = windows.HANDLE;10const HANDLE = windows.HANDLE;
...@@ -44,7 +43,7 @@ pub extern "ntdll" fn NtQueryInformationProcess(...@@ -44,7 +43,7 @@ pub extern "ntdll" fn NtQueryInformationProcess(
44 ProcessInformation: *anyopaque,43 ProcessInformation: *anyopaque,
45 ProcessInformationLength: ULONG,44 ProcessInformationLength: ULONG,
46 ReturnLength: ?*ULONG,45 ReturnLength: ?*ULONG,
47) callconv(WINAPI) NTSTATUS;46) callconv(.winapi) NTSTATUS;
4847
49pub extern "ntdll" fn NtQueryInformationThread(48pub extern "ntdll" fn NtQueryInformationThread(
50 ThreadHandle: HANDLE,49 ThreadHandle: HANDLE,
...@@ -52,37 +51,37 @@ pub extern "ntdll" fn NtQueryInformationThread(...@@ -52,37 +51,37 @@ pub extern "ntdll" fn NtQueryInformationThread(
52 ThreadInformation: *anyopaque,51 ThreadInformation: *anyopaque,
53 ThreadInformationLength: ULONG,52 ThreadInformationLength: ULONG,
54 ReturnLength: ?*ULONG,53 ReturnLength: ?*ULONG,
55) callconv(WINAPI) NTSTATUS;54) callconv(.winapi) NTSTATUS;
5655
57pub extern "ntdll" fn NtQuerySystemInformation(56pub extern "ntdll" fn NtQuerySystemInformation(
58 SystemInformationClass: SYSTEM_INFORMATION_CLASS,57 SystemInformationClass: SYSTEM_INFORMATION_CLASS,
59 SystemInformation: PVOID,58 SystemInformation: PVOID,
60 SystemInformationLength: ULONG,59 SystemInformationLength: ULONG,
61 ReturnLength: ?*ULONG,60 ReturnLength: ?*ULONG,
62) callconv(WINAPI) NTSTATUS;61) callconv(.winapi) NTSTATUS;
6362
64pub extern "ntdll" fn NtSetInformationThread(63pub extern "ntdll" fn NtSetInformationThread(
65 ThreadHandle: HANDLE,64 ThreadHandle: HANDLE,
66 ThreadInformationClass: THREADINFOCLASS,65 ThreadInformationClass: THREADINFOCLASS,
67 ThreadInformation: *const anyopaque,66 ThreadInformation: *const anyopaque,
68 ThreadInformationLength: ULONG,67 ThreadInformationLength: ULONG,
69) callconv(WINAPI) NTSTATUS;68) callconv(.winapi) NTSTATUS;
7069
71pub extern "ntdll" fn RtlGetVersion(70pub extern "ntdll" fn RtlGetVersion(
72 lpVersionInformation: *RTL_OSVERSIONINFOW,71 lpVersionInformation: *RTL_OSVERSIONINFOW,
73) callconv(WINAPI) NTSTATUS;72) callconv(.winapi) NTSTATUS;
74pub extern "ntdll" fn RtlCaptureStackBackTrace(73pub extern "ntdll" fn RtlCaptureStackBackTrace(
75 FramesToSkip: DWORD,74 FramesToSkip: DWORD,
76 FramesToCapture: DWORD,75 FramesToCapture: DWORD,
77 BackTrace: **anyopaque,76 BackTrace: **anyopaque,
78 BackTraceHash: ?*DWORD,77 BackTraceHash: ?*DWORD,
79) callconv(WINAPI) WORD;78) callconv(.winapi) WORD;
80pub extern "ntdll" fn RtlCaptureContext(ContextRecord: *CONTEXT) callconv(WINAPI) void;79pub extern "ntdll" fn RtlCaptureContext(ContextRecord: *CONTEXT) callconv(.winapi) void;
81pub extern "ntdll" fn RtlLookupFunctionEntry(80pub extern "ntdll" fn RtlLookupFunctionEntry(
82 ControlPc: DWORD64,81 ControlPc: DWORD64,
83 ImageBase: *DWORD64,82 ImageBase: *DWORD64,
84 HistoryTable: *UNWIND_HISTORY_TABLE,83 HistoryTable: *UNWIND_HISTORY_TABLE,
85) callconv(WINAPI) ?*RUNTIME_FUNCTION;84) callconv(.winapi) ?*RUNTIME_FUNCTION;
86pub extern "ntdll" fn RtlVirtualUnwind(85pub extern "ntdll" fn RtlVirtualUnwind(
87 HandlerType: DWORD,86 HandlerType: DWORD,
88 ImageBase: DWORD64,87 ImageBase: DWORD64,
...@@ -92,33 +91,33 @@ pub extern "ntdll" fn RtlVirtualUnwind(...@@ -92,33 +91,33 @@ pub extern "ntdll" fn RtlVirtualUnwind(
92 HandlerData: *?PVOID,91 HandlerData: *?PVOID,
93 EstablisherFrame: *DWORD64,92 EstablisherFrame: *DWORD64,
94 ContextPointers: ?*KNONVOLATILE_CONTEXT_POINTERS,93 ContextPointers: ?*KNONVOLATILE_CONTEXT_POINTERS,
95) callconv(WINAPI) *EXCEPTION_ROUTINE;94) callconv(.winapi) *EXCEPTION_ROUTINE;
96pub extern "ntdll" fn NtQueryInformationFile(95pub extern "ntdll" fn NtQueryInformationFile(
97 FileHandle: HANDLE,96 FileHandle: HANDLE,
98 IoStatusBlock: *IO_STATUS_BLOCK,97 IoStatusBlock: *IO_STATUS_BLOCK,
99 FileInformation: *anyopaque,98 FileInformation: *anyopaque,
100 Length: ULONG,99 Length: ULONG,
101 FileInformationClass: FILE_INFORMATION_CLASS,100 FileInformationClass: FILE_INFORMATION_CLASS,
102) callconv(WINAPI) NTSTATUS;101) callconv(.winapi) NTSTATUS;
103pub extern "ntdll" fn NtSetInformationFile(102pub extern "ntdll" fn NtSetInformationFile(
104 FileHandle: HANDLE,103 FileHandle: HANDLE,
105 IoStatusBlock: *IO_STATUS_BLOCK,104 IoStatusBlock: *IO_STATUS_BLOCK,
106 FileInformation: PVOID,105 FileInformation: PVOID,
107 Length: ULONG,106 Length: ULONG,
108 FileInformationClass: FILE_INFORMATION_CLASS,107 FileInformationClass: FILE_INFORMATION_CLASS,
109) callconv(WINAPI) NTSTATUS;108) callconv(.winapi) NTSTATUS;
110109
111pub extern "ntdll" fn NtQueryAttributesFile(110pub extern "ntdll" fn NtQueryAttributesFile(
112 ObjectAttributes: *OBJECT_ATTRIBUTES,111 ObjectAttributes: *OBJECT_ATTRIBUTES,
113 FileAttributes: *FILE_BASIC_INFORMATION,112 FileAttributes: *FILE_BASIC_INFORMATION,
114) callconv(WINAPI) NTSTATUS;113) callconv(.winapi) NTSTATUS;
115114
116pub extern "ntdll" fn RtlQueryPerformanceCounter(PerformanceCounter: *LARGE_INTEGER) callconv(WINAPI) BOOL;115pub extern "ntdll" fn RtlQueryPerformanceCounter(PerformanceCounter: *LARGE_INTEGER) callconv(.winapi) BOOL;
117pub extern "ntdll" fn RtlQueryPerformanceFrequency(PerformanceFrequency: *LARGE_INTEGER) callconv(WINAPI) BOOL;116pub extern "ntdll" fn RtlQueryPerformanceFrequency(PerformanceFrequency: *LARGE_INTEGER) callconv(.winapi) BOOL;
118pub extern "ntdll" fn NtQueryPerformanceCounter(117pub extern "ntdll" fn NtQueryPerformanceCounter(
119 PerformanceCounter: *LARGE_INTEGER,118 PerformanceCounter: *LARGE_INTEGER,
120 PerformanceFrequency: ?*LARGE_INTEGER,119 PerformanceFrequency: ?*LARGE_INTEGER,
121) callconv(WINAPI) NTSTATUS;120) callconv(.winapi) NTSTATUS;
122121
123pub extern "ntdll" fn NtCreateFile(122pub extern "ntdll" fn NtCreateFile(
124 FileHandle: *HANDLE,123 FileHandle: *HANDLE,
...@@ -132,7 +131,7 @@ pub extern "ntdll" fn NtCreateFile(...@@ -132,7 +131,7 @@ pub extern "ntdll" fn NtCreateFile(
132 CreateOptions: ULONG,131 CreateOptions: ULONG,
133 EaBuffer: ?*anyopaque,132 EaBuffer: ?*anyopaque,
134 EaLength: ULONG,133 EaLength: ULONG,
135) callconv(WINAPI) NTSTATUS;134) callconv(.winapi) NTSTATUS;
136pub extern "ntdll" fn NtCreateSection(135pub extern "ntdll" fn NtCreateSection(
137 SectionHandle: *HANDLE,136 SectionHandle: *HANDLE,
138 DesiredAccess: ACCESS_MASK,137 DesiredAccess: ACCESS_MASK,
...@@ -141,7 +140,7 @@ pub extern "ntdll" fn NtCreateSection(...@@ -141,7 +140,7 @@ pub extern "ntdll" fn NtCreateSection(
141 SectionPageProtection: ULONG,140 SectionPageProtection: ULONG,
142 AllocationAttributes: ULONG,141 AllocationAttributes: ULONG,
143 FileHandle: ?HANDLE,142 FileHandle: ?HANDLE,
144) callconv(WINAPI) NTSTATUS;143) callconv(.winapi) NTSTATUS;
145pub extern "ntdll" fn NtMapViewOfSection(144pub extern "ntdll" fn NtMapViewOfSection(
146 SectionHandle: HANDLE,145 SectionHandle: HANDLE,
147 ProcessHandle: HANDLE,146 ProcessHandle: HANDLE,
...@@ -153,11 +152,11 @@ pub extern "ntdll" fn NtMapViewOfSection(...@@ -153,11 +152,11 @@ pub extern "ntdll" fn NtMapViewOfSection(
153 InheritDispostion: SECTION_INHERIT,152 InheritDispostion: SECTION_INHERIT,
154 AllocationType: ULONG,153 AllocationType: ULONG,
155 Win32Protect: ULONG,154 Win32Protect: ULONG,
156) callconv(WINAPI) NTSTATUS;155) callconv(.winapi) NTSTATUS;
157pub extern "ntdll" fn NtUnmapViewOfSection(156pub extern "ntdll" fn NtUnmapViewOfSection(
158 ProcessHandle: HANDLE,157 ProcessHandle: HANDLE,
159 BaseAddress: PVOID,158 BaseAddress: PVOID,
160) callconv(WINAPI) NTSTATUS;159) callconv(.winapi) NTSTATUS;
161pub extern "ntdll" fn NtDeviceIoControlFile(160pub extern "ntdll" fn NtDeviceIoControlFile(
162 FileHandle: HANDLE,161 FileHandle: HANDLE,
163 Event: ?HANDLE,162 Event: ?HANDLE,
...@@ -169,7 +168,7 @@ pub extern "ntdll" fn NtDeviceIoControlFile(...@@ -169,7 +168,7 @@ pub extern "ntdll" fn NtDeviceIoControlFile(
169 InputBufferLength: ULONG,168 InputBufferLength: ULONG,
170 OutputBuffer: ?PVOID,169 OutputBuffer: ?PVOID,
171 OutputBufferLength: ULONG,170 OutputBufferLength: ULONG,
172) callconv(WINAPI) NTSTATUS;171) callconv(.winapi) NTSTATUS;
173pub extern "ntdll" fn NtFsControlFile(172pub extern "ntdll" fn NtFsControlFile(
174 FileHandle: HANDLE,173 FileHandle: HANDLE,
175 Event: ?HANDLE,174 Event: ?HANDLE,
...@@ -181,15 +180,15 @@ pub extern "ntdll" fn NtFsControlFile(...@@ -181,15 +180,15 @@ pub extern "ntdll" fn NtFsControlFile(
181 InputBufferLength: ULONG,180 InputBufferLength: ULONG,
182 OutputBuffer: ?PVOID,181 OutputBuffer: ?PVOID,
183 OutputBufferLength: ULONG,182 OutputBufferLength: ULONG,
184) callconv(WINAPI) NTSTATUS;183) callconv(.winapi) NTSTATUS;
185pub extern "ntdll" fn NtClose(Handle: HANDLE) callconv(WINAPI) NTSTATUS;184pub extern "ntdll" fn NtClose(Handle: HANDLE) callconv(.winapi) NTSTATUS;
186pub extern "ntdll" fn RtlDosPathNameToNtPathName_U(185pub extern "ntdll" fn RtlDosPathNameToNtPathName_U(
187 DosPathName: [*:0]const u16,186 DosPathName: [*:0]const u16,
188 NtPathName: *UNICODE_STRING,187 NtPathName: *UNICODE_STRING,
189 NtFileNamePart: ?*?[*:0]const u16,188 NtFileNamePart: ?*?[*:0]const u16,
190 DirectoryInfo: ?*CURDIR,189 DirectoryInfo: ?*CURDIR,
191) callconv(WINAPI) BOOL;190) callconv(.winapi) BOOL;
192pub extern "ntdll" fn RtlFreeUnicodeString(UnicodeString: *UNICODE_STRING) callconv(WINAPI) void;191pub extern "ntdll" fn RtlFreeUnicodeString(UnicodeString: *UNICODE_STRING) callconv(.winapi) void;
193192
194/// Returns the number of bytes written to `Buffer`.193/// Returns the number of bytes written to `Buffer`.
195/// If the returned count is larger than `BufferByteLength`, the buffer was too small.194/// If the returned count is larger than `BufferByteLength`, the buffer was too small.
...@@ -199,7 +198,7 @@ pub extern "ntdll" fn RtlGetFullPathName_U(...@@ -199,7 +198,7 @@ pub extern "ntdll" fn RtlGetFullPathName_U(
199 BufferByteLength: ULONG,198 BufferByteLength: ULONG,
200 Buffer: [*]u16,199 Buffer: [*]u16,
201 ShortName: ?*[*:0]const u16,200 ShortName: ?*[*:0]const u16,
202) callconv(windows.WINAPI) windows.ULONG;201) callconv(.winapi) windows.ULONG;
203202
204pub extern "ntdll" fn NtQueryDirectoryFile(203pub extern "ntdll" fn NtQueryDirectoryFile(
205 FileHandle: HANDLE,204 FileHandle: HANDLE,
...@@ -213,30 +212,30 @@ pub extern "ntdll" fn NtQueryDirectoryFile(...@@ -213,30 +212,30 @@ pub extern "ntdll" fn NtQueryDirectoryFile(
213 ReturnSingleEntry: BOOLEAN,212 ReturnSingleEntry: BOOLEAN,
214 FileName: ?*UNICODE_STRING,213 FileName: ?*UNICODE_STRING,
215 RestartScan: BOOLEAN,214 RestartScan: BOOLEAN,
216) callconv(WINAPI) NTSTATUS;215) callconv(.winapi) NTSTATUS;
217216
218pub extern "ntdll" fn NtCreateKeyedEvent(217pub extern "ntdll" fn NtCreateKeyedEvent(
219 KeyedEventHandle: *HANDLE,218 KeyedEventHandle: *HANDLE,
220 DesiredAccess: ACCESS_MASK,219 DesiredAccess: ACCESS_MASK,
221 ObjectAttributes: ?PVOID,220 ObjectAttributes: ?PVOID,
222 Flags: ULONG,221 Flags: ULONG,
223) callconv(WINAPI) NTSTATUS;222) callconv(.winapi) NTSTATUS;
224223
225pub extern "ntdll" fn NtReleaseKeyedEvent(224pub extern "ntdll" fn NtReleaseKeyedEvent(
226 EventHandle: ?HANDLE,225 EventHandle: ?HANDLE,
227 Key: ?*const anyopaque,226 Key: ?*const anyopaque,
228 Alertable: BOOLEAN,227 Alertable: BOOLEAN,
229 Timeout: ?*const LARGE_INTEGER,228 Timeout: ?*const LARGE_INTEGER,
230) callconv(WINAPI) NTSTATUS;229) callconv(.winapi) NTSTATUS;
231230
232pub extern "ntdll" fn NtWaitForKeyedEvent(231pub extern "ntdll" fn NtWaitForKeyedEvent(
233 EventHandle: ?HANDLE,232 EventHandle: ?HANDLE,
234 Key: ?*const anyopaque,233 Key: ?*const anyopaque,
235 Alertable: BOOLEAN,234 Alertable: BOOLEAN,
236 Timeout: ?*const LARGE_INTEGER,235 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
241pub extern "ntdll" fn NtQueryObject(240pub extern "ntdll" fn NtQueryObject(
242 Handle: HANDLE,241 Handle: HANDLE,
...@@ -244,7 +243,7 @@ pub extern "ntdll" fn NtQueryObject(...@@ -244,7 +243,7 @@ pub extern "ntdll" fn NtQueryObject(
244 ObjectInformation: PVOID,243 ObjectInformation: PVOID,
245 ObjectInformationLength: ULONG,244 ObjectInformationLength: ULONG,
246 ReturnLength: ?*ULONG,245 ReturnLength: ?*ULONG,
247) callconv(WINAPI) NTSTATUS;246) callconv(.winapi) NTSTATUS;
248247
249pub extern "ntdll" fn NtQueryVolumeInformationFile(248pub extern "ntdll" fn NtQueryVolumeInformationFile(
250 FileHandle: HANDLE,249 FileHandle: HANDLE,
...@@ -252,32 +251,32 @@ pub extern "ntdll" fn NtQueryVolumeInformationFile(...@@ -252,32 +251,32 @@ pub extern "ntdll" fn NtQueryVolumeInformationFile(
252 FsInformation: *anyopaque,251 FsInformation: *anyopaque,
253 Length: ULONG,252 Length: ULONG,
254 FsInformationClass: FS_INFORMATION_CLASS,253 FsInformationClass: FS_INFORMATION_CLASS,
255) callconv(WINAPI) NTSTATUS;254) callconv(.winapi) NTSTATUS;
256255
257pub extern "ntdll" fn RtlWakeAddressAll(256pub extern "ntdll" fn RtlWakeAddressAll(
258 Address: ?*const anyopaque,257 Address: ?*const anyopaque,
259) callconv(WINAPI) void;258) callconv(.winapi) void;
260259
261pub extern "ntdll" fn RtlWakeAddressSingle(260pub extern "ntdll" fn RtlWakeAddressSingle(
262 Address: ?*const anyopaque,261 Address: ?*const anyopaque,
263) callconv(WINAPI) void;262) callconv(.winapi) void;
264263
265pub extern "ntdll" fn RtlWaitOnAddress(264pub extern "ntdll" fn RtlWaitOnAddress(
266 Address: ?*const anyopaque,265 Address: ?*const anyopaque,
267 CompareAddress: ?*const anyopaque,266 CompareAddress: ?*const anyopaque,
268 AddressSize: SIZE_T,267 AddressSize: SIZE_T,
269 Timeout: ?*const LARGE_INTEGER,268 Timeout: ?*const LARGE_INTEGER,
270) callconv(WINAPI) NTSTATUS;269) callconv(.winapi) NTSTATUS;
271270
272pub extern "ntdll" fn RtlEqualUnicodeString(271pub extern "ntdll" fn RtlEqualUnicodeString(
273 String1: *const UNICODE_STRING,272 String1: *const UNICODE_STRING,
274 String2: *const UNICODE_STRING,273 String2: *const UNICODE_STRING,
275 CaseInSensitive: BOOLEAN,274 CaseInSensitive: BOOLEAN,
276) callconv(WINAPI) BOOLEAN;275) callconv(.winapi) BOOLEAN;
277276
278pub extern "ntdll" fn RtlUpcaseUnicodeChar(277pub extern "ntdll" fn RtlUpcaseUnicodeChar(
279 SourceCharacter: u16,278 SourceCharacter: u16,
280) callconv(WINAPI) u16;279) callconv(.winapi) u16;
281280
282pub extern "ntdll" fn NtLockFile(281pub extern "ntdll" fn NtLockFile(
283 FileHandle: HANDLE,282 FileHandle: HANDLE,
...@@ -290,7 +289,7 @@ pub extern "ntdll" fn NtLockFile(...@@ -290,7 +289,7 @@ pub extern "ntdll" fn NtLockFile(
290 Key: ?*ULONG,289 Key: ?*ULONG,
291 FailImmediately: BOOLEAN,290 FailImmediately: BOOLEAN,
292 ExclusiveLock: BOOLEAN,291 ExclusiveLock: BOOLEAN,
293) callconv(WINAPI) NTSTATUS;292) callconv(.winapi) NTSTATUS;
294293
295pub extern "ntdll" fn NtUnlockFile(294pub extern "ntdll" fn NtUnlockFile(
296 FileHandle: HANDLE,295 FileHandle: HANDLE,
...@@ -298,13 +297,13 @@ pub extern "ntdll" fn NtUnlockFile(...@@ -298,13 +297,13 @@ pub extern "ntdll" fn NtUnlockFile(
298 ByteOffset: *const LARGE_INTEGER,297 ByteOffset: *const LARGE_INTEGER,
299 Length: *const LARGE_INTEGER,298 Length: *const LARGE_INTEGER,
300 Key: ?*ULONG,299 Key: ?*ULONG,
301) callconv(WINAPI) NTSTATUS;300) callconv(.winapi) NTSTATUS;
302301
303pub extern "ntdll" fn NtOpenKey(302pub extern "ntdll" fn NtOpenKey(
304 KeyHandle: *HANDLE,303 KeyHandle: *HANDLE,
305 DesiredAccess: ACCESS_MASK,304 DesiredAccess: ACCESS_MASK,
306 ObjectAttributes: OBJECT_ATTRIBUTES,305 ObjectAttributes: OBJECT_ATTRIBUTES,
307) callconv(WINAPI) NTSTATUS;306) callconv(.winapi) NTSTATUS;
308307
309pub extern "ntdll" fn RtlQueryRegistryValues(308pub extern "ntdll" fn RtlQueryRegistryValues(
310 RelativeTo: ULONG,309 RelativeTo: ULONG,
...@@ -312,7 +311,7 @@ pub extern "ntdll" fn RtlQueryRegistryValues(...@@ -312,7 +311,7 @@ pub extern "ntdll" fn RtlQueryRegistryValues(
312 QueryTable: [*]RTL_QUERY_REGISTRY_TABLE,311 QueryTable: [*]RTL_QUERY_REGISTRY_TABLE,
313 Context: ?*anyopaque,312 Context: ?*anyopaque,
314 Environment: ?*anyopaque,313 Environment: ?*anyopaque,
315) callconv(WINAPI) NTSTATUS;314) callconv(.winapi) NTSTATUS;
316315
317pub extern "ntdll" fn NtReadVirtualMemory(316pub extern "ntdll" fn NtReadVirtualMemory(
318 ProcessHandle: HANDLE,317 ProcessHandle: HANDLE,
...@@ -320,7 +319,7 @@ pub extern "ntdll" fn NtReadVirtualMemory(...@@ -320,7 +319,7 @@ pub extern "ntdll" fn NtReadVirtualMemory(
320 Buffer: LPVOID,319 Buffer: LPVOID,
321 NumberOfBytesToRead: SIZE_T,320 NumberOfBytesToRead: SIZE_T,
322 NumberOfBytesRead: ?*SIZE_T,321 NumberOfBytesRead: ?*SIZE_T,
323) callconv(WINAPI) NTSTATUS;322) callconv(.winapi) NTSTATUS;
324323
325pub extern "ntdll" fn NtWriteVirtualMemory(324pub extern "ntdll" fn NtWriteVirtualMemory(
326 ProcessHandle: HANDLE,325 ProcessHandle: HANDLE,
...@@ -328,7 +327,7 @@ pub extern "ntdll" fn NtWriteVirtualMemory(...@@ -328,7 +327,7 @@ pub extern "ntdll" fn NtWriteVirtualMemory(
328 Buffer: LPCVOID,327 Buffer: LPCVOID,
329 NumberOfBytesToWrite: SIZE_T,328 NumberOfBytesToWrite: SIZE_T,
330 NumberOfBytesWritten: ?*SIZE_T,329 NumberOfBytesWritten: ?*SIZE_T,
331) callconv(WINAPI) NTSTATUS;330) callconv(.winapi) NTSTATUS;
332331
333pub extern "ntdll" fn NtProtectVirtualMemory(332pub extern "ntdll" fn NtProtectVirtualMemory(
334 ProcessHandle: HANDLE,333 ProcessHandle: HANDLE,
...@@ -336,11 +335,11 @@ pub extern "ntdll" fn NtProtectVirtualMemory(...@@ -336,11 +335,11 @@ pub extern "ntdll" fn NtProtectVirtualMemory(
336 NumberOfBytesToProtect: *SIZE_T,335 NumberOfBytesToProtect: *SIZE_T,
337 NewAccessProtection: ULONG,336 NewAccessProtection: ULONG,
338 OldAccessProtection: *ULONG,337 OldAccessProtection: *ULONG,
339) callconv(WINAPI) NTSTATUS;338) callconv(.winapi) NTSTATUS;
340339
341pub extern "ntdll" fn RtlExitUserProcess(340pub extern "ntdll" fn RtlExitUserProcess(
342 ExitStatus: u32,341 ExitStatus: u32,
343) callconv(WINAPI) noreturn;342) callconv(.winapi) noreturn;
344343
345pub extern "ntdll" fn NtCreateNamedPipeFile(344pub extern "ntdll" fn NtCreateNamedPipeFile(
346 FileHandle: *HANDLE,345 FileHandle: *HANDLE,
...@@ -357,4 +356,4 @@ pub extern "ntdll" fn NtCreateNamedPipeFile(...@@ -357,4 +356,4 @@ pub extern "ntdll" fn NtCreateNamedPipeFile(
357 InboundQuota: ULONG,356 InboundQuota: ULONG,
358 OutboundQuota: ULONG,357 OutboundQuota: ULONG,
359 DefaultTimeout: *LARGE_INTEGER,358 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" {...@@ -250,7 +250,7 @@ test "loadWinsockExtensionFunction" {
250 SendBufLen: windows.DWORD,250 SendBufLen: windows.DWORD,
251 BytesSent: *windows.DWORD,251 BytesSent: *windows.DWORD,
252 Overlapped: *windows.OVERLAPPED,252 Overlapped: *windows.OVERLAPPED,
253 ) callconv(windows.WINAPI) windows.BOOL;253 ) callconv(.winapi) windows.BOOL;
254254
255 _ = windows.loadWinsockExtensionFunction(255 _ = windows.loadWinsockExtensionFunction(
256 LPFN_CONNECTEX,256 LPFN_CONNECTEX,
lib/std/os/windows/ws2_32.zig+106-107
...@@ -2,7 +2,6 @@ const std = @import("../../std.zig");...@@ -2,7 +2,6 @@ const std = @import("../../std.zig");
2const assert = std.debug.assert;2const assert = std.debug.assert;
3const windows = std.os.windows;3const windows = std.os.windows;
44
5const WINAPI = windows.WINAPI;
6const OVERLAPPED = windows.OVERLAPPED;5const OVERLAPPED = windows.OVERLAPPED;
7const WORD = windows.WORD;6const WORD = windows.WORD;
8const DWORD = windows.DWORD;7const DWORD = windows.DWORD;
...@@ -958,14 +957,14 @@ pub const LPCONDITIONPROC = *const fn (...@@ -958,14 +957,14 @@ pub const LPCONDITIONPROC = *const fn (
958 lpCalleeData: *WSABUF,957 lpCalleeData: *WSABUF,
959 g: *u32,958 g: *u32,
960 dwCallbackData: usize,959 dwCallbackData: usize,
961) callconv(WINAPI) i32;960) callconv(.winapi) i32;
962961
963pub const LPWSAOVERLAPPED_COMPLETION_ROUTINE = *const fn (962pub const LPWSAOVERLAPPED_COMPLETION_ROUTINE = *const fn (
964 dwError: u32,963 dwError: u32,
965 cbTransferred: u32,964 cbTransferred: u32,
966 lpOverlapped: *OVERLAPPED,965 lpOverlapped: *OVERLAPPED,
967 dwFlags: u32,966 dwFlags: u32,
968) callconv(WINAPI) void;967) callconv(.winapi) void;
969968
970pub const FLOWSPEC = extern struct {969pub const FLOWSPEC = extern struct {
971 TokenRate: u32,970 TokenRate: u32,
...@@ -1196,7 +1195,7 @@ pub const LPFN_TRANSMITFILE = *const fn (...@@ -1196,7 +1195,7 @@ pub const LPFN_TRANSMITFILE = *const fn (
1196 lpOverlapped: ?*OVERLAPPED,1195 lpOverlapped: ?*OVERLAPPED,
1197 lpTransmitBuffers: ?*TRANSMIT_FILE_BUFFERS,1196 lpTransmitBuffers: ?*TRANSMIT_FILE_BUFFERS,
1198 dwReserved: u32,1197 dwReserved: u32,
1199) callconv(WINAPI) BOOL;1198) callconv(.winapi) BOOL;
12001199
1201pub const LPFN_ACCEPTEX = *const fn (1200pub const LPFN_ACCEPTEX = *const fn (
1202 sListenSocket: SOCKET,1201 sListenSocket: SOCKET,
...@@ -1207,7 +1206,7 @@ pub const LPFN_ACCEPTEX = *const fn (...@@ -1207,7 +1206,7 @@ pub const LPFN_ACCEPTEX = *const fn (
1207 dwRemoteAddressLength: u32,1206 dwRemoteAddressLength: u32,
1208 lpdwBytesReceived: *u32,1207 lpdwBytesReceived: *u32,
1209 lpOverlapped: *OVERLAPPED,1208 lpOverlapped: *OVERLAPPED,
1210) callconv(WINAPI) BOOL;1209) callconv(.winapi) BOOL;
12111210
1212pub const LPFN_GETACCEPTEXSOCKADDRS = *const fn (1211pub const LPFN_GETACCEPTEXSOCKADDRS = *const fn (
1213 lpOutputBuffer: *anyopaque,1212 lpOutputBuffer: *anyopaque,
...@@ -1218,7 +1217,7 @@ pub const LPFN_GETACCEPTEXSOCKADDRS = *const fn (...@@ -1218,7 +1217,7 @@ pub const LPFN_GETACCEPTEXSOCKADDRS = *const fn (
1218 LocalSockaddrLength: *i32,1217 LocalSockaddrLength: *i32,
1219 RemoteSockaddr: **sockaddr,1218 RemoteSockaddr: **sockaddr,
1220 RemoteSockaddrLength: *i32,1219 RemoteSockaddrLength: *i32,
1221) callconv(WINAPI) void;1220) callconv(.winapi) void;
12221221
1223pub const LPFN_WSASENDMSG = *const fn (1222pub const LPFN_WSASENDMSG = *const fn (
1224 s: SOCKET,1223 s: SOCKET,
...@@ -1227,7 +1226,7 @@ pub const LPFN_WSASENDMSG = *const fn (...@@ -1227,7 +1226,7 @@ pub const LPFN_WSASENDMSG = *const fn (
1227 lpNumberOfBytesSent: ?*u32,1226 lpNumberOfBytesSent: ?*u32,
1228 lpOverlapped: ?*OVERLAPPED,1227 lpOverlapped: ?*OVERLAPPED,
1229 lpCompletionRoutine: ?LPWSAOVERLAPPED_COMPLETION_ROUTINE,1228 lpCompletionRoutine: ?LPWSAOVERLAPPED_COMPLETION_ROUTINE,
1230) callconv(WINAPI) i32;1229) callconv(.winapi) i32;
12311230
1232pub const LPFN_WSARECVMSG = *const fn (1231pub const LPFN_WSARECVMSG = *const fn (
1233 s: SOCKET,1232 s: SOCKET,
...@@ -1235,12 +1234,12 @@ pub const LPFN_WSARECVMSG = *const fn (...@@ -1235,12 +1234,12 @@ pub const LPFN_WSARECVMSG = *const fn (
1235 lpdwNumberOfBytesRecv: ?*u32,1234 lpdwNumberOfBytesRecv: ?*u32,
1236 lpOverlapped: ?*OVERLAPPED,1235 lpOverlapped: ?*OVERLAPPED,
1237 lpCompletionRoutine: ?LPWSAOVERLAPPED_COMPLETION_ROUTINE,1236 lpCompletionRoutine: ?LPWSAOVERLAPPED_COMPLETION_ROUTINE,
1238) callconv(WINAPI) i32;1237) callconv(.winapi) i32;
12391238
1240pub const LPSERVICE_CALLBACK_PROC = *const fn (1239pub const LPSERVICE_CALLBACK_PROC = *const fn (
1241 lParam: LPARAM,1240 lParam: LPARAM,
1242 hAsyncTaskHandle: HANDLE,1241 hAsyncTaskHandle: HANDLE,
1243) callconv(WINAPI) void;1242) callconv(.winapi) void;
12441243
1245pub const SERVICE_ASYNC_INFO = extern struct {1244pub const SERVICE_ASYNC_INFO = extern struct {
1246 lpServiceCallbackProc: LPSERVICE_CALLBACK_PROC,1245 lpServiceCallbackProc: LPSERVICE_CALLBACK_PROC,
...@@ -1252,7 +1251,7 @@ pub const LPLOOKUPSERVICE_COMPLETION_ROUTINE = *const fn (...@@ -1252,7 +1251,7 @@ pub const LPLOOKUPSERVICE_COMPLETION_ROUTINE = *const fn (
1252 dwError: u32,1251 dwError: u32,
1253 dwBytes: u32,1252 dwBytes: u32,
1254 lpOverlapped: *OVERLAPPED,1253 lpOverlapped: *OVERLAPPED,
1255) callconv(WINAPI) void;1254) callconv(.winapi) void;
12561255
1257pub const fd_set = extern struct {1256pub const fd_set = extern struct {
1258 fd_count: u32,1257 fd_count: u32,
...@@ -1725,41 +1724,41 @@ pub extern "ws2_32" fn accept(...@@ -1725,41 +1724,41 @@ pub extern "ws2_32" fn accept(
1725 s: SOCKET,1724 s: SOCKET,
1726 addr: ?*sockaddr,1725 addr: ?*sockaddr,
1727 addrlen: ?*i32,1726 addrlen: ?*i32,
1728) callconv(WINAPI) SOCKET;1727) callconv(.winapi) SOCKET;
17291728
1730pub extern "ws2_32" fn bind(1729pub extern "ws2_32" fn bind(
1731 s: SOCKET,1730 s: SOCKET,
1732 name: *const sockaddr,1731 name: *const sockaddr,
1733 namelen: i32,1732 namelen: i32,
1734) callconv(WINAPI) i32;1733) callconv(.winapi) i32;
17351734
1736pub extern "ws2_32" fn closesocket(1735pub extern "ws2_32" fn closesocket(
1737 s: SOCKET,1736 s: SOCKET,
1738) callconv(WINAPI) i32;1737) callconv(.winapi) i32;
17391738
1740pub extern "ws2_32" fn connect(1739pub extern "ws2_32" fn connect(
1741 s: SOCKET,1740 s: SOCKET,
1742 name: *const sockaddr,1741 name: *const sockaddr,
1743 namelen: i32,1742 namelen: i32,
1744) callconv(WINAPI) i32;1743) callconv(.winapi) i32;
17451744
1746pub extern "ws2_32" fn ioctlsocket(1745pub extern "ws2_32" fn ioctlsocket(
1747 s: SOCKET,1746 s: SOCKET,
1748 cmd: i32,1747 cmd: i32,
1749 argp: *u32,1748 argp: *u32,
1750) callconv(WINAPI) i32;1749) callconv(.winapi) i32;
17511750
1752pub extern "ws2_32" fn getpeername(1751pub extern "ws2_32" fn getpeername(
1753 s: SOCKET,1752 s: SOCKET,
1754 name: *sockaddr,1753 name: *sockaddr,
1755 namelen: *i32,1754 namelen: *i32,
1756) callconv(WINAPI) i32;1755) callconv(.winapi) i32;
17571756
1758pub extern "ws2_32" fn getsockname(1757pub extern "ws2_32" fn getsockname(
1759 s: SOCKET,1758 s: SOCKET,
1760 name: *sockaddr,1759 name: *sockaddr,
1761 namelen: *i32,1760 namelen: *i32,
1762) callconv(WINAPI) i32;1761) callconv(.winapi) i32;
17631762
1764pub extern "ws2_32" fn getsockopt(1763pub extern "ws2_32" fn getsockopt(
1765 s: SOCKET,1764 s: SOCKET,
...@@ -1767,39 +1766,39 @@ pub extern "ws2_32" fn getsockopt(...@@ -1767,39 +1766,39 @@ pub extern "ws2_32" fn getsockopt(
1767 optname: i32,1766 optname: i32,
1768 optval: [*]u8,1767 optval: [*]u8,
1769 optlen: *i32,1768 optlen: *i32,
1770) callconv(WINAPI) i32;1769) callconv(.winapi) i32;
17711770
1772pub extern "ws2_32" fn htonl(1771pub extern "ws2_32" fn htonl(
1773 hostlong: u32,1772 hostlong: u32,
1774) callconv(WINAPI) u32;1773) callconv(.winapi) u32;
17751774
1776pub extern "ws2_32" fn htons(1775pub extern "ws2_32" fn htons(
1777 hostshort: u16,1776 hostshort: u16,
1778) callconv(WINAPI) u16;1777) callconv(.winapi) u16;
17791778
1780pub extern "ws2_32" fn inet_addr(1779pub extern "ws2_32" fn inet_addr(
1781 cp: ?[*]const u8,1780 cp: ?[*]const u8,
1782) callconv(WINAPI) u32;1781) callconv(.winapi) u32;
17831782
1784pub extern "ws2_32" fn listen(1783pub extern "ws2_32" fn listen(
1785 s: SOCKET,1784 s: SOCKET,
1786 backlog: i32,1785 backlog: i32,
1787) callconv(WINAPI) i32;1786) callconv(.winapi) i32;
17881787
1789pub extern "ws2_32" fn ntohl(1788pub extern "ws2_32" fn ntohl(
1790 netlong: u32,1789 netlong: u32,
1791) callconv(WINAPI) u32;1790) callconv(.winapi) u32;
17921791
1793pub extern "ws2_32" fn ntohs(1792pub extern "ws2_32" fn ntohs(
1794 netshort: u16,1793 netshort: u16,
1795) callconv(WINAPI) u16;1794) callconv(.winapi) u16;
17961795
1797pub extern "ws2_32" fn recv(1796pub extern "ws2_32" fn recv(
1798 s: SOCKET,1797 s: SOCKET,
1799 buf: [*]u8,1798 buf: [*]u8,
1800 len: i32,1799 len: i32,
1801 flags: i32,1800 flags: i32,
1802) callconv(WINAPI) i32;1801) callconv(.winapi) i32;
18031802
1804pub extern "ws2_32" fn recvfrom(1803pub extern "ws2_32" fn recvfrom(
1805 s: SOCKET,1804 s: SOCKET,
...@@ -1808,7 +1807,7 @@ pub extern "ws2_32" fn recvfrom(...@@ -1808,7 +1807,7 @@ pub extern "ws2_32" fn recvfrom(
1808 flags: i32,1807 flags: i32,
1809 from: ?*sockaddr,1808 from: ?*sockaddr,
1810 fromlen: ?*i32,1809 fromlen: ?*i32,
1811) callconv(WINAPI) i32;1810) callconv(.winapi) i32;
18121811
1813pub extern "ws2_32" fn select(1812pub extern "ws2_32" fn select(
1814 nfds: i32,1813 nfds: i32,
...@@ -1816,14 +1815,14 @@ pub extern "ws2_32" fn select(...@@ -1816,14 +1815,14 @@ pub extern "ws2_32" fn select(
1816 writefds: ?*fd_set,1815 writefds: ?*fd_set,
1817 exceptfds: ?*fd_set,1816 exceptfds: ?*fd_set,
1818 timeout: ?*const timeval,1817 timeout: ?*const timeval,
1819) callconv(WINAPI) i32;1818) callconv(.winapi) i32;
18201819
1821pub extern "ws2_32" fn send(1820pub extern "ws2_32" fn send(
1822 s: SOCKET,1821 s: SOCKET,
1823 buf: [*]const u8,1822 buf: [*]const u8,
1824 len: i32,1823 len: i32,
1825 flags: u32,1824 flags: u32,
1826) callconv(WINAPI) i32;1825) callconv(.winapi) i32;
18271826
1828pub extern "ws2_32" fn sendto(1827pub extern "ws2_32" fn sendto(
1829 s: SOCKET,1828 s: SOCKET,
...@@ -1832,7 +1831,7 @@ pub extern "ws2_32" fn sendto(...@@ -1832,7 +1831,7 @@ pub extern "ws2_32" fn sendto(
1832 flags: i32,1831 flags: i32,
1833 to: *const sockaddr,1832 to: *const sockaddr,
1834 tolen: i32,1833 tolen: i32,
1835) callconv(WINAPI) i32;1834) callconv(.winapi) i32;
18361835
1837pub extern "ws2_32" fn setsockopt(1836pub extern "ws2_32" fn setsockopt(
1838 s: SOCKET,1837 s: SOCKET,
...@@ -1840,37 +1839,37 @@ pub extern "ws2_32" fn setsockopt(...@@ -1840,37 +1839,37 @@ pub extern "ws2_32" fn setsockopt(
1840 optname: i32,1839 optname: i32,
1841 optval: ?[*]const u8,1840 optval: ?[*]const u8,
1842 optlen: i32,1841 optlen: i32,
1843) callconv(WINAPI) i32;1842) callconv(.winapi) i32;
18441843
1845pub extern "ws2_32" fn shutdown(1844pub extern "ws2_32" fn shutdown(
1846 s: SOCKET,1845 s: SOCKET,
1847 how: i32,1846 how: i32,
1848) callconv(WINAPI) i32;1847) callconv(.winapi) i32;
18491848
1850pub extern "ws2_32" fn socket(1849pub extern "ws2_32" fn socket(
1851 af: i32,1850 af: i32,
1852 @"type": i32,1851 @"type": i32,
1853 protocol: i32,1852 protocol: i32,
1854) callconv(WINAPI) SOCKET;1853) callconv(.winapi) SOCKET;
18551854
1856pub extern "ws2_32" fn WSAStartup(1855pub extern "ws2_32" fn WSAStartup(
1857 wVersionRequired: WORD,1856 wVersionRequired: WORD,
1858 lpWSAData: *WSADATA,1857 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
1875pub extern "ws2_32" fn WSAAsyncGetServByName(1874pub extern "ws2_32" fn WSAAsyncGetServByName(
1876 hWnd: HWND,1875 hWnd: HWND,
...@@ -1879,7 +1878,7 @@ pub extern "ws2_32" fn WSAAsyncGetServByName(...@@ -1879,7 +1878,7 @@ pub extern "ws2_32" fn WSAAsyncGetServByName(
1879 proto: ?[*:0]const u8,1878 proto: ?[*:0]const u8,
1880 buf: [*]u8,1879 buf: [*]u8,
1881 buflen: i32,1880 buflen: i32,
1882) callconv(WINAPI) HANDLE;1881) callconv(.winapi) HANDLE;
18831882
1884pub extern "ws2_32" fn WSAAsyncGetServByPort(1883pub extern "ws2_32" fn WSAAsyncGetServByPort(
1885 hWnd: HWND,1884 hWnd: HWND,
...@@ -1888,7 +1887,7 @@ pub extern "ws2_32" fn WSAAsyncGetServByPort(...@@ -1888,7 +1887,7 @@ pub extern "ws2_32" fn WSAAsyncGetServByPort(
1888 proto: ?[*:0]const u8,1887 proto: ?[*:0]const u8,
1889 buf: [*]u8,1888 buf: [*]u8,
1890 buflen: i32,1889 buflen: i32,
1891) callconv(WINAPI) HANDLE;1890) callconv(.winapi) HANDLE;
18921891
1893pub extern "ws2_32" fn WSAAsyncGetProtoByName(1892pub extern "ws2_32" fn WSAAsyncGetProtoByName(
1894 hWnd: HWND,1893 hWnd: HWND,
...@@ -1896,7 +1895,7 @@ pub extern "ws2_32" fn WSAAsyncGetProtoByName(...@@ -1896,7 +1895,7 @@ pub extern "ws2_32" fn WSAAsyncGetProtoByName(
1896 name: [*:0]const u8,1895 name: [*:0]const u8,
1897 buf: [*]u8,1896 buf: [*]u8,
1898 buflen: i32,1897 buflen: i32,
1899) callconv(WINAPI) HANDLE;1898) callconv(.winapi) HANDLE;
19001899
1901pub extern "ws2_32" fn WSAAsyncGetProtoByNumber(1900pub extern "ws2_32" fn WSAAsyncGetProtoByNumber(
1902 hWnd: HWND,1901 hWnd: HWND,
...@@ -1904,16 +1903,16 @@ pub extern "ws2_32" fn WSAAsyncGetProtoByNumber(...@@ -1904,16 +1903,16 @@ pub extern "ws2_32" fn WSAAsyncGetProtoByNumber(
1904 number: i32,1903 number: i32,
1905 buf: [*]u8,1904 buf: [*]u8,
1906 buflen: i32,1905 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
1911pub extern "ws2_32" fn WSAAsyncSelect(1910pub extern "ws2_32" fn WSAAsyncSelect(
1912 s: SOCKET,1911 s: SOCKET,
1913 hWnd: HWND,1912 hWnd: HWND,
1914 wMsg: u32,1913 wMsg: u32,
1915 lEvent: i32,1914 lEvent: i32,
1916) callconv(WINAPI) i32;1915) callconv(.winapi) i32;
19171916
1918pub extern "ws2_32" fn WSAAccept(1917pub extern "ws2_32" fn WSAAccept(
1919 s: SOCKET,1918 s: SOCKET,
...@@ -1921,9 +1920,9 @@ pub extern "ws2_32" fn WSAAccept(...@@ -1921,9 +1920,9 @@ pub extern "ws2_32" fn WSAAccept(
1921 addrlen: ?*i32,1920 addrlen: ?*i32,
1922 lpfnCondition: ?LPCONDITIONPROC,1921 lpfnCondition: ?LPCONDITIONPROC,
1923 dwCallbackData: usize,1922 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
1928pub extern "ws2_32" fn WSAConnect(1927pub extern "ws2_32" fn WSAConnect(
1929 s: SOCKET,1928 s: SOCKET,
...@@ -1933,7 +1932,7 @@ pub extern "ws2_32" fn WSAConnect(...@@ -1933,7 +1932,7 @@ pub extern "ws2_32" fn WSAConnect(
1933 lpCalleeData: ?*WSABUF,1932 lpCalleeData: ?*WSABUF,
1934 lpSQOS: ?*QOS,1933 lpSQOS: ?*QOS,
1935 lpGQOS: ?*QOS,1934 lpGQOS: ?*QOS,
1936) callconv(WINAPI) i32;1935) callconv(.winapi) i32;
19371936
1938pub extern "ws2_32" fn WSAConnectByNameW(1937pub extern "ws2_32" fn WSAConnectByNameW(
1939 s: SOCKET,1938 s: SOCKET,
...@@ -1945,7 +1944,7 @@ pub extern "ws2_32" fn WSAConnectByNameW(...@@ -1945,7 +1944,7 @@ pub extern "ws2_32" fn WSAConnectByNameW(
1945 RemoteAddress: ?*sockaddr,1944 RemoteAddress: ?*sockaddr,
1946 timeout: ?*const timeval,1945 timeout: ?*const timeval,
1947 Reserved: *OVERLAPPED,1946 Reserved: *OVERLAPPED,
1948) callconv(WINAPI) BOOL;1947) callconv(.winapi) BOOL;
19491948
1950pub extern "ws2_32" fn WSAConnectByNameA(1949pub extern "ws2_32" fn WSAConnectByNameA(
1951 s: SOCKET,1950 s: SOCKET,
...@@ -1957,7 +1956,7 @@ pub extern "ws2_32" fn WSAConnectByNameA(...@@ -1957,7 +1956,7 @@ pub extern "ws2_32" fn WSAConnectByNameA(
1957 RemoteAddress: ?*sockaddr,1956 RemoteAddress: ?*sockaddr,
1958 timeout: ?*const timeval,1957 timeout: ?*const timeval,
1959 Reserved: *OVERLAPPED,1958 Reserved: *OVERLAPPED,
1960) callconv(WINAPI) BOOL;1959) callconv(.winapi) BOOL;
19611960
1962pub extern "ws2_32" fn WSAConnectByList(1961pub extern "ws2_32" fn WSAConnectByList(
1963 s: SOCKET,1962 s: SOCKET,
...@@ -1968,45 +1967,45 @@ pub extern "ws2_32" fn WSAConnectByList(...@@ -1968,45 +1967,45 @@ pub extern "ws2_32" fn WSAConnectByList(
1968 RemoteAddress: ?*sockaddr,1967 RemoteAddress: ?*sockaddr,
1969 timeout: ?*const timeval,1968 timeout: ?*const timeval,
1970 Reserved: *OVERLAPPED,1969 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
1975pub extern "ws2_32" fn WSADuplicateSocketA(1974pub extern "ws2_32" fn WSADuplicateSocketA(
1976 s: SOCKET,1975 s: SOCKET,
1977 dwProcessId: u32,1976 dwProcessId: u32,
1978 lpProtocolInfo: *WSAPROTOCOL_INFOA,1977 lpProtocolInfo: *WSAPROTOCOL_INFOA,
1979) callconv(WINAPI) i32;1978) callconv(.winapi) i32;
19801979
1981pub extern "ws2_32" fn WSADuplicateSocketW(1980pub extern "ws2_32" fn WSADuplicateSocketW(
1982 s: SOCKET,1981 s: SOCKET,
1983 dwProcessId: u32,1982 dwProcessId: u32,
1984 lpProtocolInfo: *WSAPROTOCOL_INFOW,1983 lpProtocolInfo: *WSAPROTOCOL_INFOW,
1985) callconv(WINAPI) i32;1984) callconv(.winapi) i32;
19861985
1987pub extern "ws2_32" fn WSAEnumNetworkEvents(1986pub extern "ws2_32" fn WSAEnumNetworkEvents(
1988 s: SOCKET,1987 s: SOCKET,
1989 hEventObject: HANDLE,1988 hEventObject: HANDLE,
1990 lpNetworkEvents: *WSANETWORKEVENTS,1989 lpNetworkEvents: *WSANETWORKEVENTS,
1991) callconv(WINAPI) i32;1990) callconv(.winapi) i32;
19921991
1993pub extern "ws2_32" fn WSAEnumProtocolsA(1992pub extern "ws2_32" fn WSAEnumProtocolsA(
1994 lpiProtocols: ?*i32,1993 lpiProtocols: ?*i32,
1995 lpProtocolBuffer: ?*WSAPROTOCOL_INFOA,1994 lpProtocolBuffer: ?*WSAPROTOCOL_INFOA,
1996 lpdwBufferLength: *u32,1995 lpdwBufferLength: *u32,
1997) callconv(WINAPI) i32;1996) callconv(.winapi) i32;
19981997
1999pub extern "ws2_32" fn WSAEnumProtocolsW(1998pub extern "ws2_32" fn WSAEnumProtocolsW(
2000 lpiProtocols: ?*i32,1999 lpiProtocols: ?*i32,
2001 lpProtocolBuffer: ?*WSAPROTOCOL_INFOW,2000 lpProtocolBuffer: ?*WSAPROTOCOL_INFOW,
2002 lpdwBufferLength: *u32,2001 lpdwBufferLength: *u32,
2003) callconv(WINAPI) i32;2002) callconv(.winapi) i32;
20042003
2005pub extern "ws2_32" fn WSAEventSelect(2004pub extern "ws2_32" fn WSAEventSelect(
2006 s: SOCKET,2005 s: SOCKET,
2007 hEventObject: HANDLE,2006 hEventObject: HANDLE,
2008 lNetworkEvents: i32,2007 lNetworkEvents: i32,
2009) callconv(WINAPI) i32;2008) callconv(.winapi) i32;
20102009
2011pub extern "ws2_32" fn WSAGetOverlappedResult(2010pub extern "ws2_32" fn WSAGetOverlappedResult(
2012 s: SOCKET,2011 s: SOCKET,
...@@ -2014,25 +2013,25 @@ pub extern "ws2_32" fn WSAGetOverlappedResult(...@@ -2014,25 +2013,25 @@ pub extern "ws2_32" fn WSAGetOverlappedResult(
2014 lpcbTransfer: *u32,2013 lpcbTransfer: *u32,
2015 fWait: BOOL,2014 fWait: BOOL,
2016 lpdwFlags: *u32,2015 lpdwFlags: *u32,
2017) callconv(WINAPI) BOOL;2016) callconv(.winapi) BOOL;
20182017
2019pub extern "ws2_32" fn WSAGetQOSByName(2018pub extern "ws2_32" fn WSAGetQOSByName(
2020 s: SOCKET,2019 s: SOCKET,
2021 lpQOSName: *WSABUF,2020 lpQOSName: *WSABUF,
2022 lpQOS: *QOS,2021 lpQOS: *QOS,
2023) callconv(WINAPI) BOOL;2022) callconv(.winapi) BOOL;
20242023
2025pub extern "ws2_32" fn WSAHtonl(2024pub extern "ws2_32" fn WSAHtonl(
2026 s: SOCKET,2025 s: SOCKET,
2027 hostlong: u32,2026 hostlong: u32,
2028 lpnetlong: *u32,2027 lpnetlong: *u32,
2029) callconv(WINAPI) i32;2028) callconv(.winapi) i32;
20302029
2031pub extern "ws2_32" fn WSAHtons(2030pub extern "ws2_32" fn WSAHtons(
2032 s: SOCKET,2031 s: SOCKET,
2033 hostshort: u16,2032 hostshort: u16,
2034 lpnetshort: *u16,2033 lpnetshort: *u16,
2035) callconv(WINAPI) i32;2034) callconv(.winapi) i32;
20362035
2037pub extern "ws2_32" fn WSAIoctl(2036pub extern "ws2_32" fn WSAIoctl(
2038 s: SOCKET,2037 s: SOCKET,
...@@ -2044,7 +2043,7 @@ pub extern "ws2_32" fn WSAIoctl(...@@ -2044,7 +2043,7 @@ pub extern "ws2_32" fn WSAIoctl(
2044 lpcbBytesReturned: *u32,2043 lpcbBytesReturned: *u32,
2045 lpOverlapped: ?*OVERLAPPED,2044 lpOverlapped: ?*OVERLAPPED,
2046 lpCompletionRoutine: ?LPWSAOVERLAPPED_COMPLETION_ROUTINE,2045 lpCompletionRoutine: ?LPWSAOVERLAPPED_COMPLETION_ROUTINE,
2047) callconv(WINAPI) i32;2046) callconv(.winapi) i32;
20482047
2049pub extern "ws2_32" fn WSAJoinLeaf(2048pub extern "ws2_32" fn WSAJoinLeaf(
2050 s: SOCKET,2049 s: SOCKET,
...@@ -2055,19 +2054,19 @@ pub extern "ws2_32" fn WSAJoinLeaf(...@@ -2055,19 +2054,19 @@ pub extern "ws2_32" fn WSAJoinLeaf(
2055 lpSQOS: ?*QOS,2054 lpSQOS: ?*QOS,
2056 lpGQOS: ?*QOS,2055 lpGQOS: ?*QOS,
2057 dwFlags: u32,2056 dwFlags: u32,
2058) callconv(WINAPI) SOCKET;2057) callconv(.winapi) SOCKET;
20592058
2060pub extern "ws2_32" fn WSANtohl(2059pub extern "ws2_32" fn WSANtohl(
2061 s: SOCKET,2060 s: SOCKET,
2062 netlong: u32,2061 netlong: u32,
2063 lphostlong: *u32,2062 lphostlong: *u32,
2064) callconv(WINAPI) u32;2063) callconv(.winapi) u32;
20652064
2066pub extern "ws2_32" fn WSANtohs(2065pub extern "ws2_32" fn WSANtohs(
2067 s: SOCKET,2066 s: SOCKET,
2068 netshort: u16,2067 netshort: u16,
2069 lphostshort: *u16,2068 lphostshort: *u16,
2070) callconv(WINAPI) i32;2069) callconv(.winapi) i32;
20712070
2072pub extern "ws2_32" fn WSARecv(2071pub extern "ws2_32" fn WSARecv(
2073 s: SOCKET,2072 s: SOCKET,
...@@ -2077,12 +2076,12 @@ pub extern "ws2_32" fn WSARecv(...@@ -2077,12 +2076,12 @@ pub extern "ws2_32" fn WSARecv(
2077 lpFlags: *u32,2076 lpFlags: *u32,
2078 lpOverlapped: ?*OVERLAPPED,2077 lpOverlapped: ?*OVERLAPPED,
2079 lpCompletionRoutine: ?LPWSAOVERLAPPED_COMPLETION_ROUTINE,2078 lpCompletionRoutine: ?LPWSAOVERLAPPED_COMPLETION_ROUTINE,
2080) callconv(WINAPI) i32;2079) callconv(.winapi) i32;
20812080
2082pub extern "ws2_32" fn WSARecvDisconnect(2081pub extern "ws2_32" fn WSARecvDisconnect(
2083 s: SOCKET,2082 s: SOCKET,
2084 lpInboundDisconnectData: ?*WSABUF,2083 lpInboundDisconnectData: ?*WSABUF,
2085) callconv(WINAPI) i32;2084) callconv(.winapi) i32;
20862085
2087pub extern "ws2_32" fn WSARecvFrom(2086pub extern "ws2_32" fn WSARecvFrom(
2088 s: SOCKET,2087 s: SOCKET,
...@@ -2094,9 +2093,9 @@ pub extern "ws2_32" fn WSARecvFrom(...@@ -2094,9 +2093,9 @@ pub extern "ws2_32" fn WSARecvFrom(
2094 lpFromlen: ?*i32,2093 lpFromlen: ?*i32,
2095 lpOverlapped: ?*OVERLAPPED,2094 lpOverlapped: ?*OVERLAPPED,
2096 lpCompletionRoutine: ?LPWSAOVERLAPPED_COMPLETION_ROUTINE,2095 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
2101pub extern "ws2_32" fn WSASend(2100pub extern "ws2_32" fn WSASend(
2102 s: SOCKET,2101 s: SOCKET,
...@@ -2106,7 +2105,7 @@ pub extern "ws2_32" fn WSASend(...@@ -2106,7 +2105,7 @@ pub extern "ws2_32" fn WSASend(
2106 dwFlags: u32,2105 dwFlags: u32,
2107 lpOverlapped: ?*OVERLAPPED,2106 lpOverlapped: ?*OVERLAPPED,
2108 lpCompletionRoutine: ?LPWSAOVERLAPPED_COMPLETION_ROUTINE,2107 lpCompletionRoutine: ?LPWSAOVERLAPPED_COMPLETION_ROUTINE,
2109) callconv(WINAPI) i32;2108) callconv(.winapi) i32;
21102109
2111pub extern "ws2_32" fn WSASendMsg(2110pub extern "ws2_32" fn WSASendMsg(
2112 s: SOCKET,2111 s: SOCKET,
...@@ -2115,7 +2114,7 @@ pub extern "ws2_32" fn WSASendMsg(...@@ -2115,7 +2114,7 @@ pub extern "ws2_32" fn WSASendMsg(
2115 lpNumberOfBytesSent: ?*u32,2114 lpNumberOfBytesSent: ?*u32,
2116 lpOverlapped: ?*OVERLAPPED,2115 lpOverlapped: ?*OVERLAPPED,
2117 lpCompletionRoutine: ?LPWSAOVERLAPPED_COMPLETION_ROUTINE,2116 lpCompletionRoutine: ?LPWSAOVERLAPPED_COMPLETION_ROUTINE,
2118) callconv(WINAPI) i32;2117) callconv(.winapi) i32;
21192118
2120pub extern "ws2_32" fn WSARecvMsg(2119pub extern "ws2_32" fn WSARecvMsg(
2121 s: SOCKET,2120 s: SOCKET,
...@@ -2123,12 +2122,12 @@ pub extern "ws2_32" fn WSARecvMsg(...@@ -2123,12 +2122,12 @@ pub extern "ws2_32" fn WSARecvMsg(
2123 lpdwNumberOfBytesRecv: ?*u32,2122 lpdwNumberOfBytesRecv: ?*u32,
2124 lpOverlapped: ?*OVERLAPPED,2123 lpOverlapped: ?*OVERLAPPED,
2125 lpCompletionRoutine: ?LPWSAOVERLAPPED_COMPLETION_ROUTINE,2124 lpCompletionRoutine: ?LPWSAOVERLAPPED_COMPLETION_ROUTINE,
2126) callconv(WINAPI) i32;2125) callconv(.winapi) i32;
21272126
2128pub extern "ws2_32" fn WSASendDisconnect(2127pub extern "ws2_32" fn WSASendDisconnect(
2129 s: SOCKET,2128 s: SOCKET,
2130 lpOutboundDisconnectData: ?*WSABUF,2129 lpOutboundDisconnectData: ?*WSABUF,
2131) callconv(WINAPI) i32;2130) callconv(.winapi) i32;
21322131
2133pub extern "ws2_32" fn WSASendTo(2132pub extern "ws2_32" fn WSASendTo(
2134 s: SOCKET,2133 s: SOCKET,
...@@ -2140,11 +2139,11 @@ pub extern "ws2_32" fn WSASendTo(...@@ -2140,11 +2139,11 @@ pub extern "ws2_32" fn WSASendTo(
2140 iToLen: i32,2139 iToLen: i32,
2141 lpOverlapped: ?*OVERLAPPED,2140 lpOverlapped: ?*OVERLAPPED,
2142 lpCompletionRounte: ?LPWSAOVERLAPPED_COMPLETION_ROUTINE,2141 lpCompletionRounte: ?LPWSAOVERLAPPED_COMPLETION_ROUTINE,
2143) callconv(WINAPI) i32;2142) callconv(.winapi) i32;
21442143
2145pub extern "ws2_32" fn WSASetEvent(2144pub extern "ws2_32" fn WSASetEvent(
2146 hEvent: HANDLE,2145 hEvent: HANDLE,
2147) callconv(WINAPI) BOOL;2146) callconv(.winapi) BOOL;
21482147
2149pub extern "ws2_32" fn WSASocketA(2148pub extern "ws2_32" fn WSASocketA(
2150 af: i32,2149 af: i32,
...@@ -2153,7 +2152,7 @@ pub extern "ws2_32" fn WSASocketA(...@@ -2153,7 +2152,7 @@ pub extern "ws2_32" fn WSASocketA(
2153 lpProtocolInfo: ?*WSAPROTOCOL_INFOA,2152 lpProtocolInfo: ?*WSAPROTOCOL_INFOA,
2154 g: u32,2153 g: u32,
2155 dwFlags: u32,2154 dwFlags: u32,
2156) callconv(WINAPI) SOCKET;2155) callconv(.winapi) SOCKET;
21572156
2158pub extern "ws2_32" fn WSASocketW(2157pub extern "ws2_32" fn WSASocketW(
2159 af: i32,2158 af: i32,
...@@ -2162,7 +2161,7 @@ pub extern "ws2_32" fn WSASocketW(...@@ -2162,7 +2161,7 @@ pub extern "ws2_32" fn WSASocketW(
2162 lpProtocolInfo: ?*WSAPROTOCOL_INFOW,2161 lpProtocolInfo: ?*WSAPROTOCOL_INFOW,
2163 g: u32,2162 g: u32,
2164 dwFlags: u32,2163 dwFlags: u32,
2165) callconv(WINAPI) SOCKET;2164) callconv(.winapi) SOCKET;
21662165
2167pub extern "ws2_32" fn WSAWaitForMultipleEvents(2166pub extern "ws2_32" fn WSAWaitForMultipleEvents(
2168 cEvents: u32,2167 cEvents: u32,
...@@ -2170,7 +2169,7 @@ pub extern "ws2_32" fn WSAWaitForMultipleEvents(...@@ -2170,7 +2169,7 @@ pub extern "ws2_32" fn WSAWaitForMultipleEvents(
2170 fWaitAll: BOOL,2169 fWaitAll: BOOL,
2171 dwTimeout: u32,2170 dwTimeout: u32,
2172 fAlertable: BOOL,2171 fAlertable: BOOL,
2173) callconv(WINAPI) u32;2172) callconv(.winapi) u32;
21742173
2175pub extern "ws2_32" fn WSAAddressToStringA(2174pub extern "ws2_32" fn WSAAddressToStringA(
2176 lpsaAddress: *sockaddr,2175 lpsaAddress: *sockaddr,
...@@ -2178,7 +2177,7 @@ pub extern "ws2_32" fn WSAAddressToStringA(...@@ -2178,7 +2177,7 @@ pub extern "ws2_32" fn WSAAddressToStringA(
2178 lpProtocolInfo: ?*WSAPROTOCOL_INFOA,2177 lpProtocolInfo: ?*WSAPROTOCOL_INFOA,
2179 lpszAddressString: [*]u8,2178 lpszAddressString: [*]u8,
2180 lpdwAddressStringLength: *u32,2179 lpdwAddressStringLength: *u32,
2181) callconv(WINAPI) i32;2180) callconv(.winapi) i32;
21822181
2183pub extern "ws2_32" fn WSAAddressToStringW(2182pub extern "ws2_32" fn WSAAddressToStringW(
2184 lpsaAddress: *sockaddr,2183 lpsaAddress: *sockaddr,
...@@ -2186,7 +2185,7 @@ pub extern "ws2_32" fn WSAAddressToStringW(...@@ -2186,7 +2185,7 @@ pub extern "ws2_32" fn WSAAddressToStringW(
2186 lpProtocolInfo: ?*WSAPROTOCOL_INFOW,2185 lpProtocolInfo: ?*WSAPROTOCOL_INFOW,
2187 lpszAddressString: [*]u16,2186 lpszAddressString: [*]u16,
2188 lpdwAddressStringLength: *u32,2187 lpdwAddressStringLength: *u32,
2189) callconv(WINAPI) i32;2188) callconv(.winapi) i32;
21902189
2191pub extern "ws2_32" fn WSAStringToAddressA(2190pub extern "ws2_32" fn WSAStringToAddressA(
2192 AddressString: [*:0]const u8,2191 AddressString: [*:0]const u8,
...@@ -2194,7 +2193,7 @@ pub extern "ws2_32" fn WSAStringToAddressA(...@@ -2194,7 +2193,7 @@ pub extern "ws2_32" fn WSAStringToAddressA(
2194 lpProtocolInfo: ?*WSAPROTOCOL_INFOA,2193 lpProtocolInfo: ?*WSAPROTOCOL_INFOA,
2195 lpAddress: *sockaddr,2194 lpAddress: *sockaddr,
2196 lpAddressLength: *i32,2195 lpAddressLength: *i32,
2197) callconv(WINAPI) i32;2196) callconv(.winapi) i32;
21982197
2199pub extern "ws2_32" fn WSAStringToAddressW(2198pub extern "ws2_32" fn WSAStringToAddressW(
2200 AddressString: [*:0]const u16,2199 AddressString: [*:0]const u16,
...@@ -2202,26 +2201,26 @@ pub extern "ws2_32" fn WSAStringToAddressW(...@@ -2202,26 +2201,26 @@ pub extern "ws2_32" fn WSAStringToAddressW(
2202 lpProtocolInfo: ?*WSAPROTOCOL_INFOW,2201 lpProtocolInfo: ?*WSAPROTOCOL_INFOW,
2203 lpAddrses: *sockaddr,2202 lpAddrses: *sockaddr,
2204 lpAddressLength: *i32,2203 lpAddressLength: *i32,
2205) callconv(WINAPI) i32;2204) callconv(.winapi) i32;
22062205
2207pub extern "ws2_32" fn WSAProviderConfigChange(2206pub extern "ws2_32" fn WSAProviderConfigChange(
2208 lpNotificationHandle: *HANDLE,2207 lpNotificationHandle: *HANDLE,
2209 lpOverlapped: ?*OVERLAPPED,2208 lpOverlapped: ?*OVERLAPPED,
2210 lpCompletionRoutine: ?LPWSAOVERLAPPED_COMPLETION_ROUTINE,2209 lpCompletionRoutine: ?LPWSAOVERLAPPED_COMPLETION_ROUTINE,
2211) callconv(WINAPI) i32;2210) callconv(.winapi) i32;
22122211
2213pub extern "ws2_32" fn WSAPoll(2212pub extern "ws2_32" fn WSAPoll(
2214 fdArray: [*]WSAPOLLFD,2213 fdArray: [*]WSAPOLLFD,
2215 fds: u32,2214 fds: u32,
2216 timeout: i32,2215 timeout: i32,
2217) callconv(WINAPI) i32;2216) callconv(.winapi) i32;
22182217
2219pub extern "mswsock" fn WSARecvEx(2218pub extern "mswsock" fn WSARecvEx(
2220 s: SOCKET,2219 s: SOCKET,
2221 buf: [*]u8,2220 buf: [*]u8,
2222 len: i32,2221 len: i32,
2223 flags: *i32,2222 flags: *i32,
2224) callconv(WINAPI) i32;2223) callconv(.winapi) i32;
22252224
2226pub extern "mswsock" fn TransmitFile(2225pub extern "mswsock" fn TransmitFile(
2227 hSocket: SOCKET,2226 hSocket: SOCKET,
...@@ -2231,7 +2230,7 @@ pub extern "mswsock" fn TransmitFile(...@@ -2231,7 +2230,7 @@ pub extern "mswsock" fn TransmitFile(
2231 lpOverlapped: ?*OVERLAPPED,2230 lpOverlapped: ?*OVERLAPPED,
2232 lpTransmitBuffers: ?*TRANSMIT_FILE_BUFFERS,2231 lpTransmitBuffers: ?*TRANSMIT_FILE_BUFFERS,
2233 dwReserved: u32,2232 dwReserved: u32,
2234) callconv(WINAPI) BOOL;2233) callconv(.winapi) BOOL;
22352234
2236pub extern "mswsock" fn AcceptEx(2235pub extern "mswsock" fn AcceptEx(
2237 sListenSocket: SOCKET,2236 sListenSocket: SOCKET,
...@@ -2242,7 +2241,7 @@ pub extern "mswsock" fn AcceptEx(...@@ -2242,7 +2241,7 @@ pub extern "mswsock" fn AcceptEx(
2242 dwRemoteAddressLength: u32,2241 dwRemoteAddressLength: u32,
2243 lpdwBytesReceived: *u32,2242 lpdwBytesReceived: *u32,
2244 lpOverlapped: *OVERLAPPED,2243 lpOverlapped: *OVERLAPPED,
2245) callconv(WINAPI) BOOL;2244) callconv(.winapi) BOOL;
22462245
2247pub extern "mswsock" fn GetAcceptExSockaddrs(2246pub extern "mswsock" fn GetAcceptExSockaddrs(
2248 lpOutputBuffer: *anyopaque,2247 lpOutputBuffer: *anyopaque,
...@@ -2253,24 +2252,24 @@ pub extern "mswsock" fn GetAcceptExSockaddrs(...@@ -2253,24 +2252,24 @@ pub extern "mswsock" fn GetAcceptExSockaddrs(
2253 LocalSockaddrLength: *i32,2252 LocalSockaddrLength: *i32,
2254 RemoteSockaddr: **sockaddr,2253 RemoteSockaddr: **sockaddr,
2255 RemoteSockaddrLength: *i32,2254 RemoteSockaddrLength: *i32,
2256) callconv(WINAPI) void;2255) callconv(.winapi) void;
22572256
2258pub extern "ws2_32" fn WSAProviderCompleteAsyncCall(2257pub extern "ws2_32" fn WSAProviderCompleteAsyncCall(
2259 hAsyncCall: HANDLE,2258 hAsyncCall: HANDLE,
2260 iRetCode: i32,2259 iRetCode: i32,
2261) callconv(WINAPI) i32;2260) callconv(.winapi) i32;
22622261
2263pub extern "mswsock" fn EnumProtocolsA(2262pub extern "mswsock" fn EnumProtocolsA(
2264 lpiProtocols: ?*i32,2263 lpiProtocols: ?*i32,
2265 lpProtocolBuffer: *anyopaque,2264 lpProtocolBuffer: *anyopaque,
2266 lpdwBufferLength: *u32,2265 lpdwBufferLength: *u32,
2267) callconv(WINAPI) i32;2266) callconv(.winapi) i32;
22682267
2269pub extern "mswsock" fn EnumProtocolsW(2268pub extern "mswsock" fn EnumProtocolsW(
2270 lpiProtocols: ?*i32,2269 lpiProtocols: ?*i32,
2271 lpProtocolBuffer: *anyopaque,2270 lpProtocolBuffer: *anyopaque,
2272 lpdwBufferLength: *u32,2271 lpdwBufferLength: *u32,
2273) callconv(WINAPI) i32;2272) callconv(.winapi) i32;
22742273
2275pub extern "mswsock" fn GetAddressByNameA(2274pub extern "mswsock" fn GetAddressByNameA(
2276 dwNameSpace: u32,2275 dwNameSpace: u32,
...@@ -2282,7 +2281,7 @@ pub extern "mswsock" fn GetAddressByNameA(...@@ -2282,7 +2281,7 @@ pub extern "mswsock" fn GetAddressByNameA(
2282 lpCsaddrBuffer: *anyopaque,2281 lpCsaddrBuffer: *anyopaque,
2283 lpAliasBuffer: ?[*:0]const u8,2282 lpAliasBuffer: ?[*:0]const u8,
2284 lpdwAliasBufferLength: *u32,2283 lpdwAliasBufferLength: *u32,
2285) callconv(WINAPI) i32;2284) callconv(.winapi) i32;
22862285
2287pub extern "mswsock" fn GetAddressByNameW(2286pub extern "mswsock" fn GetAddressByNameW(
2288 dwNameSpace: u32,2287 dwNameSpace: u32,
...@@ -2295,36 +2294,36 @@ pub extern "mswsock" fn GetAddressByNameW(...@@ -2295,36 +2294,36 @@ pub extern "mswsock" fn GetAddressByNameW(
2295 ldwBufferLEngth: *u32,2294 ldwBufferLEngth: *u32,
2296 lpAliasBuffer: ?[*:0]u16,2295 lpAliasBuffer: ?[*:0]u16,
2297 lpdwAliasBufferLength: *u32,2296 lpdwAliasBufferLength: *u32,
2298) callconv(WINAPI) i32;2297) callconv(.winapi) i32;
22992298
2300pub extern "mswsock" fn GetTypeByNameA(2299pub extern "mswsock" fn GetTypeByNameA(
2301 lpServiceName: [*:0]u8,2300 lpServiceName: [*:0]u8,
2302 lpServiceType: *GUID,2301 lpServiceType: *GUID,
2303) callconv(WINAPI) i32;2302) callconv(.winapi) i32;
23042303
2305pub extern "mswsock" fn GetTypeByNameW(2304pub extern "mswsock" fn GetTypeByNameW(
2306 lpServiceName: [*:0]u16,2305 lpServiceName: [*:0]u16,
2307 lpServiceType: *GUID,2306 lpServiceType: *GUID,
2308) callconv(WINAPI) i32;2307) callconv(.winapi) i32;
23092308
2310pub extern "mswsock" fn GetNameByTypeA(2309pub extern "mswsock" fn GetNameByTypeA(
2311 lpServiceType: *GUID,2310 lpServiceType: *GUID,
2312 lpServiceName: [*:0]u8,2311 lpServiceName: [*:0]u8,
2313 dwNameLength: u32,2312 dwNameLength: u32,
2314) callconv(WINAPI) i32;2313) callconv(.winapi) i32;
23152314
2316pub extern "mswsock" fn GetNameByTypeW(2315pub extern "mswsock" fn GetNameByTypeW(
2317 lpServiceType: *GUID,2316 lpServiceType: *GUID,
2318 lpServiceName: [*:0]u16,2317 lpServiceName: [*:0]u16,
2319 dwNameLength: u32,2318 dwNameLength: u32,
2320) callconv(WINAPI) i32;2319) callconv(.winapi) i32;
23212320
2322pub extern "ws2_32" fn getaddrinfo(2321pub extern "ws2_32" fn getaddrinfo(
2323 pNodeName: ?[*:0]const u8,2322 pNodeName: ?[*:0]const u8,
2324 pServiceName: ?[*:0]const u8,2323 pServiceName: ?[*:0]const u8,
2325 pHints: ?*const addrinfoa,2324 pHints: ?*const addrinfoa,
2326 ppResult: *?*addrinfoa,2325 ppResult: *?*addrinfoa,
2327) callconv(WINAPI) i32;2326) callconv(.winapi) i32;
23282327
2329pub extern "ws2_32" fn GetAddrInfoExA(2328pub extern "ws2_32" fn GetAddrInfoExA(
2330 pName: ?[*:0]const u8,2329 pName: ?[*:0]const u8,
...@@ -2336,23 +2335,23 @@ pub extern "ws2_32" fn GetAddrInfoExA(...@@ -2336,23 +2335,23 @@ pub extern "ws2_32" fn GetAddrInfoExA(
2336 timeout: ?*timeval,2335 timeout: ?*timeval,
2337 lpOverlapped: ?*OVERLAPPED,2336 lpOverlapped: ?*OVERLAPPED,
2338 lpCompletionRoutine: ?LPLOOKUPSERVICE_COMPLETION_ROUTINE,2337 lpCompletionRoutine: ?LPLOOKUPSERVICE_COMPLETION_ROUTINE,
2339) callconv(WINAPI) i32;2338) callconv(.winapi) i32;
23402339
2341pub extern "ws2_32" fn GetAddrInfoExCancel(2340pub extern "ws2_32" fn GetAddrInfoExCancel(
2342 lpHandle: *HANDLE,2341 lpHandle: *HANDLE,
2343) callconv(WINAPI) i32;2342) callconv(.winapi) i32;
23442343
2345pub extern "ws2_32" fn GetAddrInfoExOverlappedResult(2344pub extern "ws2_32" fn GetAddrInfoExOverlappedResult(
2346 lpOverlapped: *OVERLAPPED,2345 lpOverlapped: *OVERLAPPED,
2347) callconv(WINAPI) i32;2346) callconv(.winapi) i32;
23482347
2349pub extern "ws2_32" fn freeaddrinfo(2348pub extern "ws2_32" fn freeaddrinfo(
2350 pAddrInfo: ?*addrinfoa,2349 pAddrInfo: ?*addrinfoa,
2351) callconv(WINAPI) void;2350) callconv(.winapi) void;
23522351
2353pub extern "ws2_32" fn FreeAddrInfoEx(2352pub extern "ws2_32" fn FreeAddrInfoEx(
2354 pAddrInfoEx: ?*addrinfoexA,2353 pAddrInfoEx: ?*addrinfoexA,
2355) callconv(WINAPI) void;2354) callconv(.winapi) void;
23562355
2357pub extern "ws2_32" fn getnameinfo(2356pub extern "ws2_32" fn getnameinfo(
2358 pSockaddr: *const sockaddr,2357 pSockaddr: *const sockaddr,
...@@ -2362,8 +2361,8 @@ pub extern "ws2_32" fn getnameinfo(...@@ -2362,8 +2361,8 @@ pub extern "ws2_32" fn getnameinfo(
2362 pServiceBuffer: ?[*]u8,2361 pServiceBuffer: ?[*]u8,
2363 ServiceBufferName: u32,2362 ServiceBufferName: u32,
2364 Flags: i32,2363 Flags: i32,
2365) callconv(WINAPI) i32;2364) callconv(.winapi) i32;
23662365
2367pub extern "iphlpapi" fn if_nametoindex(2366pub extern "iphlpapi" fn if_nametoindex(
2368 InterfaceName: [*:0]const u8,2367 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) {...@@ -229,7 +229,7 @@ const WindowsSegfaultMessage = union(enum) {
229 illegal_instruction: void,229 illegal_instruction: void,
230};230};
231231
232fn handleSegfaultWindows(info: *windows.EXCEPTION_POINTERS) callconv(windows.WINAPI) c_long {232fn handleSegfaultWindows(info: *windows.EXCEPTION_POINTERS) callconv(.winapi) c_long {
233 switch (info.ExceptionRecord.ExceptionCode) {233 switch (info.ExceptionRecord.ExceptionCode) {
234 windows.EXCEPTION_DATATYPE_MISALIGNMENT => handleSegfaultWindowsExtra(info, .{ .literal = "Unaligned Memory Access" }),234 windows.EXCEPTION_DATATYPE_MISALIGNMENT => handleSegfaultWindowsExtra(info, .{ .literal = "Unaligned Memory Access" }),
235 windows.EXCEPTION_ACCESS_VIOLATION => handleSegfaultWindowsExtra(info, .segfault),235 windows.EXCEPTION_ACCESS_VIOLATION => handleSegfaultWindowsExtra(info, .segfault),