# processs library for nipl typedef int (*process_func)(process *p) struct process process_func f int pc process_init(process *p, process_func f) p->f = f p->pc = 1 int resume(process *p) int rv = (*p->f)(p) if rv p->pc = rv return rv