1104493Smike/*-
2104493Smike *	$NetBSD: setjmp.h,v 1.3 1998/09/16 23:51:27 thorpej Exp $
3104493Smike * $FreeBSD$
4104493Smike */
570587Sobrien
6104493Smike#ifndef _MACHINE_SETJMP_H_
7104493Smike#define	_MACHINE_SETJMP_H_
870587Sobrien
9104505Smike#include <sys/cdefs.h>
10104505Smike
1199731Sbenno#define	_JBLEN	100
1299731Sbenno
1370587Sobrien/*
1470587Sobrien * jmp_buf and sigjmp_buf are encapsulated in different structs to force
1570587Sobrien * compile-time diagnostics for mismatches.  The structs are the same
1670587Sobrien * internally to avoid some run-time errors for mismatches.
1770587Sobrien */
18104505Smike#if __BSD_VISIBLE || __POSIX_VISIBLE || __XSI_VISIBLE
19104493Smiketypedef	struct _sigjmp_buf { long _sjb[_JBLEN + 1]; } sigjmp_buf[1];
2099731Sbenno#endif
2170587Sobrien
22104493Smiketypedef	struct _jmp_buf { long _jb[_JBLEN + 1]; } jmp_buf[1];
2399731Sbenno
24104493Smike#endif /* !_MACHINE_SETJMP_H_ */
25