1178172Simp/* From: NetBSD: setjmp.h,v 1.2 1997/04/06 08:47:41 cgd Exp */ 2178172Simp 3178172Simp/*- 4178172Simp * Copyright (c) 1994, 1995 Carnegie-Mellon University. 5178172Simp * All rights reserved. 6178172Simp * 7178172Simp * Author: Chris G. Demetriou 8178172Simp * 9178172Simp * Permission to use, copy, modify and distribute this software and 10178172Simp * its documentation is hereby granted, provided that both the copyright 11178172Simp * notice and this permission notice appear in all copies of the 12178172Simp * software, derivative works or modified versions, and any portions 13178172Simp * thereof, and that both notices appear in supporting documentation. 14178172Simp * 15178172Simp * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" 16178172Simp * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND 17178172Simp * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. 18178172Simp * 19178172Simp * Carnegie Mellon requests users of this software to return to 20178172Simp * 21178172Simp * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU 22178172Simp * School of Computer Science 23178172Simp * Carnegie Mellon University 24178172Simp * Pittsburgh PA 15213-3890 25178172Simp * 26178172Simp * any improvements or extensions that they make and grant Carnegie the 27178172Simp * rights to redistribute these changes. 28178172Simp * 29178172Simp * JNPR: setjmp.h,v 1.2 2006/12/02 09:53:41 katta 30178172Simp * $FreeBSD: releng/11.0/sys/mips/include/setjmp.h 209500 2010-06-24 08:08:43Z jchandra $ 31178172Simp */ 32178172Simp 33178172Simp#ifndef _MACHINE_SETJMP_H_ 34178172Simp#define _MACHINE_SETJMP_H_ 35178172Simp 36178172Simp/* 37178172Simp * machine/setjmp.h: machine dependent setjmp-related information. 38178172Simp */ 39178172Simp 40178172Simp#include <sys/cdefs.h> 41178172Simp 42209500Sjchandra#define _JBLEN 95 /* size, in longs (or long longs), of a jmp_buf */ 43178172Simp 44178172Simp/* 45178172Simp * jmp_buf and sigjmp_buf are encapsulated in different structs to force 46178172Simp * compile-time diagnostics for mismatches. The structs are the same 47178172Simp * internally to avoid some run-time errors for mismatches. 48178172Simp */ 49178172Simp#ifndef _LOCORE 50178172Simp#ifndef __ASSEMBLER__ 51178172Simp#if __BSD_VISIBLE || __POSIX_VISIBLE || __XSI_VISIBLE 52209500Sjchandra#ifdef __mips_n32 53209500Sjchandratypedef struct _sigjmp_buf { long long _sjb[_JBLEN + 1]; } sigjmp_buf[1]; 54209500Sjchandra#else 55178172Simptypedef struct _sigjmp_buf { long _sjb[_JBLEN + 1]; } sigjmp_buf[1]; 56178172Simp#endif 57209500Sjchandra#endif 58178172Simp 59209500Sjchandra#ifdef __mips_n32 60209500Sjchandratypedef struct _jmp_buf { long long _jb[_JBLEN + 1]; } jmp_buf[1]; 61209500Sjchandra#else 62178172Simptypedef struct _jmp_buf { long _jb[_JBLEN + 1]; } jmp_buf[1]; 63209500Sjchandra#endif 64178172Simp#endif /* __ASSEMBLER__ */ 65178172Simp#endif /* _LOCORE */ 66178172Simp 67178172Simp#endif /* _MACHINE_SETJMP_H_ */ 68