setjmp関数で退避していた関数の実行環境を回復し、setjmp関数を呼び出したプログラムの位置に制御を移動します。
void longjmp(jmp_buf env, long ret);
longjmp関数は、同じプログラム中で最後に呼び出されたsetjmp関数によって退避された関数の実行環境を第1引数envで指定された記憶域から回復し、そのsetjmp関数を呼び出したプログラムの位置に制御を移します。この時longjmp関数の第2引数retがsetjmp関数のリターン値として返ります。ただし、retが0の時はsetjmp関数へのリターン値としては1が返ります。
setjmp関数が呼び出されていない時、あるいはsetjmp関数を呼び出した関数がすでにreturn文を実行している時は、longjmp関数の動作は保証しません。