Coroutines in C using swapcontext()