xref: /csrg-svn/include/setjmp.h (revision 65762)
141439Sbostic /*-
261068Sbostic  * Copyright (c) 1990, 1993
361068Sbostic  *	The Regents of the University of California.  All rights reserved.
4*65762Sbostic  * (c) UNIX System Laboratories, Inc.
5*65762Sbostic  * All or some portions of this file are derived from material licensed
6*65762Sbostic  * to the University of California by American Telephone and Telegraph
7*65762Sbostic  * Co. or Unix System Laboratories, Inc. and are reproduced herein with
8*65762Sbostic  * the permission of UNIX System Laboratories, Inc.
941439Sbostic  *
1041439Sbostic  * %sccs.include.redist.c%
1141439Sbostic  *
12*65762Sbostic  *	@(#)setjmp.h	8.2 (Berkeley) 01/21/94
1341439Sbostic  */
1412192Ssam 
1546281Sbostic #ifndef _SETJMP_H_
1646281Sbostic #define _SETJMP_H_
1739310Smckusick 
1854091Smckusick #if defined(hp300) || defined(__hp300__) || defined(luna68k) || defined(__luna68k__)
1942395Sbostic #define _JBLEN	17
2042395Sbostic #endif
2142395Sbostic 
2250029Sbostic #if defined(i386) || defined(__i386__)
2339310Smckusick #define _JBLEN	10
2439310Smckusick #endif
2539310Smckusick 
2651027Sralph #if defined(mips) || defined(__mips__)
2751027Sralph #define _JBLEN	83
2851027Sralph #endif
2951027Sralph 
3054518Storek #if defined(sparc) || defined(__sparc__)
3154518Storek #define _JBLEN	10
3254518Storek #endif
3354518Storek 
3450029Sbostic #if defined(tahoe) || defined(__tahoe__)
3539310Smckusick #define _JBLEN	10
3639310Smckusick #endif
3739310Smckusick 
3850029Sbostic #if defined(vax) || defined(__vax__)
3942395Sbostic #define _JBLEN	10
4039310Smckusick #endif
4139310Smckusick 
4246516Sdonn #ifndef _ANSI_SOURCE
4342395Sbostic /*
4446516Sdonn  * WARNING: sigsetjmp() isn't supported yet, this is a placeholder.
4542395Sbostic  */
4642395Sbostic typedef int sigjmp_buf[_JBLEN + 1];
4746516Sdonn #endif /* not ANSI */
4842395Sbostic 
4939310Smckusick typedef int jmp_buf[_JBLEN];
5039310Smckusick 
5146281Sbostic #include <sys/cdefs.h>
5246281Sbostic 
5346281Sbostic __BEGIN_DECLS
5446516Sdonn int	setjmp __P((jmp_buf));
5546516Sdonn void	longjmp __P((jmp_buf, int));
5646516Sdonn 
5746516Sdonn #ifndef _ANSI_SOURCE
5846516Sdonn /*
5946516Sdonn  * WARNING: sigsetjmp() isn't supported yet, this is a placeholder.
6046516Sdonn  */
6146516Sdonn int	sigsetjmp __P((sigjmp_buf, int));
6246516Sdonn void	siglongjmp __P((sigjmp_buf, int));
6346516Sdonn #endif /* not ANSI */
6446516Sdonn 
6546516Sdonn #if !defined(_ANSI_SOURCE) && !defined(_POSIX_SOURCE)
6646516Sdonn int	_setjmp __P((jmp_buf));
6746516Sdonn void	_longjmp __P((jmp_buf, int));
6846516Sdonn void	longjmperror __P((void));
6946516Sdonn #endif /* neither ANSI nor POSIX */
7046281Sbostic __END_DECLS
7146281Sbostic 
7246281Sbostic #endif /* !_SETJMP_H_ */
73