lib/sys/src/rseq/root.zig
daab053ee43316e1809a84551d573ddd1e5bf3d2
1 const builtin = @import("builtin");
2 const sys = @import("../root.zig");
3
4 const impl = switch (builtin.os.tag) {
5 .linux => @import("linux.zig"),
6 else => @import("none.zig"),
7 };
8
9 pub const required_capabilities = sys.capabilities.noLibc(&.{ .libc_interop, .threads });
10
11 pub const supported = impl.supported;
12 pub const alignment = impl.alignment;
13 pub const signature = impl.signature;
14 pub const cpu_id_uninitialized = impl.cpu_id_uninitialized;
15 pub const cpu_id_registration_failed = impl.cpu_id_registration_failed;
16 pub const Flags = impl.Flags;
17 pub const CriticalSectionFlags = impl.CriticalSectionFlags;
18 pub const CriticalSection = impl.CriticalSection;
19 pub const Area = impl.Area;
20 pub const RegistrationState = impl.RegistrationState;
21 pub const RegistrationPolicy = impl.RegistrationPolicy;
22 pub const RegisterError = impl.RegisterError;
23
24 pub const registrationPolicy = impl.registrationPolicy;
25 pub const currentState = impl.currentState;
26 pub const registered = impl.registered;
27 pub const ensureRegistered = impl.ensureRegistered;
28 pub const currentArea = impl.currentArea;
29 pub const currentCpu = impl.currentCpu;
30 pub const currentNode = impl.currentNode;
31 pub const currentMemoryMapConcurrencyId = impl.currentMemoryMapConcurrencyId;
32 pub const setCriticalSection = impl.setCriticalSection;
33 pub const clearCriticalSection = impl.clearCriticalSection;
34 pub const validCpuId = impl.validCpuId;