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