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