|
|
1.1 root 1: /***
2: *setjmp.h - definitions/declarations for setjmp/longjmp routines
3: *
1.1.1.2 ! root 4: * Copyright (c) 1985-1992, Microsoft Corporation. All rights reserved.
1.1 root 5: *
6: *Purpose:
7: * This file defines the machine-dependent buffer used by
8: * setjmp/longjmp to save and restore the program state, and
9: * declarations for those routines.
10: * [ANSI/System V]
11: *
12: *******************************************************************************/
13:
14: #ifndef _INC_SETJMP
15:
16: #ifndef __cplusplus
17:
18:
1.1.1.2 ! root 19: #ifndef MIPS
1.1 root 20: #if (_MSC_VER <= 600)
21: #define __cdecl _cdecl
22: #endif
1.1.1.2 ! root 23: #endif
1.1 root 24:
25:
26:
1.1.1.2 ! root 27: #ifdef i386
1.1 root 28:
1.1.1.2 ! root 29: #define setjmp _setjmp
1.1 root 30:
1.1.1.2 ! root 31: #define _JBLEN 8
! 32:
! 33: #else
1.1 root 34:
35: /*
36: * _setjmp compiler intrinsic does not work with current Win32
37: * implementation so map it to setjmp
38: */
1.1.1.2 ! root 39: #ifdef M_MRX000
! 40: #pragma intrinsic(_setjmp)
! 41: #define setjmp _setjmp
! 42: #else
! 43: #define _setjmp setjmp
! 44: #endif
1.1 root 45:
1.1.1.2 ! root 46: #ifdef MIPS
! 47: #define _JBLEN 2 /* virtual frame and target ip */
! 48: #endif
1.1 root 49:
1.1.1.2 ! root 50: #endif
1.1 root 51:
52:
53:
1.1.1.2 ! root 54:
! 55: /* define the buffer type for holding the state information */
! 56:
! 57: #ifndef _JMP_BUF_DEFINED
! 58: typedef int jmp_buf[_JBLEN];
! 59: #define _JMP_BUF_DEFINED
! 60: #endif
! 61:
! 62:
1.1 root 63: /* function prototypes */
64:
65: int _setjmp(jmp_buf);
66: void longjmp(jmp_buf, int);
67:
68: #endif /* __cplusplus */
69:
70: #define _INC_SETJMP
71: #endif /* _INC_SETJMP */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.