authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2022-07-04 13:02:13-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2022-07-04 13:02:30-07:00
log9c5056788f98396ec461a1a89c4b580efe01fd62
tree2d1143f55da00e3354c72c7c99a3ef1392081757
parente3274067f8add7db239a49cb061eaac28008cdec

std: update bsd bits to new fn ptr semantics


7 files changed, 79 insertions(+), 27 deletions(-)

lib/std/c/darwin.zig+9-8
...@@ -911,17 +911,18 @@ pub const siginfo_t = extern struct {...@@ -911,17 +911,18 @@ pub const siginfo_t = extern struct {
911911
912/// Renamed from `sigaction` to `Sigaction` to avoid conflict with function name.912/// Renamed from `sigaction` to `Sigaction` to avoid conflict with function name.
913pub const Sigaction = extern struct {913pub const Sigaction = extern struct {
914 pub usingnamespace if (builtin.zig_backend == .stage1) struct {914 pub const handler_fn = switch (builtin.zig_backend) {
915 pub const handler_fn = fn (c_int) callconv(.C) void;915 .stage1 => fn (c_int) callconv(.C) void,
916 pub const sigaction_fn = fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void;916 else => *const fn (c_int) callconv(.C) void,
917 } else struct {917 };
918 pub const handler_fn = *const fn (c_int) callconv(.C) void;918 pub const sigaction_fn = switch (builtin.zig_backend) {
919 pub const sigaction_fn = *const fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void;919 .stage1 => fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void,
920 else => *const fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void,
920 };921 };
921922
922 handler: extern union {923 handler: extern union {
923 handler: ?Sigaction.handler_fn,924 handler: ?handler_fn,
924 sigaction: ?Sigaction.sigaction_fn,925 sigaction: ?sigaction_fn,
925 },926 },
926 mask: sigset_t,927 mask: sigset_t,
927 flags: c_uint,928 flags: c_uint,
lib/std/c/dragonfly.zig+13-3
...@@ -1,3 +1,4 @@...@@ -1,3 +1,4 @@
1const builtin = @import("builtin");
1const std = @import("../std.zig");2const std = @import("../std.zig");
2const maxInt = std.math.maxInt;3const maxInt = std.math.maxInt;
3const iovec = std.os.iovec;4const iovec = std.os.iovec;
...@@ -12,7 +13,10 @@ pub extern "c" fn sigaltstack(ss: ?*stack_t, old_ss: ?*stack_t) c_int;...@@ -12,7 +13,10 @@ pub extern "c" fn sigaltstack(ss: ?*stack_t, old_ss: ?*stack_t) c_int;
12pub extern "c" fn getrandom(buf_ptr: [*]u8, buf_len: usize, flags: c_uint) isize;13pub extern "c" fn getrandom(buf_ptr: [*]u8, buf_len: usize, flags: c_uint) isize;
13pub extern "c" fn pipe2(fds: *[2]fd_t, flags: u32) c_int;14pub extern "c" fn pipe2(fds: *[2]fd_t, flags: u32) c_int;
1415
15pub const dl_iterate_phdr_callback = fn (info: *dl_phdr_info, size: usize, data: ?*anyopaque) callconv(.C) c_int;16pub const dl_iterate_phdr_callback = switch (builtin.zig_backend) {
17 .stage1 => fn (info: *dl_phdr_info, size: usize, data: ?*anyopaque) callconv(.C) c_int,
18 else => *const fn (info: *dl_phdr_info, size: usize, data: ?*anyopaque) callconv(.C) c_int,
19};
16pub extern "c" fn dl_iterate_phdr(callback: dl_iterate_phdr_callback, data: ?*anyopaque) c_int;20pub extern "c" fn dl_iterate_phdr(callback: dl_iterate_phdr_callback, data: ?*anyopaque) c_int;
1721
18pub extern "c" fn lwp_gettid() c_int;22pub extern "c" fn lwp_gettid() c_int;
...@@ -679,8 +683,14 @@ pub const empty_sigset = sigset_t{ .__bits = [_]c_uint{0} ** _SIG_WORDS };...@@ -679,8 +683,14 @@ pub const empty_sigset = sigset_t{ .__bits = [_]c_uint{0} ** _SIG_WORDS };
679pub const sig_atomic_t = c_int;683pub const sig_atomic_t = c_int;
680684
681pub const Sigaction = extern struct {685pub const Sigaction = extern struct {
682 pub const handler_fn = fn (c_int) callconv(.C) void;686 pub const handler_fn = switch (builtin.zig_backend) {
683 pub const sigaction_fn = fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void;687 .stage1 => fn (c_int) callconv(.C) void,
688 else => *const fn (c_int) callconv(.C) void,
689 };
690 pub const sigaction_fn = switch (builtin.zig_backend) {
691 .stage1 => fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void,
692 else => *const fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void,
693 };
684694
685 /// signal handler695 /// signal handler
686 handler: extern union {696 handler: extern union {
lib/std/c/freebsd.zig+12-3
...@@ -35,7 +35,10 @@ pub extern "c" fn sendfile(...@@ -35,7 +35,10 @@ pub extern "c" fn sendfile(
35 flags: u32,35 flags: u32,
36) c_int;36) c_int;
3737
38pub const dl_iterate_phdr_callback = fn (info: *dl_phdr_info, size: usize, data: ?*anyopaque) callconv(.C) c_int;38pub const dl_iterate_phdr_callback = switch (builtin.zig_backend) {
39 .stage1 => fn (info: *dl_phdr_info, size: usize, data: ?*anyopaque) callconv(.C) c_int,
40 else => *const fn (info: *dl_phdr_info, size: usize, data: ?*anyopaque) callconv(.C) c_int,
41};
39pub extern "c" fn dl_iterate_phdr(callback: dl_iterate_phdr_callback, data: ?*anyopaque) c_int;42pub extern "c" fn dl_iterate_phdr(callback: dl_iterate_phdr_callback, data: ?*anyopaque) c_int;
4043
41pub const pthread_mutex_t = extern struct {44pub const pthread_mutex_t = extern struct {
...@@ -998,8 +1001,14 @@ const NSIG = 32;...@@ -998,8 +1001,14 @@ const NSIG = 32;
9981001
999/// Renamed from `sigaction` to `Sigaction` to avoid conflict with the syscall.1002/// Renamed from `sigaction` to `Sigaction` to avoid conflict with the syscall.
1000pub const Sigaction = extern struct {1003pub const Sigaction = extern struct {
1001 pub const handler_fn = fn (c_int) callconv(.C) void;1004 pub const handler_fn = switch (builtin.zig_backend) {
1002 pub const sigaction_fn = fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void;1005 .stage1 => fn (c_int) callconv(.C) void,
1006 else => *const fn (c_int) callconv(.C) void,
1007 };
1008 pub const sigaction_fn = switch (builtin.zig_backend) {
1009 .stage1 => fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void,
1010 else => *const fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void,
1011 };
10031012
1004 /// signal handler1013 /// signal handler
1005 handler: extern union {1014 handler: extern union {
lib/std/c/haiku.zig+9-4
...@@ -463,9 +463,9 @@ pub const SA = struct {...@@ -463,9 +463,9 @@ pub const SA = struct {
463};463};
464464
465pub const SIG = struct {465pub const SIG = struct {
466 pub const ERR = @intToPtr(fn (i32) callconv(.C) void, maxInt(usize));466 pub const ERR = @intToPtr(?Sigaction.handler_fn, maxInt(usize));
467 pub const DFL = @intToPtr(fn (i32) callconv(.C) void, 0);467 pub const DFL = @intToPtr(?Sigaction.handler_fn, 0);
468 pub const IGN = @intToPtr(fn (i32) callconv(.C) void, 1);468 pub const IGN = @intToPtr(?Sigaction.handler_fn, 1);
469469
470 pub const HUP = 1;470 pub const HUP = 1;
471 pub const INT = 2;471 pub const INT = 2;
...@@ -738,9 +738,14 @@ const NSIG = 32;...@@ -738,9 +738,14 @@ const NSIG = 32;
738738
739/// Renamed from `sigaction` to `Sigaction` to avoid conflict with the syscall.739/// Renamed from `sigaction` to `Sigaction` to avoid conflict with the syscall.
740pub const Sigaction = extern struct {740pub const Sigaction = extern struct {
741 pub const handler_fn = switch (builtin.zig_backend) {
742 .stage1 => fn (i32) callconv(.C) void,
743 else => *const fn (i32) callconv(.C) void,
744 };
745
741 /// signal handler746 /// signal handler
742 __sigaction_u: extern union {747 __sigaction_u: extern union {
743 __sa_handler: fn (i32) callconv(.C) void,748 __sa_handler: handler_fn,
744 },749 },
745750
746 /// see signal options751 /// see signal options
lib/std/c/netbsd.zig+12-3
...@@ -9,7 +9,10 @@ const rusage = std.c.rusage;...@@ -9,7 +9,10 @@ const rusage = std.c.rusage;
9extern "c" fn __errno() *c_int;9extern "c" fn __errno() *c_int;
10pub const _errno = __errno;10pub const _errno = __errno;
1111
12pub const dl_iterate_phdr_callback = fn (info: *dl_phdr_info, size: usize, data: ?*anyopaque) callconv(.C) c_int;12pub const dl_iterate_phdr_callback = switch (builtin.zig_backend) {
13 .stage1 => fn (info: *dl_phdr_info, size: usize, data: ?*anyopaque) callconv(.C) c_int,
14 else => *const fn (info: *dl_phdr_info, size: usize, data: ?*anyopaque) callconv(.C) c_int,
15};
13pub extern "c" fn dl_iterate_phdr(callback: dl_iterate_phdr_callback, data: ?*anyopaque) c_int;16pub extern "c" fn dl_iterate_phdr(callback: dl_iterate_phdr_callback, data: ?*anyopaque) c_int;
1417
15pub extern "c" fn _lwp_self() lwpid_t;18pub extern "c" fn _lwp_self() lwpid_t;
...@@ -971,8 +974,14 @@ pub const SIG = struct {...@@ -971,8 +974,14 @@ pub const SIG = struct {
971974
972/// Renamed from `sigaction` to `Sigaction` to avoid conflict with the syscall.975/// Renamed from `sigaction` to `Sigaction` to avoid conflict with the syscall.
973pub const Sigaction = extern struct {976pub const Sigaction = extern struct {
974 pub const handler_fn = fn (c_int) callconv(.C) void;977 pub const handler_fn = switch (builtin.zig_backend) {
975 pub const sigaction_fn = fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void;978 .stage1 => fn (c_int) callconv(.C) void,
979 else => *const fn (c_int) callconv(.C) void,
980 };
981 pub const sigaction_fn = switch (builtin.zig_backend) {
982 .stage1 => fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void,
983 else => *const fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void,
984 };
976985
977 /// signal handler986 /// signal handler
978 handler: extern union {987 handler: extern union {
lib/std/c/openbsd.zig+12-3
...@@ -7,7 +7,10 @@ const iovec_const = std.os.iovec_const;...@@ -7,7 +7,10 @@ const iovec_const = std.os.iovec_const;
7extern "c" fn __errno() *c_int;7extern "c" fn __errno() *c_int;
8pub const _errno = __errno;8pub const _errno = __errno;
99
10pub const dl_iterate_phdr_callback = fn (info: *dl_phdr_info, size: usize, data: ?*anyopaque) callconv(.C) c_int;10pub const dl_iterate_phdr_callback = switch (builtin.zig_backend) {
11 .stage1 => fn (info: *dl_phdr_info, size: usize, data: ?*anyopaque) callconv(.C) c_int,
12 else => *const fn (info: *dl_phdr_info, size: usize, data: ?*anyopaque) callconv(.C) c_int,
13};
11pub extern "c" fn dl_iterate_phdr(callback: dl_iterate_phdr_callback, data: ?*anyopaque) c_int;14pub extern "c" fn dl_iterate_phdr(callback: dl_iterate_phdr_callback, data: ?*anyopaque) c_int;
1215
13pub extern "c" fn arc4random_buf(buf: [*]u8, len: usize) void;16pub extern "c" fn arc4random_buf(buf: [*]u8, len: usize) void;
...@@ -1026,8 +1029,14 @@ pub const SIG = struct {...@@ -1026,8 +1029,14 @@ pub const SIG = struct {
10261029
1027/// Renamed from `sigaction` to `Sigaction` to avoid conflict with the syscall.1030/// Renamed from `sigaction` to `Sigaction` to avoid conflict with the syscall.
1028pub const Sigaction = extern struct {1031pub const Sigaction = extern struct {
1029 pub const handler_fn = fn (c_int) callconv(.C) void;1032 pub const handler_fn = switch (builtin.zig_backend) {
1030 pub const sigaction_fn = fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void;1033 .stage1 => fn (c_int) callconv(.C) void,
1034 else => *const fn (c_int) callconv(.C) void,
1035 };
1036 pub const sigaction_fn = switch (builtin.zig_backend) {
1037 .stage1 => fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void,
1038 else => *const fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void,
1039 };
10311040
1032 /// signal handler1041 /// signal handler
1033 handler: extern union {1042 handler: extern union {
lib/std/c/solaris.zig+12-3
...@@ -8,7 +8,10 @@ const timezone = std.c.timezone;...@@ -8,7 +8,10 @@ const timezone = std.c.timezone;
8extern "c" fn ___errno() *c_int;8extern "c" fn ___errno() *c_int;
9pub const _errno = ___errno;9pub const _errno = ___errno;
1010
11pub const dl_iterate_phdr_callback = fn (info: *dl_phdr_info, size: usize, data: ?*anyopaque) callconv(.C) c_int;11pub const dl_iterate_phdr_callback = switch (builtin.zig_backend) {
12 .stage1 => fn (info: *dl_phdr_info, size: usize, data: ?*anyopaque) callconv(.C) c_int,
13 else => *const fn (info: *dl_phdr_info, size: usize, data: ?*anyopaque) callconv(.C) c_int,
14};
12pub extern "c" fn dl_iterate_phdr(callback: dl_iterate_phdr_callback, data: ?*anyopaque) c_int;15pub extern "c" fn dl_iterate_phdr(callback: dl_iterate_phdr_callback, data: ?*anyopaque) c_int;
1316
14pub extern "c" fn getdents(fd: c_int, buf_ptr: [*]u8, nbytes: usize) usize;17pub extern "c" fn getdents(fd: c_int, buf_ptr: [*]u8, nbytes: usize) usize;
...@@ -952,8 +955,14 @@ pub const SIG = struct {...@@ -952,8 +955,14 @@ pub const SIG = struct {
952955
953/// Renamed from `sigaction` to `Sigaction` to avoid conflict with the syscall.956/// Renamed from `sigaction` to `Sigaction` to avoid conflict with the syscall.
954pub const Sigaction = extern struct {957pub const Sigaction = extern struct {
955 pub const handler_fn = fn (c_int) callconv(.C) void;958 pub const handler_fn = switch (builtin.zig_backend) {
956 pub const sigaction_fn = fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void;959 .stage1 => fn (c_int) callconv(.C) void,
960 else => *const fn (c_int) callconv(.C) void,
961 };
962 pub const sigaction_fn = switch (builtin.zig_backend) {
963 .stage1 => fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void,
964 else => *const fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void,
965 };
957966
958 /// signal options967 /// signal options
959 flags: c_uint,968 flags: c_uint,