zig/lib/c/sys/capability.zig
GasInfinity 9cf34a8d81
feat(libzigc): move over some linux syscalls
* does not move all of them, only those which map almost 1:1
* also removes their musl implementation
2026-01-24 20:41:15 +01:00

18 lines
750 B
Zig

const std = @import("std");
const common = @import("../common.zig");
const builtin = @import("builtin");
comptime {
if (builtin.target.isMuslLibC()) {
@export(&capsetLinux, .{ .name = "capset", .linkage = common.linkage, .visibility = common.visibility });
@export(&capgetLinux, .{ .name = "capget", .linkage = common.linkage, .visibility = common.visibility });
}
}
fn capsetLinux(hdrp: *anyopaque, datap: *anyopaque) callconv(.c) c_int {
return common.errno(std.os.linux.capset(@ptrCast(@alignCast(hdrp)), @ptrCast(@alignCast(datap))));
}
fn capgetLinux(hdrp: *anyopaque, datap: *anyopaque) callconv(.c) c_int {
return common.errno(std.os.linux.capget(@ptrCast(@alignCast(hdrp)), @ptrCast(@alignCast(datap))));
}