RTEMS CPU Kit with SuperCore  4.11.2
Macros | Typedefs
Basic Definitions
Collaboration diagram for Basic Definitions:

Macros

#define TRUE   1
 This ensures that RTEMS has TRUE defined in all situations.
 
#define SCORE_EXTERN   extern
 The following ensures that all data is declared in the space of the initialization routine for either the Initialization Manager or the initialization file for the appropriate API. More...
 
#define SAPI_EXTERN   extern
 The following ensures that all data is declared in the space of the initialization routine for either the Initialization Manager or the initialization file for the appropriate API. More...
 
#define RTEMS_EXTERN   extern
 The following ensures that all data is declared in the space of the initialization routine for either the Initialization Manager or the initialization file for the appropriate API. More...
 
#define POSIX_EXTERN   extern
 The following ensures that all data is declared in the space of the initialization routine for either the Initialization Manager or the initialization file for the appropriate API. More...
 
#define RTEMS_INLINE_ROUTINE   static inline
 The following (in conjunction with compiler arguments) are used to choose between the use of static inline functions and macro functions. More...
 
#define RTEMS_COMPILER_MEMORY_BARRIER()
 The following macro is a compiler specific way to ensure that memory writes are not reordered around certian points. More...
 
#define RTEMS_COMPILER_NO_RETURN_ATTRIBUTE
 The following macro is a compiler specific way to indicate that the method will NOT return to the caller. More...
 
#define RTEMS_COMPILER_PURE_ATTRIBUTE
 The following defines a compiler specific attribute which informs the compiler that the method has no effect except the return value and that the return value depends only on parameters and/or global variables.
 
#define RTEMS_COMPILER_DEPRECATED_ATTRIBUTE
 Instructs the compiler to issue a warning whenever a variable or function with this attribute will be used.
 
#define RTEMS_COMPILER_UNUSED_ATTRIBUTE
 Instructs the compiler that a specific variable is deliberately unused. More...
 
#define RTEMS_COMPILER_PACKED_ATTRIBUTE
 Instructs the compiler that a specific structure or union members will be placed so that the least memory is used.
 
#define RTEMS_STATIC_ASSERT(cond, msg)   typedef int rtems_static_assert_ ## msg [(cond) ? 1 : -1]
 
#define RTEMS_ARRAY_SIZE(array)   (sizeof(array) / sizeof((array)[0]))
 
#define RTEMS_ZERO_LENGTH_ARRAY   0
 
#define RTEMS_CONTAINER_OF(_m, _type, _member_name)   ( (_type *) ( (uintptr_t) ( _m ) - offsetof( _type, _member_name ) ) )
 Returns a pointer to the container of a specified member pointer. More...
 
#define RTEMS_TYPEOF_REFX(_ptr_level, _ptr_type)   typeof(_ptr_level(union { int z; typeof(_ptr_type) x; }){0}.x)
 
#define RTEMS_DECONST(_type, _var)   ((_type)(uintptr_t)(const void *) ( _var ))
 Removes the const qualifier from a type of a variable. More...
 
#define RTEMS_DEVOLATILE(_type, _var)   ((_type)(uintptr_t)(volatile void *) ( _var ))
 Removes the volatile qualifier from a type of a variable. More...
 
#define RTEMS_DEQUALIFY(_type, _var)   ((_type)(uintptr_t)(const volatile void *) ( _var ))
 Removes the all qualifiers from a type of a variable. More...
 

Typedefs

typedef void * proc_ptr
 XXX: Eventually proc_ptr needs to disappear!!!
 

Detailed Description

Macro Definition Documentation

◆ POSIX_EXTERN

#define POSIX_EXTERN   extern

The following ensures that all data is declared in the space of the initialization routine for either the Initialization Manager or the initialization file for the appropriate API.

It is referenced as "external" in every other file.

◆ RTEMS_COMPILER_MEMORY_BARRIER

#define RTEMS_COMPILER_MEMORY_BARRIER ( )

The following macro is a compiler specific way to ensure that memory writes are not reordered around certian points.

This specifically can impact interrupt disable and thread dispatching critical sections.

Referenced by _Thread_Disable_dispatch(), and _Thread_Unnest_dispatch().

◆ RTEMS_COMPILER_NO_RETURN_ATTRIBUTE

#define RTEMS_COMPILER_NO_RETURN_ATTRIBUTE

The following macro is a compiler specific way to indicate that the method will NOT return to the caller.

This can assist the compiler in code generation and avoid unreachable paths. This can impact the code generated following calls to rtems_fatal_error_occurred and _Terminate.

◆ RTEMS_COMPILER_UNUSED_ATTRIBUTE

#define RTEMS_COMPILER_UNUSED_ATTRIBUTE

Instructs the compiler that a specific variable is deliberately unused.

This can occur when reading volatile device memory or skipping arguments in a variable argument method.

◆ RTEMS_CONTAINER_OF

#define RTEMS_CONTAINER_OF (   _m,
  _type,
  _member_name 
)    ( (_type *) ( (uintptr_t) ( _m ) - offsetof( _type, _member_name ) ) )

Returns a pointer to the container of a specified member pointer.

Parameters
[in]_mThe pointer to a member of the container.
[in]_typeThe type of the container.
[in]_member_nameThe designator name of the container member.

◆ RTEMS_DECONST

#define RTEMS_DECONST (   _type,
  _var 
)    ((_type)(uintptr_t)(const void *) ( _var ))

Removes the const qualifier from a type of a variable.

Parameters
[in]_typeThe target type for the variable.
[in]_varThe variable.

◆ RTEMS_DEQUALIFY

#define RTEMS_DEQUALIFY (   _type,
  _var 
)    ((_type)(uintptr_t)(const volatile void *) ( _var ))

Removes the all qualifiers from a type of a variable.

Parameters
[in]_typeThe target type for the variable.
[in]_varThe variable.

◆ RTEMS_DEVOLATILE

#define RTEMS_DEVOLATILE (   _type,
  _var 
)    ((_type)(uintptr_t)(volatile void *) ( _var ))

Removes the volatile qualifier from a type of a variable.

Parameters
[in]_typeThe target type for the variable.
[in]_varThe variable.

◆ RTEMS_EXTERN

#define RTEMS_EXTERN   extern

The following ensures that all data is declared in the space of the initialization routine for either the Initialization Manager or the initialization file for the appropriate API.

It is referenced as "external" in every other file.

◆ RTEMS_INLINE_ROUTINE

#define RTEMS_INLINE_ROUTINE   static inline

◆ SAPI_EXTERN

#define SAPI_EXTERN   extern

The following ensures that all data is declared in the space of the initialization routine for either the Initialization Manager or the initialization file for the appropriate API.

It is referenced as "external" in every other file.

◆ SCORE_EXTERN

#define SCORE_EXTERN   extern

The following ensures that all data is declared in the space of the initialization routine for either the Initialization Manager or the initialization file for the appropriate API.

It is referenced as "external" in every other file.