xref: /freebsd/sys/powerpc/include/setjmp.h (revision 8f76bb7dad48538c6832c2fb466a433d2a3f8cd5)
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_ */
28