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 {
911911
912912/// Renamed from `sigaction` to `Sigaction` to avoid conflict with function name.
913913pub const Sigaction = extern struct {
914 pub usingnamespace if (builtin.zig_backend == .stage1) struct {
915 pub const handler_fn = fn (c_int) callconv(.C) void;
916 pub const sigaction_fn = fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void;
917 } else struct {
918 pub const handler_fn = *const fn (c_int) callconv(.C) void;
919 pub const sigaction_fn = *const fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void;
914 pub const handler_fn = switch (builtin.zig_backend) {
915 .stage1 => fn (c_int) callconv(.C) void,
916 else => *const fn (c_int) callconv(.C) void,
917 };
918 pub const sigaction_fn = switch (builtin.zig_backend) {
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,
920921 };
921922
922923 handler: extern union {
923 handler: ?Sigaction.handler_fn,
924 sigaction: ?Sigaction.sigaction_fn,
924 handler: ?handler_fn,
925 sigaction: ?sigaction_fn,
925926 },
926927 mask: sigset_t,
927928 flags: c_uint,
lib/std/c/dragonfly.zig+13-3
......@@ -1,3 +1,4 @@
1const builtin = @import("builtin");
12const std = @import("../std.zig");
23const maxInt = std.math.maxInt;
34const iovec = std.os.iovec;
......@@ -12,7 +13,10 @@ pub extern "c" fn sigaltstack(ss: ?*stack_t, old_ss: ?*stack_t) c_int;
1213pub extern "c" fn getrandom(buf_ptr: [*]u8, buf_len: usize, flags: c_uint) isize;
1314pub 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};
1620pub extern "c" fn dl_iterate_phdr(callback: dl_iterate_phdr_callback, data: ?*anyopaque) c_int;
1721
1822pub extern "c" fn lwp_gettid() c_int;
......@@ -679,8 +683,14 @@ pub const empty_sigset = sigset_t{ .__bits = [_]c_uint{0} ** _SIG_WORDS };
679683pub const sig_atomic_t = c_int;
680684
681685pub const Sigaction = extern struct {
682 pub const handler_fn = fn (c_int) callconv(.C) void;
683 pub const sigaction_fn = fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void;
686 pub const handler_fn = switch (builtin.zig_backend) {
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
685695 /// signal handler
686696 handler: extern union {
lib/std/c/freebsd.zig+12-3
......@@ -35,7 +35,10 @@ pub extern "c" fn sendfile(
3535 flags: u32,
3636) 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};
3942pub extern "c" fn dl_iterate_phdr(callback: dl_iterate_phdr_callback, data: ?*anyopaque) c_int;
4043
4144pub const pthread_mutex_t = extern struct {
......@@ -998,8 +1001,14 @@ const NSIG = 32;
9981001
9991002/// Renamed from `sigaction` to `Sigaction` to avoid conflict with the syscall.
10001003pub const Sigaction = extern struct {
1001 pub const handler_fn = fn (c_int) callconv(.C) void;
1002 pub const sigaction_fn = fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void;
1004 pub const handler_fn = switch (builtin.zig_backend) {
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
10041013 /// signal handler
10051014 handler: extern union {
lib/std/c/haiku.zig+9-4
......@@ -463,9 +463,9 @@ pub const SA = struct {
463463};
464464
465465pub const SIG = struct {
466 pub const ERR = @intToPtr(fn (i32) callconv(.C) void, maxInt(usize));
467 pub const DFL = @intToPtr(fn (i32) callconv(.C) void, 0);
468 pub const IGN = @intToPtr(fn (i32) callconv(.C) void, 1);
466 pub const ERR = @intToPtr(?Sigaction.handler_fn, maxInt(usize));
467 pub const DFL = @intToPtr(?Sigaction.handler_fn, 0);
468 pub const IGN = @intToPtr(?Sigaction.handler_fn, 1);
469469
470470 pub const HUP = 1;
471471 pub const INT = 2;
......@@ -738,9 +738,14 @@ const NSIG = 32;
738738
739739/// Renamed from `sigaction` to `Sigaction` to avoid conflict with the syscall.
740740pub 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
741746 /// signal handler
742747 __sigaction_u: extern union {
743 __sa_handler: fn (i32) callconv(.C) void,
748 __sa_handler: handler_fn,
744749 },
745750
746751 /// see signal options
lib/std/c/netbsd.zig+12-3
......@@ -9,7 +9,10 @@ const rusage = std.c.rusage;
99extern "c" fn __errno() *c_int;
1010pub 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};
1316pub extern "c" fn dl_iterate_phdr(callback: dl_iterate_phdr_callback, data: ?*anyopaque) c_int;
1417
1518pub extern "c" fn _lwp_self() lwpid_t;
......@@ -971,8 +974,14 @@ pub const SIG = struct {
971974
972975/// Renamed from `sigaction` to `Sigaction` to avoid conflict with the syscall.
973976pub const Sigaction = extern struct {
974 pub const handler_fn = fn (c_int) callconv(.C) void;
975 pub const sigaction_fn = fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void;
977 pub const handler_fn = switch (builtin.zig_backend) {
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
977986 /// signal handler
978987 handler: extern union {
lib/std/c/openbsd.zig+12-3
......@@ -7,7 +7,10 @@ const iovec_const = std.os.iovec_const;
77extern "c" fn __errno() *c_int;
88pub 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};
1114pub extern "c" fn dl_iterate_phdr(callback: dl_iterate_phdr_callback, data: ?*anyopaque) c_int;
1215
1316pub extern "c" fn arc4random_buf(buf: [*]u8, len: usize) void;
......@@ -1026,8 +1029,14 @@ pub const SIG = struct {
10261029
10271030/// Renamed from `sigaction` to `Sigaction` to avoid conflict with the syscall.
10281031pub const Sigaction = extern struct {
1029 pub const handler_fn = fn (c_int) callconv(.C) void;
1030 pub const sigaction_fn = fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void;
1032 pub const handler_fn = switch (builtin.zig_backend) {
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
10321041 /// signal handler
10331042 handler: extern union {
lib/std/c/solaris.zig+12-3
......@@ -8,7 +8,10 @@ const timezone = std.c.timezone;
88extern "c" fn ___errno() *c_int;
99pub 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};
1215pub extern "c" fn dl_iterate_phdr(callback: dl_iterate_phdr_callback, data: ?*anyopaque) c_int;
1316
1417pub extern "c" fn getdents(fd: c_int, buf_ptr: [*]u8, nbytes: usize) usize;
......@@ -952,8 +955,14 @@ pub const SIG = struct {
952955
953956/// Renamed from `sigaction` to `Sigaction` to avoid conflict with the syscall.
954957pub const Sigaction = extern struct {
955 pub const handler_fn = fn (c_int) callconv(.C) void;
956 pub const sigaction_fn = fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void;
958 pub const handler_fn = switch (builtin.zig_backend) {
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
958967 /// signal options
959968 flags: c_uint,