#include <setjmp.h>
void longjmp(jmp_buf env, int val);
longjmp() performs a non-local jump to some location, earlier in the call chain, which was marked by a call to setjmp(). longjmp() restores the environment at the time of that call to setjmp() ( env, which also was the parameter to setjmp()) and your application continues as if the call to setjmp() just returned the value val.