RTEMS 6.1-rc1
status.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: BSD-2-Clause */
2
12/*
13 * Copyright (C) 2014, 2020 embedded brains GmbH & Co. KG
14 * Copyright (C) 1989, 2008 On-Line Applications Research Corporation (OAR)
15 *
16 * Redistribution and use in source and binary forms, with or without
17 * modification, are permitted provided that the following conditions
18 * are met:
19 * 1. Redistributions of source code must retain the above copyright
20 * notice, this list of conditions and the following disclaimer.
21 * 2. Redistributions in binary form must reproduce the above copyright
22 * notice, this list of conditions and the following disclaimer in the
23 * documentation and/or other materials provided with the distribution.
24 *
25 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
26 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
27 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
28 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
29 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
30 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
31 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
33 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
34 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
35 * POSSIBILITY OF SUCH DAMAGE.
36 */
37
38/*
39 * This file is part of the RTEMS quality process and was automatically
40 * generated. If you find something that needs to be fixed or
41 * worded better please post a report or patch to an RTEMS mailing list
42 * or raise a bug report:
43 *
44 * https://www.rtems.org/bugs.html
45 *
46 * For information on updating and regenerating please refer to the How-To
47 * section in the Software Requirements Engineering chapter of the
48 * RTEMS Software Engineering manual. The manual is provided as a part of
49 * a release. For development sources please refer to the online
50 * documentation at:
51 *
52 * https://docs.rtems.org
53 */
54
55/* Generated from spec:/rtems/status/if/header */
56
57#ifndef _RTEMS_RTEMS_STATUS_H
58#define _RTEMS_RTEMS_STATUS_H
59
60#include <stdbool.h>
61
62#ifdef __cplusplus
63extern "C" {
64#endif
65
66/* Generated from spec:/rtems/status/if/group */
67
77/* Generated from spec:/rtems/status/if/code */
78
85typedef enum {
91
96
101
106
111
117
122
128
133
138
143
148
154
159
165
170
176
182
188
194
199
205
210
216
225
231
237
242
249
262
263/* Generated from spec:/rtems/status/if/code-to-errno */
264
303
304/* Generated from spec:/rtems/status/if/first */
305
312#define RTEMS_STATUS_CODES_FIRST RTEMS_SUCCESSFUL
313
314/* Generated from spec:/rtems/status/if/is-equal */
315
328static inline bool rtems_are_statuses_equal(
329 rtems_status_code left_status_code,
330 rtems_status_code right_status_code
331)
332{
333 return left_status_code == right_status_code;
334}
335
336/* Generated from spec:/rtems/status/if/is-successful */
337
348static inline bool rtems_is_status_successful( rtems_status_code status_code )
349{
350 return status_code == RTEMS_SUCCESSFUL;
351}
352
353/* Generated from spec:/rtems/status/if/last */
354
361#define RTEMS_STATUS_CODES_LAST RTEMS_PROXY_BLOCKING
362
363/* Generated from spec:/rtems/status/if/text */
364
379const char *rtems_status_text( rtems_status_code status_code );
380
381#ifdef __cplusplus
382}
383#endif
384
385#endif /* _RTEMS_RTEMS_STATUS_H */
rtems_status_code
This enumeration provides status codes for directives of the Classic API.
Definition: status.h:85
const char * rtems_status_text(rtems_status_code status_code)
Maps the status code to a descriptive text.
Definition: statustext.c:76
int rtems_status_code_to_errno(rtems_status_code status_code)
Maps the RTEMS status code to a POSIX error number.
Definition: statustoerrno.c:73
@ RTEMS_TASK_EXITTED
This status code indicates that a thread exitted.
Definition: status.h:95
@ RTEMS_CALLED_FROM_ISR
This status code indicates that the operation should not be called from this execution environment.
Definition: status.h:187
@ RTEMS_INVALID_CLOCK
This status code indicates that a specified date or time was invalid.
Definition: status.h:198
@ RTEMS_INVALID_SIZE
This status code indicates that a specified size was invalid.
Definition: status.h:132
@ RTEMS_UNSATISFIED
This status code indicates that the request was not satisfied.
Definition: status.h:158
@ RTEMS_PROXY_BLOCKING
This status code is used internally by the implementation when performing operations on behalf of rem...
Definition: status.h:260
@ RTEMS_INVALID_PRIORITY
This status code indicates that an invalid thread priority was provided.
Definition: status.h:193
@ RTEMS_ALREADY_SUSPENDED
This status code indicates that the thread was already suspended.
Definition: status.h:169
@ RTEMS_ILLEGAL_ON_SELF
This status code indicates that the operation was illegal on the calling thread.
Definition: status.h:175
@ RTEMS_INTERRUPTED
This status code is used internally by the implementation to indicate a blocking device driver call h...
Definition: status.h:248
@ RTEMS_INTERNAL_ERROR
This status code indicates that an internal RTEMS inconsistency was detected.
Definition: status.h:230
@ RTEMS_MP_NOT_CONFIGURED
This status code indicates that multiprocessing was not configured.
Definition: status.h:100
@ RTEMS_INCORRECT_STATE
This status code indicates that an object was in wrong state for the requested operation.
Definition: status.h:164
@ RTEMS_NOT_DEFINED
This status code indicates that the item has not been initialized.
Definition: status.h:147
@ RTEMS_TIMEOUT
This status code indicates that a blocking directive timed out.
Definition: status.h:121
@ RTEMS_RESOURCE_IN_USE
This status code indicates that the object still had resources in use.
Definition: status.h:153
@ RTEMS_INVALID_NODE
This status code indicates that a specified node identifier was invalid.
Definition: status.h:204
@ RTEMS_SUCCESSFUL
This status code indicates successful completion of a requested operation.
Definition: status.h:90
@ RTEMS_ILLEGAL_ON_REMOTE_OBJECT
This status code indicates that the operation was illegal on a remote object.
Definition: status.h:181
@ RTEMS_INVALID_ADDRESS
This status code indicates that a specified address was invalid.
Definition: status.h:137
@ RTEMS_NOT_CONFIGURED
This status code indicates that the directive was not configured.
Definition: status.h:209
@ RTEMS_NOT_OWNER_OF_RESOURCE
This status code indicates that the caller was not the owner of the resource.
Definition: status.h:215
@ RTEMS_NO_MEMORY
This status code indicates that the directive attempted to allocate memory but was unable to do so.
Definition: status.h:236
@ RTEMS_NOT_IMPLEMENTED
This status code indicates the directive or requested portion of the directive is not implemented.
Definition: status.h:224
@ RTEMS_TOO_MANY
This status code indicates you have attempted to create too many instances of a particular object cla...
Definition: status.h:116
@ RTEMS_IO_ERROR
This status code indicates a device driver IO error.
Definition: status.h:241
@ RTEMS_OBJECT_WAS_DELETED
This status code indicates the object was deleted while the thread was blocked waiting.
Definition: status.h:127
@ RTEMS_INVALID_NAME
This status code indicates that an object name was invalid.
Definition: status.h:105
@ RTEMS_INVALID_ID
This status code indicates that an object identifier was invalid.
Definition: status.h:110
@ RTEMS_INVALID_NUMBER
This status code indicates that a specified number was invalid.
Definition: status.h:142