source: rtems/c/src/exec/rtems/include/rtems/rtems/status.h @ 03f2154e

4.104.114.84.95
Last change on this file since 03f2154e was 03f2154e, checked in by Joel Sherrill <joel.sherrill@…>, on 04/22/97 at 17:20:27

headers updated to reflect new style copyright notice as part
of switching to the modified GNU GPL.

  • Property mode set to 100644
File size: 3.0 KB
Line 
1/*  status.h
2 *
3 *  This include file contains the status codes returned from the
4 *  executive directives.
5 *
6 *  COPYRIGHT (c) 1989-1997.
7 *  On-Line Applications Research Corporation (OAR).
8 *  Copyright assigned to U.S. Government, 1994.
9 *
10 *  The license and distribution terms for this file may in
11 *  the file LICENSE in this distribution or at
12 *  http://www.OARcorp.com/rtems/license.html.
13 *
14 *  $Id$
15 */
16
17#ifndef __RTEMS_STATUS_h
18#define __RTEMS_STATUS_h
19
20#ifdef __cplusplus
21extern "C" {
22#endif
23
24/* types */
25
26/* enumerated constants */
27
28typedef enum {
29  RTEMS_SUCCESSFUL               =  0, /* successful completion */
30  RTEMS_TASK_EXITTED             =  1, /* returned from a thread */
31  RTEMS_MP_NOT_CONFIGURED        =  2, /* multiprocessing not configured */
32  RTEMS_INVALID_NAME             =  3, /* invalid object name */
33  RTEMS_INVALID_ID               =  4, /* invalid object id */
34  RTEMS_TOO_MANY                 =  5, /* too many */
35  RTEMS_TIMEOUT                  =  6, /* timed out waiting */
36  RTEMS_OBJECT_WAS_DELETED       =  7, /* object deleted while waiting */
37  RTEMS_INVALID_SIZE             =  8, /* specified size was invalid */
38  RTEMS_INVALID_ADDRESS          =  9, /* address specified is invalid */
39  RTEMS_INVALID_NUMBER           = 10, /* number was invalid */
40  RTEMS_NOT_DEFINED              = 11, /* item has not been initialized */
41  RTEMS_RESOURCE_IN_USE          = 12, /* resources still outstanding */
42  RTEMS_UNSATISFIED              = 13, /* request not satisfied */
43  RTEMS_INCORRECT_STATE          = 14, /* thread is in wrong state */
44  RTEMS_ALREADY_SUSPENDED        = 15, /* thread already in state */
45  RTEMS_ILLEGAL_ON_SELF          = 16, /* illegal on calling thread */
46  RTEMS_ILLEGAL_ON_REMOTE_OBJECT = 17, /* illegal for remote object */
47  RTEMS_CALLED_FROM_ISR          = 18, /* called from wrong environment */
48  RTEMS_INVALID_PRIORITY         = 19, /* invalid thread priority */
49  RTEMS_INVALID_CLOCK            = 20, /* invalid date/time */
50  RTEMS_INVALID_NODE             = 21, /* invalid node id */
51  RTEMS_NOT_CONFIGURED           = 22, /* directive not configured */
52  RTEMS_NOT_OWNER_OF_RESOURCE    = 23, /* not owner of resource */
53  RTEMS_NOT_IMPLEMENTED          = 24, /* directive not implemented */
54  RTEMS_INTERNAL_ERROR           = 25, /* RTEMS inconsistency detected */
55  RTEMS_NO_MEMORY                = 26, /* could not get enough memory */
56  RTEMS_PROXY_BLOCKING           = 27  /* internal error only */
57} rtems_status_code;
58
59#define RTEMS_STATUS_CODES_FIRST RTEMS_SUCCESSFUL
60#define RTEMS_STATUS_CODES_LAST  RTEMS_PROXY_BLOCKING
61
62extern rtems_status_code _Status_Object_name_errors_to_status[];
63
64#ifdef RTEMS_API_INIT
65rtems_status_code _Status_Object_name_errors_to_status[] = {
66  RTEMS_SUCCESSFUL,      /* OBJECTS_SUCCESSFUL */
67  RTEMS_INVALID_NAME,    /* OBJECTS_INVALID_NAME */
68  RTEMS_INVALID_NODE     /* OBJECTS_INVALID_NODE */
69};
70#endif
71
72/*
73 *  Applications are allowed to use the macros to compare status codes.
74 */
75
76#include <rtems/rtems/status.inl>
77
78#ifdef __cplusplus
79}
80#endif
81
82#endif
83/* end of include file */
Note: See TracBrowser for help on using the repository browser.