xref: /freebsd/sys/powerpc/include/setjmp.h (revision 1f4bcc459a76b7aa664f3fd557684cd0ba6da352)
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