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