OLD | NEW |
1 #ifndef»_SETJMP_H | 1 #ifndef _SETJMP_H |
2 #define»_SETJMP_H | 2 #define _SETJMP_H |
3 | 3 |
4 #ifdef __cplusplus | 4 #ifdef __cplusplus |
5 extern "C" { | 5 extern "C" { |
6 #endif | 6 #endif |
7 | 7 |
8 #include <features.h> | 8 #include <features.h> |
9 | 9 |
10 #include <bits/setjmp.h> | 10 #include <bits/setjmp.h> |
11 | 11 |
12 typedef struct __jmp_buf_tag { | 12 typedef struct __jmp_buf_tag { |
13 » __jmp_buf __jb; | 13 __jmp_buf __jb; |
14 » unsigned long __fl; | 14 unsigned long __fl; |
15 » unsigned long __ss[128/sizeof(long)]; | 15 unsigned long __ss[128 / sizeof(long)]; |
16 } jmp_buf[1]; | 16 } jmp_buf[1]; |
17 | 17 |
18 #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ | 18 #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) || \ |
19 || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ | 19 defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) |
20 || defined(_BSD_SOURCE) | |
21 typedef jmp_buf sigjmp_buf; | 20 typedef jmp_buf sigjmp_buf; |
22 int sigsetjmp (sigjmp_buf, int); | 21 int sigsetjmp(sigjmp_buf, int); |
23 _Noreturn void siglongjmp (sigjmp_buf, int); | 22 _Noreturn void siglongjmp(sigjmp_buf, int); |
24 #endif | 23 #endif |
25 | 24 |
26 #if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ | 25 #if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) |
27 || defined(_BSD_SOURCE) | 26 int _setjmp(jmp_buf); |
28 int _setjmp (jmp_buf); | 27 _Noreturn void _longjmp(jmp_buf, int); |
29 _Noreturn void _longjmp (jmp_buf, int); | |
30 #endif | 28 #endif |
31 | 29 |
32 int setjmp (jmp_buf); | 30 int setjmp(jmp_buf); |
33 _Noreturn void longjmp (jmp_buf, int); | 31 _Noreturn void longjmp(jmp_buf, int); |
34 | 32 |
35 #define setjmp setjmp | 33 #define setjmp setjmp |
36 | 34 |
37 #ifdef __cplusplus | 35 #ifdef __cplusplus |
38 } | 36 } |
39 #endif | 37 #endif |
40 | 38 |
41 #endif | 39 #endif |
OLD | NEW |