source: rtems/c/src/exec/score/include/rtems/score/interr.h @ 08311cc3

4.104.114.84.95
Last change on this file since 08311cc3 was 08311cc3, checked in by Joel Sherrill <joel.sherrill@…>, on 11/17/99 at 17:51:34

Updated copyright notice.

  • Property mode set to 100644
File size: 2.2 KB
Line 
1/*  interr.h
2 *
3 *  This include file contains constants and prototypes related
4 *  to the Internal Error Handler.
5 *
6 *
7 *  COPYRIGHT (c) 1989-1999.
8 *  On-Line Applications Research Corporation (OAR).
9 *
10 *  The license and distribution terms for this file may be
11 *  found in the file LICENSE in this distribution or at
12 *  http://www.OARcorp.com/rtems/license.html.
13 *
14 *  $Id$
15 */
16
17#ifndef __RTEMS_INTERNAL_ERROR_h
18#define __RTEMS_INTERNAL_ERROR_h
19
20#ifdef __cplusplus
21extern "C" {
22#endif
23
24/*
25 *  This type lists the possible sources from which an error
26 *  can be reported.
27 */
28
29typedef enum {
30  INTERNAL_ERROR_CORE,
31  INTERNAL_ERROR_RTEMS_API,
32  INTERNAL_ERROR_POSIX_API,
33  INTERNAL_ERROR_ITRON_API
34} Internal_errors_Source;
35
36/*
37 *  A list of errors which are generated internally by the executive core.
38 */
39
40typedef enum {
41  INTERNAL_ERROR_NO_CONFIGURATION_TABLE,
42  INTERNAL_ERROR_NO_CPU_TABLE,
43  INTERNAL_ERROR_INVALID_WORKSPACE_ADDRESS,
44  INTERNAL_ERROR_TOO_LITTLE_WORKSPACE,
45  INTERNAL_ERROR_WORKSPACE_ALLOCATION,
46  INTERNAL_ERROR_INTERRUPT_STACK_TOO_SMALL,
47  INTERNAL_ERROR_THREAD_EXITTED,
48  INTERNAL_ERROR_INCONSISTENT_MP_INFORMATION,
49  INTERNAL_ERROR_INVALID_NODE,
50  INTERNAL_ERROR_NO_MPCI,
51  INTERNAL_ERROR_BAD_PACKET,
52  INTERNAL_ERROR_OUT_OF_PACKETS,
53  INTERNAL_ERROR_OUT_OF_GLOBAL_OBJECTS,
54  INTERNAL_ERROR_OUT_OF_PROXIES,
55  INTERNAL_ERROR_INVALID_GLOBAL_ID,
56  INTERNAL_ERROR_BAD_STACK_HOOK
57} Internal_errors_Core_list;
58
59/*
60 *  This type holds the fatal error information.
61 */
62 
63typedef struct {
64  Internal_errors_Source  the_source;
65  boolean                 is_internal;
66  unsigned32              the_error;
67} Internal_errors_Information;
68
69/*
70 *  When a fatal error occurs, the error information is stored here.
71 */
72
73SCORE_EXTERN Internal_errors_Information Internal_errors_What_happened;
74
75/*
76 *  _Internal_error_Occurred
77 *
78 *  DESCRIPTION:
79 *
80 *  This routine is invoked when the application or the executive itself
81 *  determines that a fatal error has occurred.
82 */
83
84void volatile _Internal_error_Occurred(
85  Internal_errors_Source  the_source,
86  boolean                 is_internal,
87  unsigned32              the_error
88);
89
90#ifdef __cplusplus
91}
92#endif
93
94#endif
95/* end of include file */
Note: See TracBrowser for help on using the repository browser.