home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / detk45he.zip / libc / setjmp.h < prev    next >
Text File  |  1999-03-15  |  2KB  |  76 lines

  1. #if __IBMC__ || __IBMCPP__
  2. #pragma info( none )
  3. #ifndef __CHKHDR__
  4.    #pragma info( none )
  5. #endif
  6. #pragma info( restore )
  7. #endif
  8.  
  9. #ifndef __setjmp_h
  10.    #define __setjmp_h
  11.  
  12.    #ifdef __cplusplus
  13.       extern "C" {
  14.    #endif
  15.  
  16.    #ifndef  _LNK_CONV
  17.       #if __IBMC__ || __IBMCPP__ || defined(_OPTLINK_SUPPORTED)
  18.          #define _LNK_CONV   _Optlink
  19.       #else
  20.          #define _LNK_CONV
  21.       #endif
  22.    #endif
  23.  
  24.    #ifndef _IMPORT
  25.       #ifdef __IMPORTLIB__
  26.          #define _IMPORT _Import
  27.       #else
  28.          #define _IMPORT
  29.       #endif
  30.    #endif
  31.  
  32.    /********************************************************************/
  33.    /*  <setjmp.h> header file                                          */
  34.    /*                                                                  */
  35.    /*  (C) Copyright IBM Corp. 1991, 1995.                             */
  36.    /*  - Licensed Material - Program-Property of IBM                   */
  37.    /*  - All rights reserved                                           */
  38.    /*                                                                  */
  39.    /********************************************************************/
  40.  
  41.    #if __THW_PPC__
  42.       typedef double jmp_buf[128];
  43.       extern int _IMPORT setjmp( jmp_buf );
  44.       #if __IBMC__ || __IBMCPP__
  45.          #pragma reachable(setjmp)
  46.       #endif
  47.    #else /* __THW_INTEL__ */
  48.       typedef int jmp_buf[8];
  49.       #if __IBMC__ || __IBMCPP__
  50.          extern int _Builtin _IMPORT setjmp( jmp_buf );
  51.       #else
  52.          extern int _IMPORT _LNK_CONV setjmp( jmp_buf );
  53.       #endif
  54.    #endif
  55.  
  56.    #if (__IBMC__ || __IBMCPP__) && defined(__THW_PPC__)
  57.       #pragma leaves(longjmp)
  58.    #endif
  59.  
  60.    extern void _IMPORT _LNK_CONV longjmp( jmp_buf, int );
  61.  
  62.    #ifdef __cplusplus
  63.       }
  64.    #endif
  65.  
  66. #endif
  67.  
  68. #if __IBMC__ || __IBMCPP__
  69. #pragma info( none )
  70. #ifndef __CHKHDR__
  71.    #pragma info( restore )
  72. #endif
  73. #pragma info( restore )
  74. #endif
  75.  
  76.