home *** CD-ROM | disk | FTP | other *** search
/ Power GUI Programming with VisualAge C++ / powergui.iso / trialva / ibmcppw / include / excpt.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-02-20  |  2.3 KB  |  75 lines

  1. /********************************************************************/
  2. /*  <excpt.h> header file                                           */
  3. /*                                                                  */
  4. /*  VisualAge for C++ for Windows, Version 3.5                      */
  5. /*    Licensed Material - Property of IBM                           */
  6. /*                                                                  */
  7. /*  5801-ARR and Other Materials                                    */
  8. /*                                                                  */
  9. /*  (c) Copyright IBM Corp 1991, 1996. All rights reserved.         */
  10. /*                                                                  */
  11. /********************************************************************/
  12.  
  13. #ifndef __excpt_h
  14.    #define __excpt_h
  15.  
  16.    #ifdef __cplusplus
  17.       extern "C" {
  18.    #endif
  19.  
  20.    #ifndef  _LNK_CONV
  21.       #ifdef _M_I386
  22.          #define _LNK_CONV   _Optlink
  23.       #else
  24.          #define _LNK_CONV
  25.       #endif
  26.    #endif
  27.  
  28.    #ifndef _IMPORT
  29.       #ifdef __IMPORTLIB__
  30.          #define _IMPORT _Import
  31.       #else
  32.          #define _IMPORT
  33.       #endif
  34.    #endif
  35.  
  36.    /*
  37.     * Exception disposition return values.
  38.     */
  39.    typedef enum _EXCEPTION_DISPOSITION {
  40.       ExceptionContinueExecution,
  41.       ExceptionContinueSearch,
  42.       ExceptionNestedException,
  43.       ExceptionCollidedUnwind
  44.    } EXCEPTION_DISPOSITION;
  45.  
  46.  
  47.    /*
  48.     * Legal values for expression in except().
  49.     */
  50.  
  51.    #define EXCEPTION_EXECUTE_HANDLER     1
  52.    #define EXCEPTION_CONTINUE_SEARCH     0
  53.    #define EXCEPTION_CONTINUE_EXECUTION -1
  54.  
  55.    #ifndef __cplusplus
  56.       extern unsigned long _Builtin  _exception_code(void);
  57.       extern void* _IMPORT _LNK_CONV _GetExceptionInfo(void);
  58.       extern int   _IMPORT _LNK_CONV _AbnormalTermination(void);
  59.       struct _EXCEPTION_POINTERS;
  60.  
  61.       #define GetExceptionCode        _exception_code
  62.       #define exception_code          _exception_code
  63.       #define GetExceptionInformation (struct _EXCEPTION_POINTERS *)_GetExceptionInfo
  64.       #define exception_info          (struct _EXCEPTION_POINTERS *)_GetExceptionInfo
  65.       #define AbnormalTermination     _AbnormalTermination
  66.       #define abnormal_termination    _AbnormalTermination
  67.    #endif
  68.  
  69.    #ifdef __cplusplus
  70.       }
  71.    #endif
  72.  
  73. #endif  /* __excpt_h */
  74.  
  75.