source: rtems/c/src/lib/libc/error.h @ 75061954

Last change on this file since 75061954 was 75061954, checked in by Joel Sherrill <joel.sherrill@…>, on 05/30/00 at 14:07:37

Patch from Nick Simon <Nick.SIMON@…> to make
error.h C++ safe.

  • Property mode set to 100644
File size: 1.1 KB
Line 
1/*
2 *  Defines and externs for rtems error reporting
3 *
4 *  $Id$
5 */
6
7#ifndef __RTEMS_ERROR_h
8#define __RTEMS_ERROR_h
9
10#ifdef __cplusplus
11extern "C" {
12#endif
13
14/*
15 * rtems_error() and rtems_panic() support
16 */
17
18#define RTEMS_ERROR_ERRNO  (1<<((sizeof(int) * 8) - 2)) /* hi bit; use 'errno' */
19#define RTEMS_ERROR_PANIC  (RTEMS_ERROR_ERRNO / 2)       /* err fatal; no return */
20#define RTEMS_ERROR_ABORT  (RTEMS_ERROR_ERRNO / 4)       /* err is fatal; panic */
21
22#define RTEMS_ERROR_MASK  (RTEMS_ERROR_ERRNO | RTEMS_ERROR_ABORT | \
23                             RTEMS_ERROR_PANIC) /* all */
24
25const char *rtems_status_text(rtems_status_code);
26int   rtems_error(int error_code, const char *printf_format, ...);
27#ifdef __GNUC__
28void  rtems_panic(const char *printf_format, ...);
29/*
30 *  We should be able to use this attribute but gcc complains that
31 *  rtems_panic does in fact return. :(
32 *
33 *      __attribute__ ((__noreturn__));
34 */
35#else
36void  rtems_panic(const char *printf_format, ...);
37#endif
38
39extern int rtems_panic_in_progress;
40
41#ifdef __cplusplus
42}
43#endif
44
45
46#endif
47/* end of include file */
Note: See TracBrowser for help on using the repository browser.