Guardian Procedure Calls Reference Manual

where env is a valid variable name.
Alternatively, you can allocate the buffer by declaring a structure of type JMP_BUF_TEMPLATE.
In either case, the buffer must be accessible to both the SETJMP_ procedure call and the
associated LONGJMP_ procedure call.
The jump buffer saved by the SETJMP_ procedure is normally used by a call to the LONGJMP_
procedure. The jump buffer can be used by a call to the SIGLONGJMP_ procedure only if the
signal mask is not required.
The buffer pointer is assumed to be valid. An invalid address passed to SETJMP_ will cause
unpredictable results and could cause the system to deliver a nondeferrable signal to the
process.
Do not change the contents of the jump buffer. The results of a corresponding LONGJMP_
procedure call are undefined if the contents of the jump buffer are changed.
Example
jmp_buf env;
JMP_BUF_DEF_ ( env );
retval := SETJMP_ ( env );
Related Programming Manual
For programming information about the SETJMP_ procedure, see the Guardian Programmer's
Guide.
1314 Guardian Procedure Calls (S)