ref: 0a7a934f544bdd4ad8784fe87d3e87d0e154ff59
dir: /libstd/waitstatus-linux.myr/
use "die.use"
pkg std =
type waitstatus = union
`Waitexit int32
`Waitsig int32
`Waitstop int32
;;
const waitstatus : (st : int32 -> waitstatus)
;;
const waitstatus = {st
if st & 0x7f == 0 /* if exited */
-> `Waitexit ((st & 0xff00) >> 8)
elif ((st & 0xffff)-1) < 0xff /* if signaled */
-> `Waitsig ((st) & 0x7f)
elif (((st & 0xffff)*0x10001)>>8) > 0x7f00
-> `Waitstop ((st & 0xff00) >> 8)
;;
die("unreachable")
}