source: rtems/cpukit/rtems/include/rtems/rtems/status.h @ c627b2a3

4.104.114.84.95
Last change on this file since c627b2a3 was c627b2a3, checked in by Joel Sherrill <joel.sherrill@…>, on 05/28/96 at 21:40:52

split the inclusion of "EXTERN" data based on whether it was sapi,
score, rtems api, or posix api related.

  • Property mode set to 100644
File size: 3.1 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, 1990, 1991, 1992, 1993, 1994.
7 *  On-Line Applications Research Corporation (OAR).
8 *  All rights assigned to U.S. Government, 1994.
9 *
10 *  This material may be reproduced by or for the U.S. Government pursuant
11 *  to the copyright license under the clause at DFARS 252.227-7013.  This
12 *  notice must appear in all copies of this file and its derivatives.
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_status_code;
57
58#define RTEMS_STATUS_CODES_FIRST RTEMS_SUCCESSFUL
59#define RTEMS_STATUS_CODES_LAST  RTEMS_NO_MEMORY
60
61extern rtems_status_code _Status_Object_name_errors_to_status[];
62
63#ifdef RTEMS_API_INIT
64rtems_status_code _Status_Object_name_errors_to_status[] = {
65  RTEMS_SUCCESSFUL,      /* OBJECTS_SUCCESSFUL */
66  RTEMS_INVALID_NAME,    /* OBJECTS_INVALID_NAME */
67  RTEMS_INVALID_NODE     /* OBJECTS_INVALID_NODE */
68};
69#endif
70
71/*
72 *  Applications are allowed to use the macros to compare status codes.
73 */
74
75#include <rtems/rtems/status.inl>
76
77#ifdef __cplusplus
78}
79#endif
80
81#endif
82/* end of include file */
Note: See TracBrowser for help on using the repository browser.