1
0

setjmp.h 660 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. #ifndef _SETJMP_H
  2. #define _SETJMP_H
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif
  6. #include <bits/setjmp.h>
  7. #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
  8. || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)
  9. typedef unsigned long sigjmp_buf[(128+sizeof(jmp_buf))/sizeof(long)];
  10. #ifdef _GNU_SOURCE
  11. #define jmp_buf sigjmp_buf
  12. #endif
  13. int sigsetjmp (sigjmp_buf, int);
  14. void siglongjmp (sigjmp_buf, int);
  15. #endif
  16. #if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)
  17. int _setjmp (jmp_buf);
  18. void _longjmp (jmp_buf, int);
  19. #endif
  20. int setjmp (jmp_buf);
  21. void longjmp (jmp_buf, int);
  22. #define setjmp setjmp
  23. #define longjmp longjmp
  24. #ifdef __cplusplus
  25. }
  26. #endif
  27. #endif