/* IBM_PROLOG_BEGIN_TAG */ /* This is an automatically generated prolog. */ /* */ /* bos72X src/bos/usr/include/setjmp.h 1.14.3.3 */ /* */ /* Licensed Materials - Property of IBM */ /* */ /* COPYRIGHT International Business Machines Corp. 1985,2021 */ /* All Rights Reserved */ /* */ /* US Government Users Restricted Rights - Use, duplication or */ /* disclosure restricted by GSA ADP Schedule Contract with IBM Corp. */ /* */ /* IBM_PROLOG_END_TAG */ /* @(#)01 1.14.3.3 src/bos/usr/include/setjmp.h, incstd, bos72X, x2021_25A9 6/4/21 03:15:37 */ /* * COMPONENT_NAME: (INCSTD) * * FUNCTIONS: * * ORIGINS: 27 * * (C) COPYRIGHT International Business Machines Corp. 1985, 1995 * All Rights Reserved * Licensed Materials - Property of IBM * * US Government Users Restricted Rights - Use, duplication or * disclosure restricted by GSA ADP Schedule Contract with IBM Corp. */ #ifndef _H_SETJMP #define _H_SETJMP #ifndef _H_STANDARDS #include #endif /* _H_STANDARDS */ #include #ifdef __cplusplus extern "C" { #endif /* * * The ANSI and POSIX standards require that certain values be in setjmp.h. * They also require that if _ANSI_C_SOURCE or _POSIX_SOURCE is defined * then ONLY those standard specific values are present. This header * includes all the ANSI and POSIX required entries. * */ #ifdef _ANSI_C_SOURCE #include /* define _JBLEN */ typedef __MTYPE jmp_buf[_JBLEN]; #if defined(_ALL_SOURCE) && (defined(__EXTABI__) || defined(__AIXEXTABI)) /* Extended ABI versions */ #define setjmp setjmpx #define longjmp longjmpx #define sigsetjmp sigsetjmpx #define siglongjmp siglongjmpx #define _setjmp _setjmpx #define _longjmp _longjmpx #define ukey_setjmp ukey_setjmpx #endif /* _ALL_SOURCE && (__EXTABI__ || __AIXEXTABI) */ #ifdef _NO_PROTO extern _NOTHROW(_NORETURN(void, longjmp), ()); extern int _NOTHROW(setjmp, ()) _RETURNS_TWICE; #else /*_NO_PROTO */ extern _NOTHROW(_NORETURN(void, longjmp), (jmp_buf, int)); extern int _NOTHROW(setjmp, (jmp_buf)) _RETURNS_TWICE; #endif /*_NO_PROTO */ #if __STDC__ == 1 #ifndef setjmp #define setjmp(__X) setjmp(__X) #endif #endif /* __STDC__ */ #endif /* _ANSI_C_SOURCE */ #ifdef _POSIX_SOURCE typedef __MTYPE sigjmp_buf[_JBLEN]; #ifdef _NO_PROTO extern int _NOTHROW(sigsetjmp, ()) _RETURNS_TWICE; extern _NOTHROW(_NORETURN(void, siglongjmp), ()); #if _XOPEN_SOURCE_EXTENDED==1 extern int _NOTHROW(_setjmp, ()) _RETURNS_TWICE; extern _NOTHROW(_NORETURN(void, _longjmp), ()); #endif /* _XOPEN_SOURCE_EXTENDED */ #else /* _NO_PROTO */ extern int _NOTHROW(sigsetjmp, (sigjmp_buf, int)) _RETURNS_TWICE; extern _NOTHROW(_NORETURN(void, siglongjmp), (sigjmp_buf, int)); #if _XOPEN_SOURCE_EXTENDED==1 extern int _NOTHROW(_setjmp, (jmp_buf)) _RETURNS_TWICE; extern _NOTHROW(_NORETURN(void, _longjmp), (jmp_buf, int)); #endif /* _XOPEN_SOURCE_EXTENDED */ #endif /* _NO_PROTO */ #if __STDC__ == 1 #define sigsetjmp(__X, __Y) sigsetjmp(__X, __Y) #endif /* __STDC__ */ #endif /* _POSIX_SOURCE */ #ifdef _ALL_SOURCE typedef __MTYPE ukey_jmp_buf[_UKJBLEN]; extern int ukey_setjmp(ukey_jmp_buf) _RETURNS_TWICE; #pragma reachable (setjmp, _setjmp, sigsetjmp, ukey_setjmp) #pragma leaves (longjmp, _longjmp, siglongjmp) #endif /* _ALL_SOURCE */ #ifdef __cplusplus } #endif #endif /* _H_SETJMP */