Files
WrldBox/.tmp_zig/lib/zig/c/sys/utsname.zig
swim67667 c17dfc94ce
Some checks failed
Build Project / build (ubuntu-latest) (push) Failing after 12m33s
added multi-compiling stuff (only works on my mac for now)
2026-06-28 16:40:20 -04:00

36 lines
981 B
Zig

const builtin = @import("builtin");
const std = @import("std");
const symbol = @import("../../c.zig").symbol;
const errno = @import("../../c.zig").errno;
comptime {
if (builtin.target.isMuslLibC()) {
symbol(&unameLinux, "uname");
}
if (builtin.target.isWasiLibC()) {
symbol(&unameWasi, "uname");
}
}
fn unameLinux(uts: *std.os.linux.utsname) callconv(.c) c_int {
return errno(std.os.linux.uname(uts));
}
fn unameWasi(uts: *std.c.utsname) callconv(.c) c_int {
// note the @bitCast's for NUL termination!
uts.sysname[0..5].* = @bitCast("wasi".*);
uts.nodename[0..7].* = @bitCast("(none)".*);
uts.release[0..6].* = @bitCast("0.0.0".*);
uts.version[0..6].* = @bitCast("0.0.0".*);
uts.machine[0..7].* = @bitCast(switch (builtin.target.cpu.arch) {
.wasm32 => "wasm32",
.wasm64 => "wasm64",
else => comptime unreachable,
}.*);
uts.domainname[0..7].* = @bitCast("(none)".*);
return 0;
}