setjmp.h
The setjmp.h header file contains function declarations for longjmp() and setjmp(), which use the system stack to affect the program state. It also defines one buffer type, jmp_buf, that the setjmp() and longjmp() functions use to save and restore the program state.
_POSIX_SOURCE: setjmp.h declares functions siglongjmp() and sigsetjmp() and defines a buffer type sigjmp_buf used by siglongjmp() and sigsetjmp().
_XOPEN_SOURCE_EXTENDED 1: setjmp.h declares the functions _longjmp() and _setjmp().