Mercurial > ecos
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 |
