xref: /original-bsd/include/setjmp.h (revision d4efd688)
1 /*-
2  * Copyright (c) 1990 The Regents of the University of California.
3  * All rights reserved.
4  *
5  * %sccs.include.redist.c%
6  *
7  *	@(#)setjmp.h	5.6 (Berkeley) 09/06/91
8  */
9 
10 #ifndef _SETJMP_H_
11 #define _SETJMP_H_
12 
13 #if defined(hp300) || defined(__hp300__)
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(tahoe) || defined(__tahoe__)
26 #define _JBLEN	10
27 #endif
28 
29 #if defined(vax) || defined(__vax__)
30 #define _JBLEN	10
31 #endif
32 
33 #ifndef _ANSI_SOURCE
34 /*
35  * WARNING: sigsetjmp() isn't supported yet, this is a placeholder.
36  */
37 typedef int sigjmp_buf[_JBLEN + 1];
38 #endif /* not ANSI */
39 
40 typedef int jmp_buf[_JBLEN];
41 
42 #include <sys/cdefs.h>
43 
44 __BEGIN_DECLS
45 int	setjmp __P((jmp_buf));
46 void	longjmp __P((jmp_buf, int));
47 
48 #ifndef _ANSI_SOURCE
49 /*
50  * WARNING: sigsetjmp() isn't supported yet, this is a placeholder.
51  */
52 int	sigsetjmp __P((sigjmp_buf, int));
53 void	siglongjmp __P((sigjmp_buf, int));
54 #endif /* not ANSI */
55 
56 #if !defined(_ANSI_SOURCE) && !defined(_POSIX_SOURCE)
57 int	_setjmp __P((jmp_buf));
58 void	_longjmp __P((jmp_buf, int));
59 void	longjmperror __P((void));
60 #endif /* neither ANSI nor POSIX */
61 __END_DECLS
62 
63 #endif /* !_SETJMP_H_ */
64