/*- * Copyright (c) 1990 The Regents of the University of California. * All rights reserved. * * Redistribution and use in source and binary forms are permitted * provided that: (1) source distributions retain this entire copyright * notice and comment, and (2) distributions including binaries display * the following acknowledgement: ``This product includes software * developed by the University of California, Berkeley and its contributors'' * in the documentation or other materials provided with the distribution * and in all advertising materials mentioning features or use of this * software. Neither the name of the University nor the names of its * contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. * * @(#)setjmp.h 5.2 (Berkeley) 5/29/90 */ #ifndef _SETJMP_ #define _SETJMP_ #ifdef hp300 #define _JBLEN 17 #endif #ifdef i386 #define _JBLEN 10 #endif #ifdef tahoe #define _JBLEN 10 #endif #ifdef vax #define _JBLEN 10 #endif /* * sigsetjmp/siglongjmp use the first int to decide if the * signal mask was saved or not. */ typedef int sigjmp_buf[_JBLEN + 1]; #ifndef _POSIX_SOURCE typedef int jmp_buf[_JBLEN]; #endif #if __STDC__ || c_plusplus int sigsetjmp(sigjmp_buf, int); void siglongjmp(sigjmp_buf, int); #ifndef _POSIX_SOURCE extern int setjmp(jmp_buf); extern int _setjmp(jmp_buf); extern void longjmp(jmp_buf, int); extern void _longjmp(jmp_buf, int); #endif #else int sigsetjmp(); void siglongjmp(); #ifndef _POSIX_SOURCE extern int setjmp(); extern int _setjmp(); extern void longjmp(); extern void _longjmp(); #endif #endif #endif