Annotation of mstools/h/excpt.h, revision 1.1.1.3

1.1       root        1: /***
1.1.1.3 ! root        2: *excpt.h - defines exception values, types and routines
1.1       root        3: *
1.1.1.3 ! root        4: *      Copyright (c) 1990-1992, Microsoft Corporation. All rights reserved.
1.1       root        5: *
                      6: *Purpose:
1.1.1.3 ! root        7: *      This file contains the definitions and prototypes for the compiler-
        !             8: *      dependent intrinsics, support functions and keywords which implement
        !             9: *      the structured exception handling extensions.
1.1       root       10: *
1.1.1.3 ! root       11: ****/
1.1       root       12: 
1.1.1.3 ! root       13: #ifndef _INC_EXCPT
1.1       root       14: 
1.1.1.3 ! root       15: #ifdef __cplusplus
        !            16: extern "C" {
        !            17: #endif
        !            18: 
        !            19: 
        !            20: /*
        !            21:  * Conditional macro definition for function calling type and variable type
        !            22:  * qualifiers.
        !            23:  */
        !            24: #if   ( (_MSC_VER >= 800) && (_M_IX86 >= 300) )
        !            25: 
        !            26: /*
        !            27:  * Definitions for MS C8-32 (386/486) compiler
        !            28:  */
        !            29: #define _CRTAPI1 __cdecl
        !            30: #define _CRTAPI2 __cdecl
        !            31: 
        !            32: #elif ( _MSC_VER == 600 )
        !            33: 
        !            34: /*
        !            35:  * Definitions for old MS C6-386 compiler
        !            36:  */
        !            37: #define _CRTAPI1 _cdecl
        !            38: #define _CRTAPI2 _cdecl
        !            39: #define _M_IX86  300
        !            40: 
        !            41: #else
        !            42: 
        !            43: /*
        !            44:  * Other compilers (e.g., MIPS)
        !            45:  */
        !            46: #define _CRTAPI1
        !            47: #define _CRTAPI2
1.1       root       48: 
1.1.1.3 ! root       49: #endif
        !            50: 
        !            51: 
        !            52: /*
        !            53:  * Exception disposition return values.
        !            54:  */
1.1       root       55: typedef enum _EXCEPTION_DISPOSITION {
                     56:     ExceptionContinueExecution,
                     57:     ExceptionContinueSearch,
                     58:     ExceptionNestedException,
                     59:     ExceptionCollidedUnwind
                     60: } EXCEPTION_DISPOSITION;
                     61: 
                     62: 
1.1.1.3 ! root       63: /*
        !            64:  * Prototype for SEH support function.
        !            65:  */
        !            66: 
        !            67: #ifdef _M_IX86
        !            68: 
        !            69: EXCEPTION_DISPOSITION _CRTAPI2 _except_handler (
        !            70:        struct _EXCEPTION_RECORD *ExceptionRecord,
        !            71:        void * EstablisherFrame,
        !            72:        struct _CONTEXT *ContextRecord,
        !            73:        void * DispatcherContext
        !            74:        );
        !            75: 
        !            76: #elif  ( defined(_M_RX000) || defined(M_MRX000) || defined(MIPS) || defined(MIPS) )
        !            77: 
        !            78: /*
        !            79:  * Declarations to keep MIPS compiler happy
        !            80:  */
1.1       root       81: typedef struct _EXCEPTION_POINTERS *Exception_info_ptr;
                     82: struct _EXCEPTION_RECORD;
                     83: struct _CONTEXT;
                     84: struct _DISPATCHER_CONTEXT;
                     85: 
1.1.1.3 ! root       86: 
        !            87: EXCEPTION_DISPOSITION __C_specific_handler (
        !            88:        struct _EXCEPTION_RECORD *ExceptionRecord,
        !            89:        void *EstablisherFrame,
        !            90:        struct _CONTEXT *ContextRecord,
        !            91:        struct _DISPATCHER_CONTEXT *DispatcherContext
        !            92:        );
        !            93: 
        !            94: #endif
        !            95: 
        !            96: 
        !            97: /*
        !            98:  * Keywords and intrinsics for SEH
        !            99:  */
        !           100: 
        !           101: #if    ( _MSC_VER >= 800 )
        !           102: /*
        !           103:  * MS C8-32 (386/486)
        !           104:  */
        !           105: #define try                            _try
        !           106: #define except                         _except
        !           107: #define finally                        _finally
        !           108: #define GetExceptionCode               _exception_code
        !           109: #define exception_code                 _exception_code
        !           110: #define GetExceptionInformation        (struct _EXCEPTION_POINTERS *)_exception_info
        !           111: #define exception_info                 (struct _EXCEPTION_POINTERS *)_exception_info
        !           112: #define AbnormalTermination            _abnormal_termination
        !           113: #define abnormal_termination           _abnormal_termination
        !           114: 
        !           115: unsigned long _CRTAPI1 _exception_code(void);
        !           116: void *       _CRTAPI1 _exception_info(void);
        !           117: int          _CRTAPI1 _abnormal_termination(void);
        !           118: 
        !           119: #elif  ( (_MSC_VER == 600) || defined(M_MRX000) )
        !           120: /*
        !           121:  * Old MS C 6-386 or MS MIPS compiler
        !           122:  */
        !           123: #define try                            _try
        !           124: #define except                         _except
        !           125: #define finally                        _finally
        !           126: #define GetExceptionCode               _exception_code
        !           127: #define exception_code                 _exception_code
        !           128: #define GetExceptionInformation        (struct _EXCEPTION_POINTERS *)_exception_info
        !           129: #define exception_info                 (struct _EXCEPTION_POINTERS *)_exception_info
        !           130: #define AbnormalTermination            _abnormal_termination
        !           131: #define abnormal_termination           _abnormal_termination
        !           132: 
        !           133: unsigned long _CRTAPI1 _exception_code(void);
        !           134: void *       _CRTAPI1 _exception_info(void);
        !           135: int          _CRTAPI1 _abnormal_termination(void);
        !           136: 
        !           137: #elif  ( defined(_M_RX000) || defined(MIPS) || defined(MIPS) )
        !           138: /*
        !           139:  * MIPS compiler
        !           140:  */
        !           141: #define try                            __builtin_try
        !           142: #define except                         __builtin_except
        !           143: #define finally                        __builtin_finally
        !           144: #define leave                          __builtin_leave
        !           145: #define GetExceptionCode()             __exception_code
        !           146: #define exception_code()               __exception_code
        !           147: #define GetExceptionInformation()      (struct _EXCEPTION_POINTERS *)__exception_info
        !           148: #define exception_info()               (struct _EXCEPTION_POINTERS *)__exception_info
        !           149: #define AbnormalTermination()          __abnormal_termination
        !           150: #define abnormal_termination()         __abnormal_termination
        !           151: 
        !           152: extern unsigned long __exception_code;
        !           153: extern int          __exception_info;
        !           154: extern int          __abnormal_termination;
1.1       root      155: 
                    156: #endif
                    157: 
                    158: 
1.1.1.3 ! root      159: /*
        !           160:  * Legal values for expression in except().
        !           161:  */
        !           162: 
        !           163: #define EXCEPTION_EXECUTE_HANDLER       1
        !           164: #define EXCEPTION_CONTINUE_SEARCH       0
        !           165: #define EXCEPTION_CONTINUE_EXECUTION   -1
        !           166: 
        !           167: 
        !           168: 
        !           169: #ifdef __cplusplus
        !           170: }
1.1       root      171: #endif
1.1.1.3 ! root      172: 
        !           173: #define _INC_EXCPT
        !           174: #endif /* _INC_EXCPT */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.