import core
import sys

create(func *any) -> int {
	stack := sys.mmap(0, 4096, 0x1|0x2, 0x02|0x20|0x100)
	stack += 4096 - 8
	store(stack, 8, core.exit)
	stack -= 8
	store(stack, 8, func)
	return sys.clone(clone.vm|clone.fs|clone.files|clone.sighand|clone.parent|clone.thread|clone.io, stack, 0, 0, 0)
}

const clone {
	vm      0x100
	fs      0x200
	files   0x400
	sighand 0x800
	parent  0x8000
	thread  0x10000
	io      0x80000000
}