| #ifndef	_SETJMP_H | 
 | #define	_SETJMP_H | 
 |  | 
 | #ifdef __cplusplus | 
 | extern "C" { | 
 | #endif | 
 |  | 
 | #include <features.h> | 
 |  | 
 | #include <bits/setjmp.h> | 
 |  | 
 | typedef struct __jmp_buf_tag { | 
 | 	__jmp_buf __jb; | 
 | 	unsigned long __fl; | 
 | 	unsigned long __ss[128/sizeof(long)]; | 
 | } jmp_buf[1]; | 
 |  | 
 | #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ | 
 |  || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ | 
 |  || defined(_BSD_SOURCE) | 
 | typedef jmp_buf sigjmp_buf; | 
 | int sigsetjmp (sigjmp_buf, int); | 
 | _Noreturn void siglongjmp (sigjmp_buf, int); | 
 | #endif | 
 |  | 
 | #if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ | 
 |  || defined(_BSD_SOURCE) | 
 | int _setjmp (jmp_buf); | 
 | _Noreturn void _longjmp (jmp_buf, int); | 
 | #endif | 
 |  | 
 | int setjmp (jmp_buf); | 
 | _Noreturn void longjmp (jmp_buf, int); | 
 |  | 
 | #define setjmp setjmp | 
 |  | 
 | #ifdef __cplusplus | 
 | } | 
 | #endif | 
 |  | 
 | #endif |