| // Arch specific struct definitions for setjmp/longjmp. | 
 |  | 
 | #ifndef ROS_ARCH_SETJMP_H | 
 | #define ROS_ARCH_SETJMP_H | 
 |  | 
 | #include <common.h> | 
 |  | 
 | #ifdef __x86_64__ | 
 | struct jmpbuf { | 
 | 	uintptr_t retaddr; // return address | 
 | 	uintreg_t rsp;     // post-return rsp | 
 | 	uintreg_t rbx;     // callee saved registers | 
 | 	uintreg_t rbp; | 
 | 	uintreg_t r12; | 
 | 	uintreg_t r13; | 
 | 	uintreg_t r14; | 
 | 	uintreg_t r15; | 
 | }; | 
 | #else | 
 | struct jmpbuf { | 
 | 	uintptr_t retaddr; // return address | 
 |  	uintreg_t esp;     // post-return esp | 
 |  	uintreg_t ebx;     // callee saved registers | 
 | 	uintreg_t ebp; | 
 | 	uintreg_t esi; | 
 | 	uintreg_t edi; | 
 | }; | 
 | #endif | 
 |  | 
 | #endif /* !ROS_ARCH_SETJMP_H */ |