1 #ifndef ETHERBOOT_SETJMP_H
2 #define ETHERBOOT_SETJMP_H
17 /** A real-mode-extended jump buffer */
24 extern int __asmcall setjmp ( jmp_buf env );
25 extern void __asmcall longjmp ( jmp_buf env, int val );
27 #define rmsetjmp( _env ) ( { \
28 (_env)->rm_ss = rm_ss; \
29 (_env)->rm_sp = rm_sp; \
30 setjmp ( (_env)->env ); } ) \
32 #define rmlongjmp( _env, _val ) do { \
33 rm_ss = (_env)->rm_ss; \
34 rm_sp = (_env)->rm_sp; \
35 longjmp ( (_env)->env, (_val) ); \
38 #endif /* ETHERBOOT_SETJMP_H */