aboutsummaryrefslogtreecommitdiff
path: root/lib/std
diff options
context:
space:
mode:
Diffstat (limited to 'lib/std')
-rw-r--r--lib/std/c/darwin.zig17
-rw-r--r--lib/std/c/dragonfly.zig16
-rw-r--r--lib/std/c/freebsd.zig15
-rw-r--r--lib/std/c/haiku.zig13
-rw-r--r--lib/std/c/netbsd.zig15
-rw-r--r--lib/std/c/openbsd.zig15
-rw-r--r--lib/std/c/solaris.zig15
7 files changed, 79 insertions, 27 deletions
diff --git a/lib/std/c/darwin.zig b/lib/std/c/darwin.zig
index bb607cb7c3..e7fd3cde44 100644
--- a/lib/std/c/darwin.zig
+++ b/lib/std/c/darwin.zig
@@ -911,17 +911,18 @@ pub const siginfo_t = extern struct {
/// Renamed from `sigaction` to `Sigaction` to avoid conflict with function name.
pub const Sigaction = extern struct {
- pub usingnamespace if (builtin.zig_backend == .stage1) struct {
- pub const handler_fn = fn (c_int) callconv(.C) void;
- pub const sigaction_fn = fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void;
- } else struct {
- pub const handler_fn = *const fn (c_int) callconv(.C) void;
- pub const sigaction_fn = *const fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void;
+ pub const handler_fn = switch (builtin.zig_backend) {
+ .stage1 => fn (c_int) callconv(.C) void,
+ else => *const fn (c_int) callconv(.C) void,
+ };
+ pub const sigaction_fn = switch (builtin.zig_backend) {
+ .stage1 => fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void,
+ else => *const fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void,
};
handler: extern union {
- handler: ?Sigaction.handler_fn,
- sigaction: ?Sigaction.sigaction_fn,
+ handler: ?handler_fn,
+ sigaction: ?sigaction_fn,
},
mask: sigset_t,
flags: c_uint,
diff --git a/lib/std/c/dragonfly.zig b/lib/std/c/dragonfly.zig
index 2e388d4c80..1a60f94a1e 100644
--- a/lib/std/c/dragonfly.zig
+++ b/lib/std/c/dragonfly.zig
@@ -1,3 +1,4 @@
+const builtin = @import("builtin");
const std = @import("../std.zig");
const maxInt = std.math.maxInt;
const iovec = std.os.iovec;
@@ -12,7 +13,10 @@ pub extern "c" fn sigaltstack(ss: ?*stack_t, old_ss: ?*stack_t) c_int;
pub extern "c" fn getrandom(buf_ptr: [*]u8, buf_len: usize, flags: c_uint) isize;
pub extern "c" fn pipe2(fds: *[2]fd_t, flags: u32) c_int;
-pub const dl_iterate_phdr_callback = fn (info: *dl_phdr_info, size: usize, data: ?*anyopaque) callconv(.C) c_int;
+pub const dl_iterate_phdr_callback = switch (builtin.zig_backend) {
+ .stage1 => fn (info: *dl_phdr_info, size: usize, data: ?*anyopaque) callconv(.C) c_int,
+ else => *const fn (info: *dl_phdr_info, size: usize, data: ?*anyopaque) callconv(.C) c_int,
+};
pub extern "c" fn dl_iterate_phdr(callback: dl_iterate_phdr_callback, data: ?*anyopaque) c_int;
pub extern "c" fn lwp_gettid() c_int;
@@ -679,8 +683,14 @@ pub const empty_sigset = sigset_t{ .__bits = [_]c_uint{0} ** _SIG_WORDS };
pub const sig_atomic_t = c_int;
pub const Sigaction = extern struct {
- pub const handler_fn = fn (c_int) callconv(.C) void;
- pub const sigaction_fn = fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void;
+ pub const handler_fn = switch (builtin.zig_backend) {
+ .stage1 => fn (c_int) callconv(.C) void,
+ else => *const fn (c_int) callconv(.C) void,
+ };
+ pub const sigaction_fn = switch (builtin.zig_backend) {
+ .stage1 => fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void,
+ else => *const fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void,
+ };
/// signal handler
handler: extern union {
diff --git a/lib/std/c/freebsd.zig b/lib/std/c/freebsd.zig
index 997542439d..5a12b5e136 100644
--- a/lib/std/c/freebsd.zig
+++ b/lib/std/c/freebsd.zig
@@ -35,7 +35,10 @@ pub extern "c" fn sendfile(
flags: u32,
) c_int;
-pub const dl_iterate_phdr_callback = fn (info: *dl_phdr_info, size: usize, data: ?*anyopaque) callconv(.C) c_int;
+pub const dl_iterate_phdr_callback = switch (builtin.zig_backend) {
+ .stage1 => fn (info: *dl_phdr_info, size: usize, data: ?*anyopaque) callconv(.C) c_int,
+ else => *const fn (info: *dl_phdr_info, size: usize, data: ?*anyopaque) callconv(.C) c_int,
+};
pub extern "c" fn dl_iterate_phdr(callback: dl_iterate_phdr_callback, data: ?*anyopaque) c_int;
pub const pthread_mutex_t = extern struct {
@@ -998,8 +1001,14 @@ const NSIG = 32;
/// Renamed from `sigaction` to `Sigaction` to avoid conflict with the syscall.
pub const Sigaction = extern struct {
- pub const handler_fn = fn (c_int) callconv(.C) void;
- pub const sigaction_fn = fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void;
+ pub const handler_fn = switch (builtin.zig_backend) {
+ .stage1 => fn (c_int) callconv(.C) void,
+ else => *const fn (c_int) callconv(.C) void,
+ };
+ pub const sigaction_fn = switch (builtin.zig_backend) {
+ .stage1 => fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void,
+ else => *const fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void,
+ };
/// signal handler
handler: extern union {
diff --git a/lib/std/c/haiku.zig b/lib/std/c/haiku.zig
index 9c85aa8b66..0d238d833e 100644
--- a/lib/std/c/haiku.zig
+++ b/lib/std/c/haiku.zig
@@ -463,9 +463,9 @@ pub const SA = struct {
};
pub const SIG = struct {
- pub const ERR = @intToPtr(fn (i32) callconv(.C) void, maxInt(usize));
- pub const DFL = @intToPtr(fn (i32) callconv(.C) void, 0);
- pub const IGN = @intToPtr(fn (i32) callconv(.C) void, 1);
+ pub const ERR = @intToPtr(?Sigaction.handler_fn, maxInt(usize));
+ pub const DFL = @intToPtr(?Sigaction.handler_fn, 0);
+ pub const IGN = @intToPtr(?Sigaction.handler_fn, 1);
pub const HUP = 1;
pub const INT = 2;
@@ -738,9 +738,14 @@ const NSIG = 32;
/// Renamed from `sigaction` to `Sigaction` to avoid conflict with the syscall.
pub const Sigaction = extern struct {
+ pub const handler_fn = switch (builtin.zig_backend) {
+ .stage1 => fn (i32) callconv(.C) void,
+ else => *const fn (i32) callconv(.C) void,
+ };
+
/// signal handler
__sigaction_u: extern union {
- __sa_handler: fn (i32) callconv(.C) void,
+ __sa_handler: handler_fn,
},
/// see signal options
diff --git a/lib/std/c/netbsd.zig b/lib/std/c/netbsd.zig
index 5739e6fac9..3de14da7a2 100644
--- a/lib/std/c/netbsd.zig
+++ b/lib/std/c/netbsd.zig
@@ -9,7 +9,10 @@ const rusage = std.c.rusage;
extern "c" fn __errno() *c_int;
pub const _errno = __errno;
-pub const dl_iterate_phdr_callback = fn (info: *dl_phdr_info, size: usize, data: ?*anyopaque) callconv(.C) c_int;
+pub const dl_iterate_phdr_callback = switch (builtin.zig_backend) {
+ .stage1 => fn (info: *dl_phdr_info, size: usize, data: ?*anyopaque) callconv(.C) c_int,
+ else => *const fn (info: *dl_phdr_info, size: usize, data: ?*anyopaque) callconv(.C) c_int,
+};
pub extern "c" fn dl_iterate_phdr(callback: dl_iterate_phdr_callback, data: ?*anyopaque) c_int;
pub extern "c" fn _lwp_self() lwpid_t;
@@ -971,8 +974,14 @@ pub const SIG = struct {
/// Renamed from `sigaction` to `Sigaction` to avoid conflict with the syscall.
pub const Sigaction = extern struct {
- pub const handler_fn = fn (c_int) callconv(.C) void;
- pub const sigaction_fn = fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void;
+ pub const handler_fn = switch (builtin.zig_backend) {
+ .stage1 => fn (c_int) callconv(.C) void,
+ else => *const fn (c_int) callconv(.C) void,
+ };
+ pub const sigaction_fn = switch (builtin.zig_backend) {
+ .stage1 => fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void,
+ else => *const fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void,
+ };
/// signal handler
handler: extern union {
diff --git a/lib/std/c/openbsd.zig b/lib/std/c/openbsd.zig
index 3ef2be4628..0863cc5a5e 100644
--- a/lib/std/c/openbsd.zig
+++ b/lib/std/c/openbsd.zig
@@ -7,7 +7,10 @@ const iovec_const = std.os.iovec_const;
extern "c" fn __errno() *c_int;
pub const _errno = __errno;
-pub const dl_iterate_phdr_callback = fn (info: *dl_phdr_info, size: usize, data: ?*anyopaque) callconv(.C) c_int;
+pub const dl_iterate_phdr_callback = switch (builtin.zig_backend) {
+ .stage1 => fn (info: *dl_phdr_info, size: usize, data: ?*anyopaque) callconv(.C) c_int,
+ else => *const fn (info: *dl_phdr_info, size: usize, data: ?*anyopaque) callconv(.C) c_int,
+};
pub extern "c" fn dl_iterate_phdr(callback: dl_iterate_phdr_callback, data: ?*anyopaque) c_int;
pub extern "c" fn arc4random_buf(buf: [*]u8, len: usize) void;
@@ -1026,8 +1029,14 @@ pub const SIG = struct {
/// Renamed from `sigaction` to `Sigaction` to avoid conflict with the syscall.
pub const Sigaction = extern struct {
- pub const handler_fn = fn (c_int) callconv(.C) void;
- pub const sigaction_fn = fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void;
+ pub const handler_fn = switch (builtin.zig_backend) {
+ .stage1 => fn (c_int) callconv(.C) void,
+ else => *const fn (c_int) callconv(.C) void,
+ };
+ pub const sigaction_fn = switch (builtin.zig_backend) {
+ .stage1 => fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void,
+ else => *const fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void,
+ };
/// signal handler
handler: extern union {
diff --git a/lib/std/c/solaris.zig b/lib/std/c/solaris.zig
index 14f5bcf1c8..61e52cfe30 100644
--- a/lib/std/c/solaris.zig
+++ b/lib/std/c/solaris.zig
@@ -8,7 +8,10 @@ const timezone = std.c.timezone;
extern "c" fn ___errno() *c_int;
pub const _errno = ___errno;
-pub const dl_iterate_phdr_callback = fn (info: *dl_phdr_info, size: usize, data: ?*anyopaque) callconv(.C) c_int;
+pub const dl_iterate_phdr_callback = switch (builtin.zig_backend) {
+ .stage1 => fn (info: *dl_phdr_info, size: usize, data: ?*anyopaque) callconv(.C) c_int,
+ else => *const fn (info: *dl_phdr_info, size: usize, data: ?*anyopaque) callconv(.C) c_int,
+};
pub extern "c" fn dl_iterate_phdr(callback: dl_iterate_phdr_callback, data: ?*anyopaque) c_int;
pub extern "c" fn getdents(fd: c_int, buf_ptr: [*]u8, nbytes: usize) usize;
@@ -952,8 +955,14 @@ pub const SIG = struct {
/// Renamed from `sigaction` to `Sigaction` to avoid conflict with the syscall.
pub const Sigaction = extern struct {
- pub const handler_fn = fn (c_int) callconv(.C) void;
- pub const sigaction_fn = fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void;
+ pub const handler_fn = switch (builtin.zig_backend) {
+ .stage1 => fn (c_int) callconv(.C) void,
+ else => *const fn (c_int) callconv(.C) void,
+ };
+ pub const sigaction_fn = switch (builtin.zig_backend) {
+ .stage1 => fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void,
+ else => *const fn (c_int, *const siginfo_t, ?*const anyopaque) callconv(.C) void,
+ };
/// signal options
flags: c_uint,