comparison packages/kernel/current/include/except.hxx @ 2:443894e2e912 ecos-v1_2_1-release

Block commit of eCos version 1.2.1
author jlarmour
date Tue, 11 May 1999 12:24:34 +0000
parents 3111d98ba7b3
children c38311975d4f
comparison
equal deleted inserted replaced
1:72f549f0d891 2:443894e2e912
1 #ifndef CYGONCE_KERNEL_EXCEPT_HXX 1 #ifndef CYGONCE_KERNEL_EXCEPT_HXX
2 #define CYGONCE_KERNEL_EXCEPT_HXX 2 #define CYGONCE_KERNEL_EXCEPT_HXX
3 3
4 //========================================================================== 4 //==========================================================================
5 // 5 //
6 // except.hxx 6 // except.hxx
7 // 7 //
8 // Exception handling declarations 8 // Exception handling declarations
9 // 9 //
10 //========================================================================== 10 //==========================================================================
11 //####COPYRIGHTBEGIN#### 11 //####COPYRIGHTBEGIN####
12 // 12 //
13 // ------------------------------------------- 13 // -------------------------------------------
23 // 23 //
24 // The Original Code is eCos - Embedded Cygnus Operating System, released 24 // The Original Code is eCos - Embedded Cygnus Operating System, released
25 // September 30, 1998. 25 // September 30, 1998.
26 // 26 //
27 // The Initial Developer of the Original Code is Cygnus. Portions created 27 // The Initial Developer of the Original Code is Cygnus. Portions created
28 // by Cygnus are Copyright (C) 1998 Cygnus Solutions. All Rights Reserved. 28 // by Cygnus are Copyright (C) 1998,1999 Cygnus Solutions. All Rights Reserved.
29 // ------------------------------------------- 29 // -------------------------------------------
30 // 30 //
31 //####COPYRIGHTEND#### 31 //####COPYRIGHTEND####
32 //========================================================================== 32 //==========================================================================
33 //#####DESCRIPTIONBEGIN#### 33 //#####DESCRIPTIONBEGIN####
34 // 34 //
35 // Author(s): nickg 35 // Author(s): nickg
36 // Contributors: nickg 36 // Contributors: nickg, jlarmour
37 // Date: 1997-04-09 37 // Date: 1999-02-16
38 // Purpose: Define exception interfaces 38 // Purpose: Define exception interfaces
39 // Description: The classes defined here collectively implement the 39 // Description: The classes defined here collectively implement the
40 // internal API used to register, manage and deliver 40 // internal API used to register, manage and deliver
41 // exceptions. 41 // exceptions.
42 // Usage: #include <cyg/kernel/thread.hxx> 42 // Usage: #include <cyg/kernel/thread.hxx>
43 // 43 //
44 //####DESCRIPTIONEND#### 44 //####DESCRIPTIONEND####
45 // 45 //
46 //========================================================================== 46 //==========================================================================
47 47
60 60
61 // ------------------------------------------------------------------------- 61 // -------------------------------------------------------------------------
62 // Exception delivery interface. This function is exported to the HAL which 62 // Exception delivery interface. This function is exported to the HAL which
63 // invokes it for all exceptions that it is not able to handle itself. 63 // invokes it for all exceptions that it is not able to handle itself.
64 64
65 externC void deliver_exception( CYG_WORD code, CYG_ADDRWORD data ); 65 externC void cyg_hal_deliver_exception( CYG_WORD code, CYG_ADDRWORD data );
66 66
67 // ------------------------------------------------------------------------- 67 // -------------------------------------------------------------------------
68 // Exception control class. Depending on the configuration there is either 68 // Exception control class. Depending on the configuration there is either
69 // one of these per thread, or one for the entire system. 69 // one of these per thread, or one for the entire system.
70 70
72 72
73 class Cyg_Exception_Control 73 class Cyg_Exception_Control
74 { 74 {
75 75
76 #ifdef CYGSEM_KERNEL_EXCEPTIONS_DECODE 76 #ifdef CYGSEM_KERNEL_EXCEPTIONS_DECODE
77 cyg_exception_handler *exception_handler[CYG_EXCEPTION_COUNT]; 77 cyg_exception_handler *exception_handler[CYGNUM_HAL_EXCEPTION_COUNT];
78 78
79 CYG_ADDRWORD exception_data[CYG_EXCEPTION_COUNT]; 79 CYG_ADDRWORD exception_data[CYGNUM_HAL_EXCEPTION_COUNT];
80 #else 80 #else
81 cyg_exception_handler *exception_handler; // Handler function 81 cyg_exception_handler *exception_handler; // Handler function
82 82
83 CYG_ADDRWORD exception_data; // Handler data 83 CYG_ADDRWORD exception_data; // Handler data
84 #endif 84 #endif