xref: /original-bsd/include/setjmp.h (revision 90bde559)
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.2 (Berkeley) 05/29/90
8  */
9 
10 #ifndef _SETJMP_
11 #define _SETJMP_
12 
13 #ifdef hp300
14 #define _JBLEN	17
15 #endif
16 
17 #ifdef i386
18 #define _JBLEN	10
19 #endif
20 
21 #ifdef tahoe
22 #define _JBLEN	10
23 #endif
24 
25 #ifdef vax
26 #define _JBLEN	10
27 #endif
28 
29 /*
30  * sigsetjmp/siglongjmp use the first int to decide if the
31  * signal mask was saved or not.
32  */
33 typedef int sigjmp_buf[_JBLEN + 1];
34 
35 #ifndef _POSIX_SOURCE
36 typedef int jmp_buf[_JBLEN];
37 #endif
38 
39 #if __STDC__ || c_plusplus
40 int sigsetjmp(sigjmp_buf, int);
41 void siglongjmp(sigjmp_buf, int);
42 #ifndef _POSIX_SOURCE
43 extern int setjmp(jmp_buf);
44 extern int _setjmp(jmp_buf);
45 extern void longjmp(jmp_buf, int);
46 extern void _longjmp(jmp_buf, int);
47 #endif
48 #else
49 int sigsetjmp();
50 void siglongjmp();
51 #ifndef _POSIX_SOURCE
52 extern int setjmp();
53 extern int _setjmp();
54 extern void longjmp();
55 extern void _longjmp();
56 #endif
57 #endif
58 #endif
59