// Rowley C Compiler, runtime support. // // Copyright (c) 2001, 2002 Rowley Associates Limited. // // This file may be distributed under the terms of the License Agreement // provided with this software. // // THIS FILE IS PROVIDED AS IS WITH NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. #ifndef __setjmp_h #define __setjmp_h #ifdef __cplusplus extern "C" { #endif #if defined(__CROSSWORKS_AVR) #if __AVR_FLASH_SIZE > 128 typedef unsigned char jmp_buf[25]; // R2-R19, R28-R29, PC, SP: 8M devices #else typedef unsigned char jmp_buf[24]; // R2-R19, R28-R29, PC, SP: 8K-128K devices #endif #elif defined(__CROSSWORKS_MSP430) typedef unsigned jmp_buf[10]; // R4-R11, PC, SP #elif defined(__CROSSWORKS_MAXQ) typedef unsigned jmp_buf[14]; // A[0]-A[3], A[8]-A[15], SP, PC #elif defined(__CROSSWORKS_MAXQ30) typedef unsigned jmp_buf[14]; // A[0]-A[3], A[8]-A[15], SP, PC #elif defined(__GNUC__) typedef unsigned jmp_buf[11]; // R4-R14 #endif int setjmp(jmp_buf env); void longjmp(jmp_buf env, int val); #ifdef __cplusplus } #endif #endif