2
0

setjmp.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. #ifndef _SETJMP_H
  2. #define _SETJMP_H
  3. #ifdef __aarch64__
  4. typedef unsigned long jmp_buf[22];
  5. #endif
  6. #ifdef __arm__
  7. typedef unsigned long long jmp_buf[32];
  8. #endif
  9. #ifdef __i386__
  10. typedef unsigned long jmp_buf[6];
  11. #endif
  12. #ifdef __m68k__
  13. typedef unsigned long jmp_buf[39];
  14. #endif
  15. #ifdef __microblaze__
  16. typedef unsigned long jmp_buf[18];
  17. #endif
  18. #ifdef __mips__
  19. typedef unsigned long long jmp_buf[13];
  20. #endif
  21. #ifdef __mips64__
  22. typedef unsigned long long jmp_buf[23];
  23. #endif
  24. #ifdef __mipsn32__
  25. typedef unsigned long long jmp_buf[23];
  26. #endif
  27. #ifdef __or1k__
  28. typedef unsigned long jmp_buf[13];
  29. #endif
  30. #ifdef __powerpc__
  31. typedef unsigned long long jmp_buf[56];
  32. #endif
  33. #ifdef __powerpc64__
  34. typedef uint128_t jmp_buf[32];
  35. #endif
  36. #ifdef __s390x__
  37. typedef unsigned long jmp_buf[18];
  38. #endif
  39. #ifdef __sh__
  40. typedef unsigned long jmp_buf[15];
  41. #endif
  42. #ifdef __x32__
  43. typedef unsigned long long jmp_buf[8];
  44. #endif
  45. #ifdef __x86_64__
  46. typedef unsigned long jmp_buf[8];
  47. #endif
  48. #ifdef __cplusplus
  49. extern "C" {
  50. #endif
  51. int setjmp(jmp_buf buf);
  52. void longjmp(jmp_buf buf, int value);
  53. #ifdef __cplusplus
  54. } // extern "C"
  55. #endif
  56. #endif /* _SETJMP_H */