[intelxl] Add driver for Intel 100 Gigabit Ethernet NICs
[ipxe.git] / src / arch / i386 / include / setjmp.h
1 #ifndef _SETJMP_H
2 #define _SETJMP_H
3
4 FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
5
6 #include <stdint.h>
7
8 /** A jump buffer */
9 typedef struct {
10 /** Saved return address */
11 uint32_t retaddr;
12 /** Saved stack pointer */
13 uint32_t stack;
14 /** Saved %ebx */
15 uint32_t ebx;
16 /** Saved %esi */
17 uint32_t esi;
18 /** Saved %edi */
19 uint32_t edi;
20 /** Saved %ebp */
21 uint32_t ebp;
22 } jmp_buf[1];
23
24 extern int __asmcall __attribute__ (( returns_twice ))
25 setjmp ( jmp_buf env );
26
27 extern void __asmcall __attribute__ (( noreturn ))
28 longjmp ( jmp_buf env, int val );
29
30 #endif /* _SETJMP_H */