iPXE
rmsetjmp.h File Reference
#include <setjmp.h>
#include <realmode.h>

Go to the source code of this file.

Data Structures

struct  rmjmp_buf
 A real-mode-extended jump buffer. More...

Macros

#define rmsetjmp(_env)
#define rmlongjmp(_env, _val)

Functions

 FILE_LICENCE (GPL2_OR_LATER_OR_UBDL)

Macro Definition Documentation

◆ rmsetjmp

#define rmsetjmp ( _env)
Value:
( { \
(_env)->rm_stack.segment = rm_ss; \
(_env)->rm_stack.offset = rm_sp; \
setjmp ( (_env)->env ); } ) \
uint16_t rm_ss
uint16_t rm_sp

Definition at line 17 of file rmsetjmp.h.

17#define rmsetjmp( _env ) ( { \
18 (_env)->rm_stack.segment = rm_ss; \
19 (_env)->rm_stack.offset = rm_sp; \
20 setjmp ( (_env)->env ); } ) \
21

Referenced by com32_exec_loop(), comboot_exec_loop(), and pxe_start_nbp().

◆ rmlongjmp

#define rmlongjmp ( _env,
_val )
Value:
do { \
rm_ss = (_env)->rm_stack.segment; \
rm_sp = (_env)->rm_stack.offset; \
longjmp ( (_env)->env, (_val) ); \
} while ( 0 )

Definition at line 22 of file rmsetjmp.h.

22#define rmlongjmp( _env, _val ) do { \
23 rm_ss = (_env)->rm_stack.segment; \
24 rm_sp = (_env)->rm_stack.offset; \
25 longjmp ( (_env)->env, (_val) ); \
26 } while ( 0 )

Referenced by int20(), int21(), int22(), and pxenv_restart_tftp().

Function Documentation

◆ FILE_LICENCE()

FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL )