CMSIS-RTOS2  Version 2.2.0
Real-Time Operating System: API and RTX Reference Implementation
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages

Constants and enumerations used by many CMSIS-RTOS functions. More...

Content

 Flags Functions Error Codes
 Constants used by Thread Flags and Event Flags to return error codes.
 

Macros

#define osWaitForever   0xFFFFFFFFU
 Wait forever timeout value. More...
 
#define osFlagsWaitAny   0x00000000U
 Wait for any flag (default). More...
 
#define osFlagsWaitAll   0x00000001U
 Wait for all flags. More...
 
#define osFlagsNoClear   0x00000002U
 Do not clear flags which have been specified to wait for. More...
 
#define osSafetyClass(n)
 Safety class value in attribute bit field format. More...
 
#define osSafetyWithSameClass   0x00000001U
 Objects with same safety class. More...
 
#define osSafetyWithLowerClass   0x00000002U
 Objects with lower safety class. More...
 

Enumerations

enum  osStatus_t {
  osOK = 0,
  osError = -1,
  osErrorTimeout = -2,
  osErrorResource = -3,
  osErrorParameter = -4,
  osErrorNoMemory = -5,
  osErrorISR = -6,
  osErrorSafetyClass = -7,
  osStatusReserved = 0x7FFFFFFF
}
 Status code values returned by CMSIS-RTOS functions. More...
 

Description

The following constants and enumerations are used by many CMSIS-RTOS function calls.

Macro Definition Documentation

#define osWaitForever   0xFFFFFFFFU

A special Timeout Value that informs the RTOS to wait infinite until a resource becomes available. It applies to the following functions:

#define osFlagsWaitAny   0x00000000U
#define osFlagsWaitAll   0x00000001U
#define osFlagsNoClear   0x00000002U
#define osSafetyClass (   n)

Safety class.

Parameters
nsafety class value.

The preprocessor macro osSafetyClass constructs attribute bitmask with safety class bits set to n.

Code Example:

/* Event Flags object attributes */
const osEventFlagsAttr_t ef_attr = {
.name = "EventFlags1", // human readable object name
.attr_bits = osSafetyClass(2U) // assign object to safety class 2
};
#define osSafetyWithSameClass   0x00000001U

Definition for RTOS objects with the same safety class. Can be used as mode argument in the following functions:

#define osSafetyWithLowerClass   0x00000002U

Definition for RTOS objects with lower safety class. Can be used as mode argument in the following functions:

Enumeration Type Documentation

enum osStatus_t

The osStatus_t enumeration defines the event status and error codes that are returned by many CMSIS-RTOS functions.

Enumerator
osOK 

Operation completed successfully.

osError 

Unspecified RTOS error: run-time error but no other error message fits.

osErrorTimeout 

Operation not completed within the timeout period.

osErrorResource 

Resource not available.

osErrorParameter 

Parameter error.

osErrorNoMemory 

System is out of memory: it was impossible to allocate or reserve memory for the operation.

osErrorISR 

Not allowed in ISR context: the function cannot be called from interrupt service routines.

osErrorSafetyClass 

Operation denied because of safety class violation.

osStatusReserved 

Prevents enum down-size compiler optimization.