setjmp.h


Tipo jmp_buf ANSI C

typedef <tipo> jmp_buf;

Un tipo de array/arreglo apropiado para guardar la información necesaria para restaurar un entorno de llamada.

Ejemplo:

typedef struct __jmp_buf {
   unsigned long __eax, __ebx, __ecx, __edx, __esi;
   unsigned long __edi, __ebp, __esp, __eip, __eflags;
   unsigned short __cs, __ds, __es, __fs, __gs, __ss;
   unsigned long __sigmask; /* for POSIX signals only */
   unsigned long __signum; /* for expansion */
   unsigned long __exception_ptr; /* pointer to previous exception */
   unsigned char __fpu_state[108]; /* for future use */
} jmp_buf[1];
DJGPP
typedef struct __jmp_buf {
   unsigned    j_sp;
   unsigned    j_ss;
   unsigned    j_flag;
   unsigned    j_cs;
   unsigned    j_ip;
   unsigned    j_bp;
   unsigned    j_di;
   unsigned    j_es;
   unsigned    j_si;
   unsigned    j_ds;
   #if !defined(__TINY__)
   unsigned    j_excep;
   unsigned    j_context;
   #endif /* !__TINY__ */
} jmp_buf[1];
Borland
#define _JBLEN 16 
#define _JBTYPE int
typedef _JBTYPE jmp_buf[_JBLEN];
Dev-C++