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