RTEMS: Attributes

| RTEMS 5.4-rc2

Loading...
Searching...
No Matches
Files | Macros | Typedefs
Attributes
API » Classic

## 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.