pub const W = struct pub fn EXITSTATUS(s: u32) u8pub fn TERMSIG(s: u32) SIGpub fn STOPSIG(s: u32) SIGpub fn IFEXITED(s: u32) boolpub fn IFSTOPPED(s: u32) boolpub fn IFSIGNALED(s: u32) bool4380
4381
4382
4383
4384
4385
4386
4387
4388
4389
4390
4391
4392
4393
4394
4395
4396
4397
4398
4399
4400
4401
4402
4403
4404
4405
4406pub const W = struct {
pub const NOHANG = 1;
pub const UNTRACED = 2;
pub const STOPPED = 2;
pub const EXITED = 4;
pub const CONTINUED = 8;
pub const NOWAIT = 0x1000000;
pub fn EXITSTATUS(s: u32) u8 {
return @as(u8, @intCast((s & 0xff00) >> 8));
}
pub fn TERMSIG(s: u32) SIG {
return @fromBackingInt(@intCast(s & 0x7f));
}
pub fn STOPSIG(s: u32) SIG {
return @fromBackingInt(@intCast(EXITSTATUS(s)));
}
pub fn IFEXITED(s: u32) bool {
return (s & 0x7f) == 0;
}
pub fn IFSTOPPED(s: u32) bool {
return @as(u16, @truncate(((s & 0xffff) *% 0x10001) >> 8)) > 0x7f00;
}
pub fn IFSIGNALED(s: u32) bool {
return (s & 0xffff) -% 1 < 0xff;
}
}