#ifndef _SETJMP_H | |
#define _SETJMP_H | |
FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); | |
#include <stdint.h> | |
/** jump buffer env*/ | |
typedef struct { | |
uint64_t s0; | |
uint64_t s1; | |
uint64_t s2; | |
uint64_t s3; | |
uint64_t s4; | |
uint64_t s5; | |
uint64_t s6; | |
uint64_t s7; | |
uint64_t s8; | |
uint64_t fp; | |
uint64_t sp; | |
uint64_t ra; | |
} 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 */ |