00001 #ifndef __SETJMP_H_
00002 #define __SETJMP_H_ 1
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 typedef struct {
00016
00017 unsigned char __j_r2;
00018 unsigned char __j_r3;
00019 unsigned char __j_r4;
00020 unsigned char __j_r5;
00021 unsigned char __j_r6;
00022 unsigned char __j_r7;
00023 unsigned char __j_r8;
00024 unsigned char __j_r9;
00025 unsigned char __j_r10;
00026 unsigned char __j_r11;
00027 unsigned char __j_r12;
00028 unsigned char __j_r13;
00029 unsigned char __j_r14;
00030 unsigned char __j_r15;
00031 unsigned char __j_r16;
00032 unsigned char __j_r17;
00033
00034 unsigned int __j_fp;
00035 unsigned int __j_sp;
00036 unsigned char __j_sreg;
00037 unsigned int __j_pc;
00038 unsigned char __j_pch;
00039 } jmp_buf[1];
00040
00041 #ifndef __ATTR_NORETURN__
00042 #define __ATTR_NORETURN__ __attribute__((__noreturn__))
00043 #endif
00044
00045 extern int setjmp(jmp_buf __jmpb);
00046 extern void longjmp(jmp_buf __jmpb, int __ret) __ATTR_NORETURN__;
00047
00048 #endif