1 /*- 2 * $NetBSD: setjmp.h,v 1.3 1998/09/16 23:51:27 thorpej Exp $ 3 * $FreeBSD$ 4 */ 5 6 #ifndef _MACHINE_SETJMP_H_ 7 #define _MACHINE_SETJMP_H_ 8 9 #include <sys/cdefs.h> 10 11 #ifdef _KERNEL 12 #define _JBLEN 25 /* Kernel doesn't save FP and Altivec regs */ 13 #else 14 #define _JBLEN 100 15 #endif 16 17 /* 18 * jmp_buf and sigjmp_buf are encapsulated in different structs to force 19 * compile-time diagnostics for mismatches. The structs are the same 20 * internally to avoid some run-time errors for mismatches. 21 */ 22 #if __BSD_VISIBLE || __POSIX_VISIBLE || __XSI_VISIBLE 23 typedef struct _sigjmp_buf { long _sjb[_JBLEN + 1]; } sigjmp_buf[1]; 24 #endif 25 26 typedef struct _jmp_buf { long _jb[_JBLEN + 1]; } jmp_buf[1]; 27 28 #endif /* !_MACHINE_SETJMP_H_ */ 29