123456789101112131415161718192021222324252627282930 |
- #ifndef _SETJMP_H
- #define _SETJMP_H
-
- FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
-
- #include <stdint.h>
-
- /** A jump buffer */
- typedef struct {
- /** Saved return address */
- uint32_t retaddr;
- /** Saved stack pointer */
- uint32_t stack;
- /** Saved %ebx */
- uint32_t ebx;
- /** Saved %esi */
- uint32_t esi;
- /** Saved %edi */
- uint32_t edi;
- /** Saved %ebp */
- uint32_t ebp;
- } jmp_buf[1];
-
- extern int __asmcall __attribute__ (( returns_twice ))
- setjmp ( jmp_buf env );
-
- extern void __asmcall __attribute__ (( noreturn ))
- longjmp ( jmp_buf env, int val );
-
- #endif /* _SETJMP_H */
|