diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2018-11-27 21:06:35 -0500 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2018-11-27 21:06:35 -0500 |
| commit | 57f44eb2bd17fc0c4e9d09b8c8621867f784d2f0 (patch) | |
| tree | 51f46cdc8f8ea0f4e642d62b3bf8fce58034362e /std/c | |
| parent | 1fb15be05f1037aad53d2db32d13123363365d10 (diff) | |
| parent | dd2450b1b21809c3fe62920498c318fbe519f579 (diff) | |
| download | zig-57f44eb2bd17fc0c4e9d09b8c8621867f784d2f0.tar.gz zig-57f44eb2bd17fc0c4e9d09b8c8621867f784d2f0.zip | |
Merge branch 'freebsd2'
Tier 2 support for FreeBSD
Diffstat (limited to 'std/c')
| -rw-r--r-- | std/c/freebsd.zig | 33 | ||||
| -rw-r--r-- | std/c/index.zig | 1 |
2 files changed, 34 insertions, 0 deletions
diff --git a/std/c/freebsd.zig b/std/c/freebsd.zig new file mode 100644 index 0000000000..421e964827 --- /dev/null +++ b/std/c/freebsd.zig @@ -0,0 +1,33 @@ +const timespec = @import("../os/freebsd/index.zig").timespec; + +extern "c" fn __error() *c_int; +pub const _errno = __error; + +pub extern "c" fn kqueue() c_int; +pub extern "c" fn kevent( + kq: c_int, + changelist: [*]const Kevent, + nchanges: c_int, + eventlist: [*]Kevent, + nevents: c_int, + timeout: ?*const timespec, +) c_int; +pub extern "c" fn sysctl(name: [*]c_int, namelen: c_uint, oldp: ?*c_void, oldlenp: ?*usize, newp: ?*c_void, newlen: usize) c_int; +pub extern "c" fn sysctlbyname(name: [*]const u8, oldp: ?*c_void, oldlenp: ?*usize, newp: ?*c_void, newlen: usize) c_int; +pub extern "c" fn sysctlnametomib(name: [*]const u8, mibp: ?*c_int, sizep: ?*usize) c_int; + +/// Renamed from `kevent` to `Kevent` to avoid conflict with function name. +pub const Kevent = extern struct { + ident: usize, + filter: i16, + flags: u16, + fflags: u32, + data: i64, + udata: usize, + // TODO ext +}; + +pub const pthread_attr_t = extern struct { + __size: [56]u8, + __align: c_long, +}; diff --git a/std/c/index.zig b/std/c/index.zig index 6b20d718ef..4aab39d931 100644 --- a/std/c/index.zig +++ b/std/c/index.zig @@ -5,6 +5,7 @@ pub use switch (builtin.os) { Os.linux => @import("linux.zig"), Os.windows => @import("windows.zig"), Os.macosx, Os.ios => @import("darwin.zig"), + Os.freebsd => @import("freebsd.zig"), else => empty_import, }; const empty_import = @import("../empty.zig"); |
