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 704B

1234567891011121314151617181920212223242526272829303132333435363738
  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 r4 */
  8. uint32_t r4;
  9. /** Saved r5 */
  10. uint32_t r5;
  11. /** Saved r6 */
  12. uint32_t r6;
  13. /** Saved r7 */
  14. uint32_t r7;
  15. /** Saved r8 */
  16. uint32_t r8;
  17. /** Saved r9 */
  18. uint32_t r9;
  19. /** Saved r10 */
  20. uint32_t r10;
  21. /** Saved frame pointer (r11) */
  22. uint32_t fp;
  23. /** Saved stack pointer (r13) */
  24. uint32_t sp;
  25. /** Saved link register (r14) */
  26. uint32_t lr;
  27. } jmp_buf[1];
  28. extern int __asmcall __attribute__ (( returns_twice ))
  29. setjmp ( jmp_buf env );
  30. extern void __asmcall __attribute__ (( noreturn ))
  31. longjmp ( jmp_buf env, int val );
  32. #endif /* _SETJMP_H */