From b5c6c8b6b58bbc4998653e56dc52f69ca11ac21f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Tue, 5 Oct 2004 13:06:36 +0000 Subject: [PATCH] We now have a POSIX compatible setjmp.h header (also BeOS binary compatible). git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9194 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- headers/posix/setjmp.h | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 headers/posix/setjmp.h diff --git a/headers/posix/setjmp.h b/headers/posix/setjmp.h new file mode 100644 index 0000000000..adb1555929 --- /dev/null +++ b/headers/posix/setjmp.h @@ -0,0 +1,36 @@ +/* +** Distributed under the terms of the Haiku License. +*/ +#ifndef _SETJMP_H_ +#define _SETJMP_H_ + + +#include + + +typedef struct __jmp_buf { + int regs[6]; /* saved registers, stack & program pointer */ + int mask_was_saved; + sigset_t saved_mask; +} jmp_buf[1]; + +typedef jmp_buf sigjmp_buf; + + +#ifdef __cplusplus +extern "C" { +#endif + +extern int _setjmp(jmp_buf jumpBuffer); +extern int setjmp(jmp_buf jumpBuffer); +extern int sigsetjmp(jmp_buf jumpBuffer, int saveMask); + +extern void _longjmp(jmp_buf jumpBuffer, int value); +extern void longjmp(jmp_buf jumpBuffer, int value); +extern void siglongjmp(sigjmp_buf jumpBuffer, int value); + +#ifdef __cplusplus +} +#endif + +#endif /* _SETJMP_H_ */