You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

setjmp.h 817B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #ifndef _SETJMP_H
  2. #define _SETJMP_H
  3. FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
  4. #include <stdint.h>
  5. /** A jump buffer */
  6. typedef struct {
  7. /** Saved x19 */
  8. uint64_t x19;
  9. /** Saved x20 */
  10. uint64_t x20;
  11. /** Saved x21 */
  12. uint64_t x21;
  13. /** Saved x22 */
  14. uint64_t x22;
  15. /** Saved x23 */
  16. uint64_t x23;
  17. /** Saved x24 */
  18. uint64_t x24;
  19. /** Saved x25 */
  20. uint64_t x25;
  21. /** Saved x26 */
  22. uint64_t x26;
  23. /** Saved x27 */
  24. uint64_t x27;
  25. /** Saved x28 */
  26. uint64_t x28;
  27. /** Saved frame pointer (x29) */
  28. uint64_t x29;
  29. /** Saved link register (x30) */
  30. uint64_t x30;
  31. /** Saved stack pointer (x31) */
  32. uint64_t sp;
  33. } jmp_buf[1];
  34. extern int __asmcall __attribute__ (( returns_twice ))
  35. setjmp ( jmp_buf env );
  36. extern void __asmcall __attribute__ (( noreturn ))
  37. longjmp ( jmp_buf env, int val );
  38. #endif /* _SETJMP_H */