aboutsummaryrefslogtreecommitdiff
path: root/lib/std/c
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2020-03-04 15:35:46 -0500
committerAndrew Kelley <andrew@ziglang.org>2020-03-04 15:35:46 -0500
commit3178807657f0d75646c9de11ba4b23ee556e70da (patch)
tree0e8f668368e68a3fe7b510ae00aaa5d48dc379b2 /lib/std/c
parent66e6f5586e314b6f4fac8b0ed0198f47ba80d4f3 (diff)
parent6cbd1ac51af4300ef11373d16771cf011fb6e572 (diff)
downloadzig-3178807657f0d75646c9de11ba4b23ee556e70da.tar.gz
zig-3178807657f0d75646c9de11ba4b23ee556e70da.zip
Merge remote-tracking branch 'origin/master' into llvm10
Diffstat (limited to 'lib/std/c')
-rw-r--r--lib/std/c/darwin.zig16
-rw-r--r--lib/std/c/freebsd.zig16
-rw-r--r--lib/std/c/linux.zig7
3 files changed, 39 insertions, 0 deletions
diff --git a/lib/std/c/darwin.zig b/lib/std/c/darwin.zig
index 524c82211e..881e52c72c 100644
--- a/lib/std/c/darwin.zig
+++ b/lib/std/c/darwin.zig
@@ -55,6 +55,22 @@ pub extern "c" fn clock_get_time(clock_serv: clock_serv_t, cur_time: *mach_times
pub extern "c" fn host_get_clock_service(host: host_t, clock_id: clock_id_t, clock_serv: ?[*]clock_serv_t) kern_return_t;
pub extern "c" fn mach_port_deallocate(task: ipc_space_t, name: mach_port_name_t) kern_return_t;
+pub const sf_hdtr = extern struct {
+ headers: [*]const iovec_const,
+ hdr_cnt: c_int,
+ trailers: [*]const iovec_const,
+ trl_cnt: c_int,
+};
+
+pub extern "c" fn sendfile(
+ out_fd: fd_t,
+ in_fd: fd_t,
+ offset: off_t,
+ len: *off_t,
+ sf_hdtr: ?*sf_hdtr,
+ flags: u32,
+) c_int;
+
pub fn sigaddset(set: *sigset_t, signo: u5) void {
set.* |= @as(u32, 1) << (signo - 1);
}
diff --git a/lib/std/c/freebsd.zig b/lib/std/c/freebsd.zig
index 4c6614c978..2c4820bbe9 100644
--- a/lib/std/c/freebsd.zig
+++ b/lib/std/c/freebsd.zig
@@ -8,6 +8,22 @@ pub extern "c" fn getdents(fd: c_int, buf_ptr: [*]u8, nbytes: usize) usize;
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 const sf_hdtr = extern struct {
+ headers: [*]const iovec_const,
+ hdr_cnt: c_int,
+ trailers: [*]const iovec_const,
+ trl_cnt: c_int,
+};
+pub extern "c" fn sendfile(
+ out_fd: fd_t,
+ in_fd: fd_t,
+ offset: ?*off_t,
+ nbytes: usize,
+ sf_hdtr: ?*sf_hdtr,
+ sbytes: ?*off_t,
+ flags: u32,
+) c_int;
+
pub const dl_iterate_phdr_callback = extern fn (info: *dl_phdr_info, size: usize, data: ?*c_void) c_int;
pub extern "c" fn dl_iterate_phdr(callback: dl_iterate_phdr_callback, data: ?*c_void) c_int;
diff --git a/lib/std/c/linux.zig b/lib/std/c/linux.zig
index be32536d6f..7ac5ecd3fe 100644
--- a/lib/std/c/linux.zig
+++ b/lib/std/c/linux.zig
@@ -82,6 +82,13 @@ pub extern "c" fn sigaltstack(ss: ?*stack_t, old_ss: ?*stack_t) c_int;
pub extern "c" fn memfd_create(name: [*:0]const u8, flags: c_uint) c_int;
+pub extern "c" fn sendfile(
+ out_fd: fd_t,
+ in_fd: fd_t,
+ offset: ?*off_t,
+ count: usize,
+) isize;
+
pub const pthread_attr_t = extern struct {
__size: [56]u8,
__align: c_long,