RTEMS
5.1
|
Files | |
file | status.h |
file | status.c |
Status Mapping Arrays. | |
file | statustext.c |
file | statustoerrno.c |
Status Mapping Arrays. | |
Macros | |
#define | RTEMS_STATUS_CODES_FIRST RTEMS_SUCCESSFUL |
#define | RTEMS_STATUS_CODES_LAST RTEMS_PROXY_BLOCKING |
Enumerations | |
enum | rtems_status_code { RTEMS_SUCCESSFUL = 0, RTEMS_TASK_EXITTED = 1, RTEMS_MP_NOT_CONFIGURED = 2, RTEMS_INVALID_NAME = 3, RTEMS_INVALID_ID = 4, RTEMS_TOO_MANY = 5, RTEMS_TIMEOUT = 6, RTEMS_OBJECT_WAS_DELETED = 7, RTEMS_INVALID_SIZE = 8, RTEMS_INVALID_ADDRESS = 9, RTEMS_INVALID_NUMBER = 10, RTEMS_NOT_DEFINED = 11, RTEMS_RESOURCE_IN_USE = 12, RTEMS_UNSATISFIED = 13, RTEMS_INCORRECT_STATE = 14, RTEMS_ALREADY_SUSPENDED = 15, RTEMS_ILLEGAL_ON_SELF = 16, RTEMS_ILLEGAL_ON_REMOTE_OBJECT = 17, RTEMS_CALLED_FROM_ISR = 18, RTEMS_INVALID_PRIORITY = 19, RTEMS_INVALID_CLOCK = 20, RTEMS_INVALID_NODE = 21, RTEMS_NOT_CONFIGURED = 22, RTEMS_NOT_OWNER_OF_RESOURCE = 23, RTEMS_NOT_IMPLEMENTED = 24, RTEMS_INTERNAL_ERROR = 25, RTEMS_NO_MEMORY = 26, RTEMS_IO_ERROR = 27, RTEMS_INTERRUPTED = 28, RTEMS_PROXY_BLOCKING = 29 } |
Classic API Status. More... | |
Functions | |
RTEMS_INLINE_ROUTINE bool | rtems_is_status_successful (rtems_status_code code) |
Checks if the status code is equal to RTEMS_SUCCESSFUL. More... | |
RTEMS_INLINE_ROUTINE bool | rtems_are_statuses_equal (rtems_status_code code1, rtems_status_code code2) |
Checks if the status code1 is equal to code2. More... | |
int | rtems_status_code_to_errno (rtems_status_code sc) |
RTEMS Status Code to Errno Mapping Function. More... | |
const char * | rtems_status_text (rtems_status_code code) |
Returns a text for a status code. More... | |
This encapsulates functionality related to the status codes returned by Classic API directives.
#define RTEMS_STATUS_CODES_FIRST RTEMS_SUCCESSFUL |
This is the lowest valid value for a Classic API status code.
#define RTEMS_STATUS_CODES_LAST RTEMS_PROXY_BLOCKING |
This is the highest valid value for a Classic API status code.
enum rtems_status_code |
Classic API Status.
This enumerates the possible status values returned b Classic API directives.
Enumerator | |
---|---|
RTEMS_SUCCESSFUL | This is the status to indicate successful completion. |
RTEMS_TASK_EXITTED | This is the status to indicate that a thread exited. |
RTEMS_MP_NOT_CONFIGURED | This is the status to indicate multiprocessing is not configured. |
RTEMS_INVALID_NAME | This is the status to indicate that the object name was invalid. |
RTEMS_INVALID_ID | This is the status to indicate that the object Id was invalid. |
RTEMS_TOO_MANY | This is the status to indicate you have attempted to create too many instances of a particular object class. |
RTEMS_TIMEOUT | This is the status to indicate that a blocking directive timed out. |
RTEMS_OBJECT_WAS_DELETED | This is the status to indicate the the object was deleted while the task was blocked waiting. |
RTEMS_INVALID_SIZE | This is the status to indicate that the specified size was invalid. |
RTEMS_INVALID_ADDRESS | This is the status to indicate that the specified address is invalid. |
RTEMS_INVALID_NUMBER | This is the status to indicate that the specified number was invalid. |
RTEMS_NOT_DEFINED | This is the status to indicate that the item has not been initialized. |
RTEMS_RESOURCE_IN_USE | This is the status to indicate that the object still has resources in use. |
RTEMS_UNSATISFIED | This is the status to indicate that the request was not satisfied. |
RTEMS_INCORRECT_STATE | This is the status to indicate that a thread is in wrong state was in the wrong execution state for the requested operation. |
RTEMS_ALREADY_SUSPENDED | This is the status to indicate thread was already suspended. |
RTEMS_ILLEGAL_ON_SELF | This is the status to indicate that the operation is illegal on calling thread. |
RTEMS_ILLEGAL_ON_REMOTE_OBJECT | This is the status to indicate illegal for remote object. |
RTEMS_CALLED_FROM_ISR | This is the status to indicate that the operation should not be called from from this excecution environment. |
RTEMS_INVALID_PRIORITY | This is the status to indicate that an invalid thread priority was provided. |
RTEMS_INVALID_CLOCK | This is the status to indicate that the specified date/time was invalid. |
RTEMS_INVALID_NODE | This is the status to indicate that the specified node Id was invalid. |
RTEMS_NOT_CONFIGURED | This is the status to indicate that the directive was not configured. |
RTEMS_NOT_OWNER_OF_RESOURCE | This is the status to indicate that the caller is not the owner of the resource. |
RTEMS_NOT_IMPLEMENTED | This is the status to indicate the the directive or requested portion of the directive is not implemented. This is a hint that you have stumbled across an opportunity to submit code to the RTEMS Project. |
RTEMS_INTERNAL_ERROR | This is the status to indicate that an internal RTEMS inconsistency was detected. |
RTEMS_NO_MEMORY | This is the status to indicate that the directive attempted to allocate memory but was unable to do so. |
RTEMS_IO_ERROR | This is the status to indicate an driver IO error. |
RTEMS_INTERRUPTED | This is the status used internally to indicate a blocking device driver call has been interrupted and should be reflected to the called as an INTERRUPTED. |
RTEMS_PROXY_BLOCKING | This is the status is used internally to RTEMS when performing operations on behalf of remote tasks. This is referred to as proxying operations and this status indicates that the operation could not be completed immediately and the "proxy is blocking."
|
RTEMS_INLINE_ROUTINE bool rtems_are_statuses_equal | ( | rtems_status_code | code1, |
rtems_status_code | code2 | ||
) |
Checks if the status code1 is equal to code2.
This function returns TRUE if the status code1 is equal to code2, and FALSE otherwise.
RTEMS_INLINE_ROUTINE bool rtems_is_status_successful | ( | rtems_status_code | code | ) |
Checks if the status code is equal to RTEMS_SUCCESSFUL.
This function returns TRUE if the status code is equal to RTEMS_SUCCESSFUL, and FALSE otherwise.
int rtems_status_code_to_errno | ( | rtems_status_code | sc | ) |
RTEMS Status Code to Errno Mapping Function.
This function recieves an RTEMS status code and returns an errno error code. The retval values show the mappings between rtems_status_codes and errno error codes.
0 | RTEMS_SUCCESSFUL |
EIO | RTEMS_TASK_EXITED, RTEMS_MP_NOT_CONFIGURED, RTEMS_INVALID_ID, RTEMS_TOO_MANY, RTEMS_OBJECT_WAS_DELETED, RTEMS_INVALID_SIZE, RTEMS_INVALID_ADDRESS, RTEMS_NOT_DEFINED, RTEMS_INCORRECT_STATE, RTEMS_ILLEGAL_ON_SELF, RTEMS_ILLEGAL_ON_REMOTE_OBJECT, RTEMS_CALLED_FROM_ISR, RTEMS_INVALID_PRIORITY, RTEMS_INTERNAL_ERROR, RTEMS_IO_ERROR, RTEMS_PROXY_BLOCKING |
EINVAL | RTEMS_INVALID_NAME, RTEMS_INVALID_CLOCK, RTEMS_INVALID_NODE |
ETIMEDOUT | RTEMS_TIMEOUT |
EBADF | RTEMS_INVALID_NUMBER |
EBUSY | RTEMS_RESOURCE_IN_USE |
ENODEV | RTEMS_UNSATISFIED |
ENOSYS | RTEMS_NOT_IMPLEMENTED, RTEMS_NOT_CONFIGURED |
ENOMEM | RTEMS_NO_MEMORY |
EINTR | RTEMS_INTERRUPTED |
const char* rtems_status_text | ( | rtems_status_code | code | ) |
Returns a text for a status code.
The text for each status code is the enumerator constant.
[in] | code | The status code. |
text | The status code text. |
? | The passed status code is invalid. |