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