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
23typedef	struct _sigjmp_buf { long _sjb[_JBLEN + 1]; } sigjmp_buf[1];
24#endif
25
26typedef	struct _jmp_buf { long _jb[_JBLEN + 1]; } jmp_buf[1];
27
28#endif /* !_MACHINE_SETJMP_H_ */
29