C Library - <setjmp.h>


The setjmp.h header defines the macro setjmp(), one function longjmp(), and one variable type jmp_buf, for bypassing the normal function call and return discipline.

Library Variables

Following is the variable type defined in the header setjmp.h −

Sr.No. Variable & Description


This is an array type used for holding information for macro setjmp() and function longjmp().

Library Macros

There is only one macro defined in this library −

Sr.No. Macro & Description
1 int setjmp(jmp_buf environment)

This macro saves the current environment into the variable environment for later use by the function longjmp(). If this macro returns directly from the macro invocation, it returns zero but if it returns from a longjmp() function call, then a non-zero value is returned.

Library Functions

Following is the only one function defined in the header setjmp.h −

Sr.No. Function & Description
1 void longjmp(jmp_buf environment, int value)

This function restores the environment saved by the most recent call to setjmp() macro in the same invocation of the program with the corresponding jmp_buf argument.