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