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