/* * * VAXCRTL compatible setjmp */ #ifndef _SETJMP_H #define _SETJMP_H # ifdef __cplusplus extern "C" { # endif #if VAX typedef int jmp_buf [15]; /* VAX C's has the following macro */ # define JMP_BUF_TYPE int * #else typedef long long jmp_buf [68]; # define JMP_BUF_TYPE long long * #endif #if VAX int setjmp (jmp_buf env); #else int setjmp(JMP_BUF_TYPE) __asm("LIB$GET_CURRENT_INVO_CONTEXT"); #endif void longjmp (jmp_buf, int) __asm ("decc$longjmp"); # ifdef __cplusplus } # endif #endif /*_SETJMP_H*/