Index: fusl/include/setjmp.h |
diff --git a/fusl/include/setjmp.h b/fusl/include/setjmp.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..2d43abf84f54ad9fc9501e0204816579c9b0de99 |
--- /dev/null |
+++ b/fusl/include/setjmp.h |
@@ -0,0 +1,41 @@ |
+#ifndef _SETJMP_H |
+#define _SETJMP_H |
+ |
+#ifdef __cplusplus |
+extern "C" { |
+#endif |
+ |
+#include <features.h> |
+ |
+#include <bits/setjmp.h> |
+ |
+typedef struct __jmp_buf_tag { |
+ __jmp_buf __jb; |
+ unsigned long __fl; |
+ unsigned long __ss[128/sizeof(long)]; |
+} jmp_buf[1]; |
+ |
+#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ |
+ || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ |
+ || defined(_BSD_SOURCE) |
+typedef jmp_buf sigjmp_buf; |
+int sigsetjmp (sigjmp_buf, int); |
+_Noreturn void siglongjmp (sigjmp_buf, int); |
+#endif |
+ |
+#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ |
+ || defined(_BSD_SOURCE) |
+int _setjmp (jmp_buf); |
+_Noreturn void _longjmp (jmp_buf, int); |
+#endif |
+ |
+int setjmp (jmp_buf); |
+_Noreturn void longjmp (jmp_buf, int); |
+ |
+#define setjmp setjmp |
+ |
+#ifdef __cplusplus |
+} |
+#endif |
+ |
+#endif |