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

123456789101112131415161718192021222324252627282930
  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 return address */
  8. uint32_t retaddr;
  9. /** Saved stack pointer */
  10. uint32_t stack;
  11. /** Saved %ebx */
  12. uint32_t ebx;
  13. /** Saved %esi */
  14. uint32_t esi;
  15. /** Saved %edi */
  16. uint32_t edi;
  17. /** Saved %ebp */
  18. uint32_t ebp;
  19. } jmp_buf[1];
  20. extern int __asmcall __attribute__ (( returns_twice ))
  21. setjmp ( jmp_buf env );
  22. extern void __asmcall __attribute__ (( noreturn ))
  23. longjmp ( jmp_buf env, int val );
  24. #endif /* _SETJMP_H */