aboutsummaryrefslogtreecommitdiff
path: root/std/c/freebsd.zig
diff options
context:
space:
mode:
authorAndrew Kelley <superjoe30@gmail.com>2018-11-19 17:24:41 -0500
committerAndrew Kelley <superjoe30@gmail.com>2018-11-19 17:24:41 -0500
commit9493738e5448ca166344a2d57abc44b29bb00081 (patch)
tree9721b3e694e45f17ba21c0884759fba31fe0e1de /std/c/freebsd.zig
parent703c6684d103f14193411b589eaa0e0b1e1189f0 (diff)
parentf3bc1c38bfb35cd588048f248c69100eaf709a4f (diff)
downloadzig-9493738e5448ca166344a2d57abc44b29bb00081.tar.gz
zig-9493738e5448ca166344a2d57abc44b29bb00081.zip
Merge branch 'freebsd-up' of https://github.com/myfreeweb/zig into freebsd2
Diffstat (limited to 'std/c/freebsd.zig')
-rw-r--r--std/c/freebsd.zig36
1 files changed, 36 insertions, 0 deletions
diff --git a/std/c/freebsd.zig b/std/c/freebsd.zig
new file mode 100644
index 0000000000..6eb34929b5
--- /dev/null
+++ b/std/c/freebsd.zig
@@ -0,0 +1,36 @@
+
+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,
+};
+