39 lines · 621 B · Text
RawDownload
use sysuse "types"use "errno" pkg std =	const nanosleep	: (nsecs : uint64 -> errno)	$noret const exit	: (status:int -> void) 	pkglocal const bgetcwd	: (buf : byte[:] -> errno);; const nanosleep	= {nsecs	var req, rem	var s, ns 	s = (nsecs / 1_000_000_000 : int64)	ns = (nsecs % 1_000_000_000 : int64)	req = [.sec = s, .nsec = ns] 	-> (sys.nanosleep(&req, &rem) : errno)} const exit = {status;	sys.exit_group(status)} const bgetcwd = {buf;	var err	err = (sys.getcwd(buf) : errno)	/*	if we got a length back, it includes	the nul byte. chop that off.	*/	if err > 0		-> err - 1	else		-> err	;;}