authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2022-05-02 20:35:06-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2022-05-02 22:14:17-07:00
log76b7f5672511be454a14b909446ed6464244c1e9
tree860ce837877fad9044b5a8dd0b90895d4c0e3754
parent48d2f226cbba4f06806382fcc097b30a8d60387f

std.os.windows: upgrade to new function pointer semantics


1 files changed, 40 insertions(+), 10 deletions(-)

lib/std/os/windows.zig+40-10
...@@ -2693,7 +2693,10 @@ pub const MEM_RESERVE_PLACEHOLDERS = 0x2;...@@ -2693,7 +2693,10 @@ pub const MEM_RESERVE_PLACEHOLDERS = 0x2;
2693pub const MEM_DECOMMIT = 0x4000;2693pub const MEM_DECOMMIT = 0x4000;
2694pub const MEM_RELEASE = 0x8000;2694pub const MEM_RELEASE = 0x8000;
26952695
2696pub const PTHREAD_START_ROUTINE = fn (LPVOID) callconv(.C) DWORD;2696pub const PTHREAD_START_ROUTINE = switch (builtin.zig_backend) {
2697 .stage1 => fn (LPVOID) callconv(.C) DWORD,
2698 else => *const fn (LPVOID) callconv(.C) DWORD,
2699};
2697pub const LPTHREAD_START_ROUTINE = PTHREAD_START_ROUTINE;2700pub const LPTHREAD_START_ROUTINE = PTHREAD_START_ROUTINE;
26982701
2699pub const WIN32_FIND_DATAW = extern struct {2702pub const WIN32_FIND_DATAW = extern struct {
...@@ -2866,7 +2869,10 @@ pub const IMAGE_TLS_DIRECTORY = extern struct {...@@ -2866,7 +2869,10 @@ pub const IMAGE_TLS_DIRECTORY = extern struct {
2866pub const IMAGE_TLS_DIRECTORY64 = IMAGE_TLS_DIRECTORY;2869pub const IMAGE_TLS_DIRECTORY64 = IMAGE_TLS_DIRECTORY;
2867pub const IMAGE_TLS_DIRECTORY32 = IMAGE_TLS_DIRECTORY;2870pub const IMAGE_TLS_DIRECTORY32 = IMAGE_TLS_DIRECTORY;
28682871
2869pub const PIMAGE_TLS_CALLBACK = ?fn (PVOID, DWORD, PVOID) callconv(.C) void;2872pub const PIMAGE_TLS_CALLBACK = switch (builtin.zig_backend) {
2873 .stage1 => ?fn (PVOID, DWORD, PVOID) callconv(.C) void,
2874 else => ?*const fn (PVOID, DWORD, PVOID) callconv(.C) void,
2875};
28702876
2871pub const PROV_RSA_FULL = 1;2877pub const PROV_RSA_FULL = 1;
28722878
...@@ -2892,7 +2898,10 @@ pub const FILE_ACTION_MODIFIED = 0x00000003;...@@ -2892,7 +2898,10 @@ pub const FILE_ACTION_MODIFIED = 0x00000003;
2892pub const FILE_ACTION_RENAMED_OLD_NAME = 0x00000004;2898pub const FILE_ACTION_RENAMED_OLD_NAME = 0x00000004;
2893pub const FILE_ACTION_RENAMED_NEW_NAME = 0x00000005;2899pub const FILE_ACTION_RENAMED_NEW_NAME = 0x00000005;
28942900
2895pub const LPOVERLAPPED_COMPLETION_ROUTINE = ?fn (DWORD, DWORD, *OVERLAPPED) callconv(.C) void;2901pub const LPOVERLAPPED_COMPLETION_ROUTINE = switch (builtin.zig_backend) {
2902 .stage1 => ?fn (DWORD, DWORD, *OVERLAPPED) callconv(.C) void,
2903 else => ?*const fn (DWORD, DWORD, *OVERLAPPED) callconv(.C) void,
2904};
28962905
2897pub const FILE_NOTIFY_CHANGE_CREATION = 64;2906pub const FILE_NOTIFY_CHANGE_CREATION = 64;
2898pub const FILE_NOTIFY_CHANGE_SIZE = 8;2907pub const FILE_NOTIFY_CHANGE_SIZE = 8;
...@@ -2945,7 +2954,10 @@ pub const RTL_CRITICAL_SECTION = extern struct {...@@ -2945,7 +2954,10 @@ pub const RTL_CRITICAL_SECTION = extern struct {
2945pub const CRITICAL_SECTION = RTL_CRITICAL_SECTION;2954pub const CRITICAL_SECTION = RTL_CRITICAL_SECTION;
2946pub const INIT_ONCE = RTL_RUN_ONCE;2955pub const INIT_ONCE = RTL_RUN_ONCE;
2947pub const INIT_ONCE_STATIC_INIT = RTL_RUN_ONCE_INIT;2956pub const INIT_ONCE_STATIC_INIT = RTL_RUN_ONCE_INIT;
2948pub const INIT_ONCE_FN = fn (InitOnce: *INIT_ONCE, Parameter: ?*anyopaque, Context: ?*anyopaque) callconv(.C) BOOL;2957pub const INIT_ONCE_FN = switch (builtin.zig_backend) {
2958 .stage1 => fn (InitOnce: *INIT_ONCE, Parameter: ?*anyopaque, Context: ?*anyopaque) callconv(.C) BOOL,
2959 else => *const fn (InitOnce: *INIT_ONCE, Parameter: ?*anyopaque, Context: ?*anyopaque) callconv(.C) BOOL,
2960};
29492961
2950pub const RTL_RUN_ONCE = extern struct {2962pub const RTL_RUN_ONCE = extern struct {
2951 Ptr: ?*anyopaque,2963 Ptr: ?*anyopaque,
...@@ -3230,7 +3242,10 @@ pub const EXCEPTION_POINTERS = extern struct {...@@ -3230,7 +3242,10 @@ pub const EXCEPTION_POINTERS = extern struct {
3230 ContextRecord: *std.os.windows.CONTEXT,3242 ContextRecord: *std.os.windows.CONTEXT,
3231};3243};
32323244
3233pub const VECTORED_EXCEPTION_HANDLER = fn (ExceptionInfo: *EXCEPTION_POINTERS) callconv(WINAPI) c_long;3245pub const VECTORED_EXCEPTION_HANDLER = switch (builtin.zig_backend) {
3246 .stage1 => fn (ExceptionInfo: *EXCEPTION_POINTERS) callconv(WINAPI) c_long,
3247 else => *const fn (ExceptionInfo: *EXCEPTION_POINTERS) callconv(WINAPI) c_long,
3248};
32343249
3235pub const OBJECT_ATTRIBUTES = extern struct {3250pub const OBJECT_ATTRIBUTES = extern struct {
3236 Length: ULONG,3251 Length: ULONG,
...@@ -3506,7 +3521,10 @@ pub const RTL_DRIVE_LETTER_CURDIR = extern struct {...@@ -3506,7 +3521,10 @@ pub const RTL_DRIVE_LETTER_CURDIR = extern struct {
3506 DosPath: UNICODE_STRING,3521 DosPath: UNICODE_STRING,
3507};3522};
35083523
3509pub const PPS_POST_PROCESS_INIT_ROUTINE = ?fn () callconv(.C) void;3524pub const PPS_POST_PROCESS_INIT_ROUTINE = switch (builtin.zig_backend) {
3525 .stage1 => ?fn () callconv(.C) void,
3526 else => ?*const fn () callconv(.C) void,
3527};
35103528
3511pub const FILE_BOTH_DIR_INFORMATION = extern struct {3529pub const FILE_BOTH_DIR_INFORMATION = extern struct {
3512 NextEntryOffset: ULONG,3530 NextEntryOffset: ULONG,
...@@ -3526,7 +3544,10 @@ pub const FILE_BOTH_DIR_INFORMATION = extern struct {...@@ -3526,7 +3544,10 @@ pub const FILE_BOTH_DIR_INFORMATION = extern struct {
3526};3544};
3527pub const FILE_BOTH_DIRECTORY_INFORMATION = FILE_BOTH_DIR_INFORMATION;3545pub const FILE_BOTH_DIRECTORY_INFORMATION = FILE_BOTH_DIR_INFORMATION;
35283546
3529pub const IO_APC_ROUTINE = fn (PVOID, *IO_STATUS_BLOCK, ULONG) callconv(.C) void;3547pub const IO_APC_ROUTINE = switch (builtin.zig_backend) {
3548 .stage1 => fn (PVOID, *IO_STATUS_BLOCK, ULONG) callconv(.C) void,
3549 else => *const fn (PVOID, *IO_STATUS_BLOCK, ULONG) callconv(.C) void,
3550};
35303551
3531pub const CURDIR = extern struct {3552pub const CURDIR = extern struct {
3532 DosPath: UNICODE_STRING,3553 DosPath: UNICODE_STRING,
...@@ -3598,8 +3619,14 @@ pub const ENUM_PAGE_FILE_INFORMATION = extern struct {...@@ -3598,8 +3619,14 @@ pub const ENUM_PAGE_FILE_INFORMATION = extern struct {
3598 PeakUsage: SIZE_T,3619 PeakUsage: SIZE_T,
3599};3620};
36003621
3601pub const PENUM_PAGE_FILE_CALLBACKW = ?fn (?LPVOID, *ENUM_PAGE_FILE_INFORMATION, LPCWSTR) callconv(.C) BOOL;3622pub const PENUM_PAGE_FILE_CALLBACKW = switch (builtin.zig_backend) {
3602pub const PENUM_PAGE_FILE_CALLBACKA = ?fn (?LPVOID, *ENUM_PAGE_FILE_INFORMATION, LPCSTR) callconv(.C) BOOL;3623 .stage1 => ?fn (?LPVOID, *ENUM_PAGE_FILE_INFORMATION, LPCWSTR) callconv(.C) BOOL,
3624 else => ?*const fn (?LPVOID, *ENUM_PAGE_FILE_INFORMATION, LPCWSTR) callconv(.C) BOOL,
3625};
3626pub const PENUM_PAGE_FILE_CALLBACKA = switch (builtin.zig_backend) {
3627 .stage1 => ?fn (?LPVOID, *ENUM_PAGE_FILE_INFORMATION, LPCSTR) callconv(.C) BOOL,
3628 else => ?*const fn (?LPVOID, *ENUM_PAGE_FILE_INFORMATION, LPCSTR) callconv(.C) BOOL,
3629};
36033630
3604pub const PSAPI_WS_WATCH_INFORMATION_EX = extern struct {3631pub const PSAPI_WS_WATCH_INFORMATION_EX = extern struct {
3605 BasicInfo: PSAPI_WS_WATCH_INFORMATION,3632 BasicInfo: PSAPI_WS_WATCH_INFORMATION,
...@@ -3699,4 +3726,7 @@ pub const CTRL_CLOSE_EVENT: DWORD = 2;...@@ -3699,4 +3726,7 @@ pub const CTRL_CLOSE_EVENT: DWORD = 2;
3699pub const CTRL_LOGOFF_EVENT: DWORD = 5;3726pub const CTRL_LOGOFF_EVENT: DWORD = 5;
3700pub const CTRL_SHUTDOWN_EVENT: DWORD = 6;3727pub const CTRL_SHUTDOWN_EVENT: DWORD = 6;
37013728
3702pub const HANDLER_ROUTINE = fn (dwCtrlType: DWORD) callconv(.C) BOOL;3729pub const HANDLER_ROUTINE = switch (builtin.zig_backend) {
3730 .stage1 => fn (dwCtrlType: DWORD) callconv(.C) BOOL,
3731 else => *const fn (dwCtrlType: DWORD) callconv(.C) BOOL,
3732};