home *** CD-ROM | disk | FTP | other *** search
- /***
- *setjmp.h - definitions/declarations for setjmp/longjmp routines
- *
- * Copyright (c) 1985-1991, Microsoft Corporation. All rights reserved.
- *
- *Purpose:
- * This file defines the machine-dependent buffer used by
- * setjmp/longjmp to save and restore the program state, and
- * declarations for those routines.
- * [ANSI/System V]
- *
- ****/
-
- #ifndef _INC_SETJMP
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- #if defined(_DLL) && !defined(_MT)
- #error Cannot define _DLL without _MT
- #endif
-
- #ifdef _MT
- #define _FAR_ __far
- #else
- #define _FAR_
- #endif
-
- #if (_MSC_VER <= 600)
- #define __cdecl _cdecl
- #define __far _far
- #define __loadds _loadds
- #endif
-
- /* define the buffer type for holding the state information */
-
- #define _JBLEN 9 /* bp, di, si, sp, ret addr, ds */
-
- #ifndef _JMP_BUF_DEFINED
- typedef int jmp_buf[_JBLEN];
- #define _JMP_BUF_DEFINED
- #endif
-
-
- /* function prototypes */
-
- int _FAR_ __cdecl setjmp(jmp_buf);
- void _FAR_ __cdecl longjmp(jmp_buf, int);
-
- #ifdef __cplusplus
- }
- #endif
-
- #define _INC_SETJMP
- #endif /* _INC_SETJMP */
-