RTEMS 5.2
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
error.h
Go to the documentation of this file.
1
47#ifndef _RTEMS_RTEMS_ERROR_H
48#define _RTEMS_RTEMS_ERROR_H
49
50#include <rtems/rtems/status.h>
51#include <rtems/fatal.h>
52
53#include <stdarg.h>
54
55#ifdef __cplusplus
56extern "C" {
57#endif
58
67typedef Internal_errors_t rtems_error_code_t;
68
69/*
70 * rtems_error(), rtems_verror() and rtems_panic() support
71 */
72
73#if 0
74/* not 16bit-int host clean */
75#define RTEMS_ERROR_ERRNO (1<<((sizeof(rtems_error_code_t) * CHAR_BIT) - 2)) /* hi bit; use 'errno' */
76#define RTEMS_ERROR_PANIC (RTEMS_ERROR_ERRNO / 2) /* err fatal; no return */
77#define RTEMS_ERROR_ABORT (RTEMS_ERROR_ERRNO / 4) /* err is fatal; panic */
78#else
79#define RTEMS_ERROR_ERRNO (0x40000000) /* hi bit; use 'errno' */
80#define RTEMS_ERROR_PANIC (0x20000000) /* err fatal; no return */
81#define RTEMS_ERROR_ABORT (0x10000000) /* err is fatal; panic */
82#endif
83
84#define RTEMS_ERROR_MASK \
85 (RTEMS_ERROR_ERRNO | RTEMS_ERROR_ABORT | RTEMS_ERROR_PANIC) /* all */
86
100int rtems_error(
101 rtems_error_code_t error_code,
102 const char *printf_format,
103 ...
104);
105
121int rtems_verror(
122 rtems_error_code_t error_code,
123 const char *printf_format,
124 va_list arglist
125);
126
127extern int rtems_panic_in_progress;
128
129#ifdef __cplusplus
130}
131#endif
132
133
134#endif
135/* end of include file */
Fatal API.
int rtems_verror(rtems_error_code_t error_code, const char *printf_format, va_list arglist)
Report an Error.
Definition: error.c:27
int rtems_error(rtems_error_code_t error_code, const char *printf_format,...)
Report an Error.
Definition: error.c:77