setjmp.h 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. #ifndef _BITS_SETJMP_H
  2. #define _BITS_SETJMP_H
  3. #ifdef __arch64__
  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. int setjmp(jmp_buf buf);
  49. void longjmp(jmp_buf buf, int value);
  50. #endif /* _SETJMP_H */