xref: /original-bsd/include/setjmp.h (revision c3e32dec)
1 /*-
2  * Copyright (c) 1990, 1993
3  *	The Regents of the University of California.  All rights reserved.
4  *
5  * %sccs.include.redist.c%
6  *
7  *	@(#)setjmp.h	8.1 (Berkeley) 06/02/93
8  */
9 
10 #ifndef _SETJMP_H_
11 #define _SETJMP_H_
12 
13 #if defined(hp300) || defined(__hp300__) || defined(luna68k) || defined(__luna68k__)
14 #define _JBLEN	17
15 #endif
16 
17 #if defined(i386) || defined(__i386__)
18 #define _JBLEN	10
19 #endif
20 
21 #if defined(mips) || defined(__mips__)
22 #define _JBLEN	83
23 #endif
24 
25 #if defined(sparc) || defined(__sparc__)
26 #define _JBLEN	10
27 #endif
28 
29 #if defined(tahoe) || defined(__tahoe__)
30 #define _JBLEN	10
31 #endif
32 
33 #if defined(vax) || defined(__vax__)
34 #define _JBLEN	10
35 #endif
36 
37 #ifndef _ANSI_SOURCE
38 /*
39  * WARNING: sigsetjmp() isn't supported yet, this is a placeholder.
40  */
41 typedef int sigjmp_buf[_JBLEN + 1];
42 #endif /* not ANSI */
43 
44 typedef int jmp_buf[_JBLEN];
45 
46 #include <sys/cdefs.h>
47 
48 __BEGIN_DECLS
49 int	setjmp __P((jmp_buf));
50 void	longjmp __P((jmp_buf, int));
51 
52 #ifndef _ANSI_SOURCE
53 /*
54  * WARNING: sigsetjmp() isn't supported yet, this is a placeholder.
55  */
56 int	sigsetjmp __P((sigjmp_buf, int));
57 void	siglongjmp __P((sigjmp_buf, int));
58 #endif /* not ANSI */
59 
60 #if !defined(_ANSI_SOURCE) && !defined(_POSIX_SOURCE)
61 int	_setjmp __P((jmp_buf));
62 void	_longjmp __P((jmp_buf, int));
63 void	longjmperror __P((void));
64 #endif /* neither ANSI nor POSIX */
65 __END_DECLS
66 
67 #endif /* !_SETJMP_H_ */
68