RTEMS  5.1
Files | Macros | Typedefs
Attributes

Files

file  attr.h
 

Macros

#define RTEMS_DEFAULT_ATTRIBUTES   0x00000000
 
#define RTEMS_LOCAL   0x00000000
 
#define RTEMS_GLOBAL   0x00000002
 
#define RTEMS_FIFO   0x00000000
 
#define RTEMS_PRIORITY   0x00000004
 
#define RTEMS_NO_FLOATING_POINT   0x00000000
 
#define RTEMS_FLOATING_POINT   0x00000001
 
#define RTEMS_SEMAPHORE_CLASS   0x00000030
 
#define RTEMS_COUNTING_SEMAPHORE   0x00000000
 
#define RTEMS_BINARY_SEMAPHORE   0x00000010
 
#define RTEMS_SIMPLE_BINARY_SEMAPHORE   0x00000020
 
#define RTEMS_NO_INHERIT_PRIORITY   0x00000000
 
#define RTEMS_INHERIT_PRIORITY   0x00000040
 
#define RTEMS_NO_PRIORITY_CEILING   0x00000000
 
#define RTEMS_PRIORITY_CEILING   0x00000080
 
#define RTEMS_NO_MULTIPROCESSOR_RESOURCE_SHARING   0x00000000
 
#define RTEMS_MULTIPROCESSOR_RESOURCE_SHARING   0x00000100
 
#define RTEMS_BARRIER_AUTOMATIC_RELEASE   0x00000010
 
#define RTEMS_BARRIER_MANUAL_RELEASE   0x00000000
 
#define RTEMS_APPLICATION_TASK   0x00000000
 
#define RTEMS_SYSTEM_TASK   0x00008000
 

Typedefs

typedef uint32_t rtems_attribute
 

Detailed Description

This encapsulates functionality which defines and manages the set of Classic API object attributes.

Macro Definition Documentation

◆ RTEMS_APPLICATION_TASK

#define RTEMS_APPLICATION_TASK   0x00000000

This attribute constant indicates that the task was created by the application using normal Classic API methods.

◆ RTEMS_BARRIER_AUTOMATIC_RELEASE

#define RTEMS_BARRIER_AUTOMATIC_RELEASE   0x00000010

This attribute constant indicates that the Classic API Barrier instance created will use an automatic release protocol.

◆ RTEMS_BARRIER_MANUAL_RELEASE

#define RTEMS_BARRIER_MANUAL_RELEASE   0x00000000

This attribute constant indicates that the Classic API Barrier instance created will use the manual release protocol.

◆ RTEMS_BINARY_SEMAPHORE

#define RTEMS_BINARY_SEMAPHORE   0x00000010

This attribute constant indicates that the Classic API Semaphore instance created will be a proper binary semaphore or mutex.

◆ RTEMS_COUNTING_SEMAPHORE

#define RTEMS_COUNTING_SEMAPHORE   0x00000000

This attribute constant indicates that the Classic API Semaphore instance created will be a counting semaphore.

◆ RTEMS_DEFAULT_ATTRIBUTES

#define RTEMS_DEFAULT_ATTRIBUTES   0x00000000

This is the default value for an attribute set.

◆ RTEMS_FIFO

#define RTEMS_FIFO   0x00000000

This is the attribute constant which reflects that blocking tasks will be managed using FIFO discipline.

◆ RTEMS_FLOATING_POINT

#define RTEMS_FLOATING_POINT   0x00000001

This attribute constant indicates that the task will use the floating point hardware. There will be a floating point context associated with this task.

◆ RTEMS_GLOBAL

#define RTEMS_GLOBAL   0x00000002

This is the attribute constant to indicate global resource.

◆ RTEMS_INHERIT_PRIORITY

#define RTEMS_INHERIT_PRIORITY   0x00000040

This attribute constant indicates that the Classic API Semaphore instance created will use the Priority Inheritance Protocol.

Note
The semaphore instance must be a binary semaphore.

◆ RTEMS_LOCAL

#define RTEMS_LOCAL   0x00000000

This is the attribute constant to indicate local resource.

◆ RTEMS_MULTIPROCESSOR_RESOURCE_SHARING

#define RTEMS_MULTIPROCESSOR_RESOURCE_SHARING   0x00000100

This attribute constant indicates that the Classic API Semaphore instance created will use the Multiprocessor Resource Sharing Protocol.

Note
The semaphore instance must be a binary semaphore.

◆ RTEMS_NO_FLOATING_POINT

#define RTEMS_NO_FLOATING_POINT   0x00000000

This attribute constant indicates that the task will not use the floating point hardware. If the architecture permits it, then the FPU will be disabled when the task is executing.

◆ RTEMS_NO_INHERIT_PRIORITY

#define RTEMS_NO_INHERIT_PRIORITY   0x00000000

This attribute constant indicates that the Classic API Semaphore instance created will NOT use the Priority Inheritance Protocol.

◆ RTEMS_NO_MULTIPROCESSOR_RESOURCE_SHARING

#define RTEMS_NO_MULTIPROCESSOR_RESOURCE_SHARING   0x00000000

This attribute constant indicates that the Classic API Semaphore instance created will NOT use the Multiprocessor Resource Sharing Protocol.

◆ RTEMS_NO_PRIORITY_CEILING

#define RTEMS_NO_PRIORITY_CEILING   0x00000000

This attribute constant indicates that the Classic API Semaphore instance created will NOT use the Priority Ceiling Protocol.

◆ RTEMS_PRIORITY

#define RTEMS_PRIORITY   0x00000004

This is the attribute constant which reflects that blocking tasks will be managed using task priority discipline.

◆ RTEMS_PRIORITY_CEILING

#define RTEMS_PRIORITY_CEILING   0x00000080

This attribute constant indicates that the Classic API Semaphore instance created will use the Priority Ceiling Protocol.

Note
The semaphore instance must be a binary semaphore.

◆ RTEMS_SEMAPHORE_CLASS

#define RTEMS_SEMAPHORE_CLASS   0x00000030

This is the mask for the attribute bits associated with the Classic API Semaphore Manager.

◆ RTEMS_SIMPLE_BINARY_SEMAPHORE

#define RTEMS_SIMPLE_BINARY_SEMAPHORE   0x00000020

This attribute constant indicates that the Classic API Semaphore instance created will be a simple binary semaphore.

◆ RTEMS_SYSTEM_TASK

#define RTEMS_SYSTEM_TASK   0x00008000

This attribute constant indicates that the task was created by RTEMS as a support task.

Typedef Documentation

◆ rtems_attribute

typedef uint32_t rtems_attribute

This defines the type used to contain Classic API attributes. These are primarily used when creating objects.