setjmp.h revision 178172
1254721Semaste/* From: NetBSD: setjmp.h,v 1.2 1997/04/06 08:47:41 cgd Exp */ 2254721Semaste 3254721Semaste/*- 4254721Semaste * Copyright (c) 1994, 1995 Carnegie-Mellon University. 5254721Semaste * All rights reserved. 6254721Semaste * 7254721Semaste * Author: Chris G. Demetriou 8254721Semaste * 9254721Semaste * Permission to use, copy, modify and distribute this software and 10254721Semaste * its documentation is hereby granted, provided that both the copyright 11254721Semaste * notice and this permission notice appear in all copies of the 12254721Semaste * software, derivative works or modified versions, and any portions 13254721Semaste * thereof, and that both notices appear in supporting documentation. 14254721Semaste * 15254721Semaste * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" 16254721Semaste * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND 17254721Semaste * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. 18254721Semaste * 19254721Semaste * Carnegie Mellon requests users of this software to return to 20254721Semaste * 21254721Semaste * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU 22254721Semaste * School of Computer Science 23254721Semaste * Carnegie Mellon University 24254721Semaste * Pittsburgh PA 15213-3890 25254721Semaste * 26254721Semaste * any improvements or extensions that they make and grant Carnegie the 27254721Semaste * rights to redistribute these changes. 28254721Semaste * 29254721Semaste * JNPR: setjmp.h,v 1.2 2006/12/02 09:53:41 katta 30254721Semaste * $FreeBSD: head/sys/mips/include/setjmp.h 178172 2008-04-13 07:27:37Z imp $ 31254721Semaste */ 32254721Semaste 33254721Semaste#ifndef _MACHINE_SETJMP_H_ 34254721Semaste#define _MACHINE_SETJMP_H_ 35254721Semaste 36254721Semaste/* 37254721Semaste * machine/setjmp.h: machine dependent setjmp-related information. 38254721Semaste */ 39254721Semaste 40254721Semaste#include <sys/cdefs.h> 41254721Semaste 42254721Semaste#define _JBLEN 95 /* size, in longs, of a jmp_buf */ 43254721Semaste 44254721Semaste/* 45254721Semaste * jmp_buf and sigjmp_buf are encapsulated in different structs to force 46254721Semaste * compile-time diagnostics for mismatches. The structs are the same 47254721Semaste * internally to avoid some run-time errors for mismatches. 48254721Semaste */ 49254721Semaste#ifndef _LOCORE 50254721Semaste#ifndef __ASSEMBLER__ 51254721Semaste#if __BSD_VISIBLE || __POSIX_VISIBLE || __XSI_VISIBLE 52254721Semastetypedef struct _sigjmp_buf { long _sjb[_JBLEN + 1]; } sigjmp_buf[1]; 53254721Semaste#endif 54254721Semaste 55254721Semastetypedef struct _jmp_buf { long _jb[_JBLEN + 1]; } jmp_buf[1]; 56254721Semaste#endif /* __ASSEMBLER__ */ 57254721Semaste#endif /* _LOCORE */ 58254721Semaste 59254721Semaste#endif /* _MACHINE_SETJMP_H_ */ 60254721Semaste