Changeset 1a8fde6c in rtems


Ignore:
Timestamp:
03/06/96 21:34:57 (28 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.10, 4.11, 4.8, 4.9, 5, master
Children:
e6424462
Parents:
8e76546
Message:

Removed prototyes for static inline routines and moved the comments into
the inline implementation. The impetus for this was twofold. First,
it is incorrect to have static inline prototypes when using the macro
implementation. Second, this reduced the number of lines in the include
files seen by rtems.h by about 2000 lines.

Next we restricted visibility for the inline routines to inside the
executive itself EXCEPT for a handful of objects. This reduced the
number of include files included by rtems.h by 40 files and reduced
the lines in the include files seen by rtems.h by about 6000 lines.

In total, these reduced the compile time of the entire RTEMS tree by 20%.
This results in about 8 minutes savings on the SparcStation? 10 morgana.

Files:
238 edited

Legend:

Unmodified
Added
Removed
  • c/src/exec/libcsupport/src/newlibc.c

    r8e76546 r1a8fde6c  
    4040 */
    4141
     42#define __RTEMS_VIOLATE_KERNEL_VISIBILITY__
    4243#include <rtems.h>
    4344#include <libcsupport.h>
  • c/src/exec/rtems/headers/asr.h

    r8e76546 r1a8fde6c  
    101101#define RTEMS_SIGNAL_31   0x80000000
    102102
    103 /*
    104  *  _ASR_Initialize
    105  *
    106  *  DESCRIPTION:
    107  *
    108  *  This routine initializes the given RTEMS_ASR information record.
    109  */
    110 
    111 STATIC INLINE void _ASR_Initialize (
    112   ASR_Information *information
    113 );
    114 
    115 /*
    116  *  _ASR_Swap_signals
    117  *
    118  *  DESCRIPTION:
    119  *
    120  *  This routine atomically swaps the pending and posted signal
    121  *  sets.  This is done when the thread alters its mode in such a
    122  *  way that the RTEMS_ASR disable/enable flag changes.
    123  */
    124 
    125 STATIC INLINE void _ASR_Swap_signals (
    126   ASR_Information *information
    127 );
    128 
    129 /*
    130  *  _ASR_Is_null_handler
    131  *
    132  *  DESCRIPTION:
    133  *
    134  *  This function returns TRUE if the given asr_handler is NULL and
    135  *  FALSE otherwise.
    136  */
    137 
    138 STATIC INLINE boolean _ASR_Is_null_handler (
    139   rtems_asr_entry asr_handler
    140 );
    141 
    142 /*
    143  *  _ASR_Are_signals_pending
    144  *
    145  *  DESCRIPTION:
    146  *
    147  *  This function returns TRUE if there are signals pending in the
    148  *  given RTEMS_ASR information record and FALSE otherwise.
    149  */
    150 
    151 STATIC INLINE boolean _ASR_Are_signals_pending (
    152   ASR_Information *information
    153 );
    154 
    155 /*
    156  *  _ASR_Post_signals
    157  *
    158  *  DESCRIPTION:
    159  *
    160  *  This routine posts the given signals into the signal_set
    161  *  passed in.  The result is returned to the user in signal_set.
    162  *
    163  *  NOTE:  This must be implemented as a macro.
    164  */
    165 
    166 STATIC INLINE void _ASR_Post_signals(
    167   rtems_signal_set  signals,
    168   rtems_signal_set *signal_set
    169 );
    170 
     103#ifndef __RTEMS_APPLICATION__
    171104#include <rtems/rtems/asr.inl>
     105#endif
    172106
    173107#ifdef __cplusplus
  • c/src/exec/rtems/headers/attr.h

    r8e76546 r1a8fde6c  
    7373#define _Attributes_Handler_initialization()
    7474
    75 /*
    76  *  _Attributes_Set
    77  *
    78  *  DESCRIPTION:
    79  *
    80  *  This function sets the requested new_attributes in the attribute_set
    81  *  passed in.  The result is returned to the user.
    82  */
    83 
    84 STATIC INLINE rtems_attribute _Attributes_Set (
    85    rtems_attribute new_attributes,
    86    rtems_attribute attribute_set
    87 );
    88 
    89 /*
    90  *  _Attributes_Clear
    91  *
    92  *  DESCRIPTION:
    93  *
    94  *  This function clears the requested new_attributes in the attribute_set
    95  *  passed in.  The result is returned to the user.
    96  */
    97 
    98 STATIC INLINE rtems_attribute _Attributes_Clear (
    99    rtems_attribute attribute_set,
    100    rtems_attribute mask
    101 );
    102 
    103 /*
    104  *  _Attributes_Is_floating_point
    105  *
    106  *  DESCRIPTION:
    107  *
    108  *  This function returns TRUE if the floating point attribute is
    109  *  enabled in the attribute_set and FALSE otherwise.
    110  */
    111 
    112 STATIC INLINE boolean _Attributes_Is_floating_point(
    113   rtems_attribute attribute_set
    114 );
    115 
    116 /*
    117  *  _Attributes_Is_global
    118  *
    119  *  DESCRIPTION:
    120  *
    121  *  This function returns TRUE if the global object attribute is
    122  *  enabled in the attribute_set and FALSE otherwise.
    123  */
    124 
    125 STATIC INLINE boolean _Attributes_Is_global(
    126   rtems_attribute attribute_set
    127 );
    128 
    129 /*
    130  *  _Attributes_Is_priority
    131  *
    132  *  DESCRIPTION:
    133  *
    134  *  This function returns TRUE if the priority attribute is
    135  *  enabled in the attribute_set and FALSE otherwise.
    136  */
    137 
    138 STATIC INLINE boolean _Attributes_Is_priority(
    139   rtems_attribute attribute_set
    140 );
    141 
    142 #if 0
    143 /*
    144  *  _Attributes_Is_limit
    145  *
    146  *  DESCRIPTION:
    147  *
    148  *  This function returns TRUE if the limited attribute is
    149  *  enabled in the attribute_set and FALSE otherwise.
    150  */
    151 
    152 STATIC INLINE boolean _Attributes_Is_limit(
    153   rtems_attribute attribute_set
    154 );
     75#ifndef __RTEMS_APPLICATION__
     76#include <rtems/rtems/attr.inl>
    15577#endif
    156 
    157 /*
    158  *  _Attributes_Is_binary_semaphore
    159  *
    160  *  DESCRIPTION:
    161  *
    162  *  This function returns TRUE if the binary semaphore attribute is
    163  *  enabled in the attribute_set and FALSE otherwise.
    164  */
    165 
    166 STATIC INLINE boolean _Attributes_Is_binary_semaphore(
    167   rtems_attribute attribute_set
    168 );
    169 
    170 /*
    171  *  _Attributes_Is_inherit_priority
    172  *
    173  *  DESCRIPTION:
    174  *
    175  *  This function returns TRUE if the priority inheritance attribute
    176  *  is enabled in the attribute_set and FALSE otherwise.
    177  */
    178 
    179 STATIC INLINE boolean _Attributes_Is_inherit_priority(
    180   rtems_attribute attribute_set
    181 );
    182 
    183 /*
    184  *  _Attributes_Is_priority_ceiling
    185  *
    186  *  DESCRIPTION:
    187  *
    188  *  This function returns TRUE if the priority ceiling attribute
    189  *  is enabled in the attribute_set and FALSE otherwise.
    190  */
    191  
    192 STATIC INLINE boolean _Attributes_Is_priority_ceiling(
    193   rtems_attribute attribute_set
    194 );
    195  
    196 
    197 #include <rtems/rtems/attr.inl>
    19878
    19979#ifdef __cplusplus
  • c/src/exec/rtems/headers/dpmem.h

    r8e76546 r1a8fde6c  
    146146);
    147147
    148 /*
    149  *  _Dual_ported_memory_Allocate
    150  *
    151  *  DESCRIPTION:
    152  *
    153  *  This routine allocates a port control block from the inactive chain
    154  *  of free port control blocks.
    155  */
    156 
    157 STATIC INLINE Dual_ported_memory_Control
    158   *_Dual_ported_memory_Allocate ( void );
    159 
    160 /*
    161  *  _Dual_ported_memory_Free
    162  *
    163  *  DESCRIPTION:
    164  *
    165  *  This routine frees a port control block to the inactive chain
    166  *  of free port control blocks.
    167  */
    168 
    169 STATIC INLINE void _Dual_ported_memory_Free (
    170    Dual_ported_memory_Control *the_port
    171 );
    172 
    173 /*
    174  *  _Dual_ported_memory_Get
    175  *
    176  *  DESCRIPTION:
    177  *
    178  *  This function maps port IDs to port control blocks.  If ID
    179  *  corresponds to a local port, then it returns the_port control
    180  *  pointer which maps to ID and location is set to OBJECTS_LOCAL.
    181  *  Global ports are not supported, thus if ID  does not map to a
    182  *  local port, location is set to OBJECTS_ERROR and the_port is
    183  *  undefined.
    184  */
    185 
    186 STATIC INLINE Dual_ported_memory_Control *_Dual_ported_memory_Get (
    187   Objects_Id         id,
    188   Objects_Locations *location
    189 );
    190 
    191 /*
    192  *  _Dual_ported_memory_Is_null
    193  *
    194  *  DESCRIPTION:
    195  *
    196  *  This function returns TRUE if the_port is NULL and FALSE otherwise.
    197  */
    198 
    199 STATIC INLINE boolean _Dual_ported_memory_Is_null(
    200   Dual_ported_memory_Control *the_port
    201 );
    202 
     148#ifndef __RTEMS_APPLICATION__
    203149#include <rtems/rtems/dpmem.inl>
     150#endif
    204151
    205152#ifdef __cplusplus
  • c/src/exec/rtems/headers/event.h

    r8e76546 r1a8fde6c  
    5454  EVENT_SYNC_SATISFIED
    5555}  Event_Sync_states;
    56 
    57 /*
    58  *  _Event_Manager_initialization
    59  *
    60  *  DESCRIPTION:
    61  *
    62  *  This routine performs the initialization necessary for this manager.
    63  */
    64 
    65 STATIC INLINE void _Event_Manager_initialization( void );
    6656
    6757/*
     
    163153
    164154#include <rtems/rtems/eventmp.h>
     155#ifndef __RTEMS_APPLICATION__
    165156#include <rtems/rtems/event.inl>
     157#endif
    166158
    167159#ifdef __cplusplus
  • c/src/exec/rtems/headers/eventset.h

    r8e76546 r1a8fde6c  
    7878#define EVENT_SETS_NONE_PENDING 0
    7979
    80 /*
    81  *  _Event_sets_Is_empty
    82  *
    83  *  DESCRIPTION:
    84  *
    85  *  This function returns TRUE if on events are posted in the event_set,
    86  *  and FALSE otherwise.
    87  */
    88 
    89 STATIC INLINE boolean _Event_sets_Is_empty(
    90   rtems_event_set the_event_set
    91 );
    92 
    93 /*
    94  *  _Event_sets_Post
    95  *
    96  *  DESCRIPTION:
    97  *
    98  *  This routine posts the given new_events into the event_set
    99  *  passed in.  The result is returned to the user in event_set.
    100  */
    101 
    102 STATIC INLINE void _Event_sets_Post(
    103   rtems_event_set  the_new_events,
    104   rtems_event_set *the_event_set
    105 );
    106 
    107 /*
    108  *  _Event_sets_Get
    109  *
    110  *  DESCRIPTION:
    111  *
    112  *  This function returns the events in event_condition which are
    113  *  set in event_set.
    114  */
    115 
    116 STATIC INLINE rtems_event_set _Event_sets_Get(
    117   rtems_event_set the_event_set,
    118   rtems_event_set the_event_condition
    119 );
    120 
    121 /*
    122  *  _Event_sets_Clear
    123  *
    124  *  DESCRIPTION:
    125  *
    126  *  This function removes the events in mask from the event_set
    127  *  passed in.  The result is returned to the user in event_set.
    128  */
    129 
    130 STATIC INLINE rtems_event_set _Event_sets_Clear(
    131  rtems_event_set the_event_set,
    132  rtems_event_set the_mask
    133 );
    134 
     80#ifndef __RTEMS_APPLICATION__
    13581#include <rtems/rtems/eventset.inl>
     82#endif
    13683
    13784#ifdef __cplusplus
  • c/src/exec/rtems/headers/message.h

    r8e76546 r1a8fde6c  
    263263
    264264/*
    265  *  _Message_queue_Is_null
    266  *
    267  *  DESCRIPTION:
    268  *
    269  *  This function places the_message at the rear of the outstanding
    270  *  messages on the_message_queue.
    271  */
    272 
    273 STATIC INLINE boolean _Message_queue_Is_null (
    274   Message_queue_Control *the_message_queue
    275 );
    276 
    277 /*
    278265 *  _Message_queue_Allocate
    279266 *
     
    287274    unsigned32          count,
    288275    unsigned32          max_message_size
    289 );
    290 
    291 /*
    292  *  _Message_queue_Free
    293  *
    294  *  DESCRIPTION:
    295  *
    296  *  This routine deallocates a message queue control block into
    297  *  the inactive chain of free message queue control blocks.
    298  */
    299 
    300 STATIC INLINE void _Message_queue_Free (
    301   Message_queue_Control *the_message_queue
    302 );
    303 
    304 /*
    305  *  _Message_queue_Get
    306  *
    307  *  DESCRIPTION:
    308  *
    309  *  This function maps message queue IDs to message queue control
    310  *  blocks.  If ID corresponds to a local message queue, then it
    311  *  returns the_message_queue control pointer which maps to ID
    312  *  and location is set to OBJECTS_LOCAL.  If the message queue ID is
    313  *  global and resides on a remote node, then location is set
    314  *  to OBJECTS_REMOTE, and the_message_queue is undefined.
    315  *  Otherwise, location is set to OBJECTS_ERROR and
    316  *  the_message_queue is undefined.
    317  */
    318 
    319 STATIC INLINE Message_queue_Control *_Message_queue_Get (
    320   Objects_Id         id,
    321   Objects_Locations *location
    322276);
    323277
     
    351305);
    352306
     307#ifndef __RTEMS_APPLICATION__
    353308#include <rtems/rtems/message.inl>
     309#endif
    354310#include <rtems/rtems/msgmp.h>
    355311
  • c/src/exec/rtems/headers/modes.h

    r8e76546 r1a8fde6c  
    6060 */
    6161
    62 /*
     62/*PAGE
     63 *
    6364 *  RTEMS_INTERRUPT_LEVEL
    6465 *
     
    7374 */
    7475
    75 STATIC INLINE unsigned32 RTEMS_INTERRUPT_LEVEL (
    76   Modes_Control mode_set
    77 );
     76#define RTEMS_INTERRUPT_LEVEL( _mode_set ) \
     77  ( (_mode_set) & RTEMS_INTERRUPT_MASK )
     78 
    7879
    79 /*
    80  *  _Modes_Mask_changed
    81  *
    82  *  DESCRIPTION:
    83  *
    84  *  This function returns TRUE if any of the mode flags in mask
    85  *  are set in mode_set, and FALSE otherwise.
    86  */
    87 
    88 STATIC INLINE boolean _Modes_Mask_changed (
    89   Modes_Control mode_set,
    90   Modes_Control masks
    91 );
    92 
    93 /*
    94  *  _Modes_Is_asr_disabled
    95  *
    96  *  DESCRIPTION:
    97  *
    98  *  This function returns TRUE if mode_set indicates that Asynchronous
    99  *  Signal Processing is disabled, and FALSE otherwise.
    100  */
    101 
    102 STATIC INLINE boolean _Modes_Is_asr_disabled (
    103   Modes_Control mode_set
    104 );
    105 
    106 /*
    107  *  _Modes_Is_preempt
    108  *
    109  *  DESCRIPTION:
    110  *
    111  *  This function returns TRUE if mode_set indicates that preemption
    112  *  is enabled, and FALSE otherwise.
    113  */
    114 
    115 STATIC INLINE boolean _Modes_Is_preempt (
    116   Modes_Control mode_set
    117 );
    118 
    119 /*
    120  *  _Modes_Is_timeslice
    121  *
    122  *  DESCRIPTION:
    123  *
    124  *  This function returns TRUE if mode_set indicates that timeslicing
    125  *  is enabled, and FALSE otherwise.
    126  */
    127 
    128 STATIC INLINE boolean _Modes_Is_timeslice (
    129   Modes_Control mode_set
    130 );
    131 
    132 /*
    133  *  _Modes_Get_interrupt_level
    134  *
    135  *  DESCRIPTION:
    136  *
    137  *  This function returns the interrupt level portion of the mode_set.
    138  */
    139 
    140 STATIC INLINE ISR_Level _Modes_Get_interrupt_level (
    141   Modes_Control mode_set
    142 );
    143 
    144 /*
    145  *  _Modes_Set_interrupt_level
    146  *
    147  *  DESCRIPTION:
    148  *
    149  *  This routine sets the current interrupt level to that specified
    150  *  in the mode_set.
    151  */
    152 
    153 STATIC INLINE void _Modes_Set_interrupt_level (
    154   Modes_Control mode_set
    155 );
    156 
    157 /*
    158  *  _Modes_Change
    159  *
    160  *  DESCRIPTION:
    161  *
    162  *  This routine changes the modes in old_mode_set indicated by
    163  *  mask to the requested values in new_mode_set.  The resulting
    164  *  mode set is returned in out_mode_set and the modes that changed
    165  *  is returned in changed.
    166  */
    167 
    168 STATIC INLINE void _Modes_Change (
    169   Modes_Control  old_mode_set,
    170   Modes_Control  new_mode_set,
    171   Modes_Control  mask,
    172   Modes_Control *out_mode_set,
    173   Modes_Control *changed
    174 );
    175 
     80#ifndef __RTEMS_APPLICATION__
    17681#include <rtems/rtems/modes.inl>
     82#endif
    17783
    17884#ifdef __cplusplus
  • c/src/exec/rtems/headers/options.h

    r8e76546 r1a8fde6c  
    4242#define RTEMS_EVENT_ANY 0x00000002        /* wait on any event */
    4343
    44 /*
    45  *  _Options_Is_no_wait
    46  *
    47  *  DESCRIPTION:
    48  *
    49  *  This function returns TRUE if the RTEMS_NO_WAIT option is enabled in
    50  *  option_set, and FALSE otherwise.
    51  *
    52  */
    53 
    54 STATIC INLINE boolean _Options_Is_no_wait (
    55   rtems_option option_set
    56 );
    57 
    58 /*
    59  *  _Options_Is_any
    60  *
    61  *  DESCRIPTION:
    62  *
    63  *  This function returns TRUE if the RTEMS_EVENT_ANY option is enabled in
    64  *  OPTION_SET, and FALSE otherwise.
    65  *
    66  */
    67 
    68 STATIC INLINE boolean _Options_Is_any (
    69   rtems_option option_set
    70 );
    71 
     44#ifndef __RTEMS_APPLICATION__
    7245#include <rtems/rtems/options.inl>
     46#endif
    7347
    7448#ifdef __cplusplus
  • c/src/exec/rtems/headers/part.h

    r8e76546 r1a8fde6c  
    156156);
    157157
    158 /*
    159  *  _Partition_Allocate_buffer
    160  *
    161  *  DESCRIPTION:
    162  *
    163  *  This function attempts to allocate a buffer from the_partition.
    164  *  If successful, it returns the address of the allocated buffer.
    165  *  Otherwise, it returns NULL.
    166  */
    167 
    168 STATIC INLINE void *_Partition_Allocate_buffer (
    169    Partition_Control *the_partition
    170 );
    171 
    172 /*
    173  *  _Partition_Free_buffer
    174  *
    175  *  DESCRIPTION:
    176  *
    177  *  This routine frees the_buffer to the_partition.
    178  */
    179 
    180 STATIC INLINE void _Partition_Free_buffer (
    181   Partition_Control *the_partition,
    182   Chain_Node        *the_buffer
    183 );
    184 
    185 /*
    186  *  _Partition_Is_buffer_on_boundary
    187  *
    188  *  DESCRIPTION:
    189  *
    190  *  This function returns TRUE if the_buffer is on a valid buffer
    191  *  boundary for the_partition, and FALSE otherwise.
    192  */
    193 
    194 STATIC INLINE boolean _Partition_Is_buffer_on_boundary (
    195   void              *the_buffer,
    196   Partition_Control *the_partition
    197 );
    198 
    199 /*
    200  *  _Partition_Is_buffer_valid
    201  *
    202  *  DESCRIPTION:
    203  *
    204  *  This function returns TRUE if the_buffer is a valid buffer from
    205  *  the_partition, otherwise FALSE is returned.
    206  */
    207 
    208 STATIC INLINE boolean _Partition_Is_buffer_valid (
    209   Chain_Node        *the_buffer,
    210   Partition_Control *the_partition
    211 );
    212 
    213 /*
    214  *  _Partition_Is_buffer_size_aligned
    215  *
    216  *  DESCRIPTION:
    217  *
    218  *  This function returns TRUE if the use of the specified buffer_size
    219  *  will result in the allocation of buffers whose first byte is
    220  *  properly aligned, and FALSE otherwise.
    221  */
    222 
    223 STATIC INLINE boolean _Partition_Is_buffer_size_aligned (
    224   unsigned32 buffer_size
    225 );
    226 
    227 /*
    228  *  _Partition_Allocate
    229  *
    230  *  DESCRIPTION:
    231  *
    232  *  This function allocates a partition control block from
    233  *  the inactive chain of free partition control blocks.
    234  */
    235 
    236 STATIC INLINE Partition_Control *_Partition_Allocate ( void );
    237 
    238 /*
    239  *  _Partition_Free
    240  *
    241  *  DESCRIPTION:
    242  *
    243  *  This routine frees a partition control block to the
    244  *  inactive chain of free partition control blocks.
    245  */
    246 
    247 STATIC INLINE void _Partition_Free (
    248   Partition_Control *the_partition
    249 );
    250 
    251 /*
    252  *  _Partition_Get
    253  *
    254  *  DESCRIPTION:
    255  *
    256  *  This function maps partition IDs to partition control blocks.
    257  *  If ID corresponds to a local partition, then it returns
    258  *  the_partition control pointer which maps to ID and location
    259  *  is set to OBJECTS_LOCAL.  If the partition ID is global and
    260  *  resides on a remote node, then location is set to OBJECTS_REMOTE,
    261  *  and the_partition is undefined.  Otherwise, location is set
    262  *  to OBJECTS_ERROR and the_partition is undefined.
    263  */
    264 
    265 STATIC INLINE Partition_Control *_Partition_Get (
    266   Objects_Id         id,
    267   Objects_Locations *location
    268 );
    269 
    270 /*
    271  *  _Partition_Is_null
    272  *
    273  *  DESCRIPTION:
    274  *
    275  *  This function returns TRUE if the_partition is NULL
    276  *  and FALSE otherwise.
    277  */
    278 
    279 STATIC INLINE boolean _Partition_Is_null (
    280   Partition_Control *the_partition
    281 );
    282 
     158#ifndef __RTEMS_APPLICATION__
    283159#include <rtems/rtems/part.inl>
     160#endif
    284161#include <rtems/rtems/partmp.h>
    285162
  • c/src/exec/rtems/headers/ratemon.h

    r8e76546 r1a8fde6c  
    157157
    158158/*
    159  *  _Rate_monotonic_Allocate
    160  *
    161  *  DESCRIPTION:
    162  *
    163  *  This function allocates a period control block from
    164  *  the inactive chain of free period control blocks.
    165  */
    166 
    167 STATIC INLINE Rate_monotonic_Control *_Rate_monotonic_Allocate( void );
    168 
    169 /*
    170  *  _Rate_monotonic_Free
    171  *
    172  *  DESCRIPTION:
    173  *
    174  *  This routine allocates a period control block from
    175  *  the inactive chain of free period control blocks.
    176  */
    177 
    178 STATIC INLINE void _Rate_monotonic_Free (
    179   Rate_monotonic_Control *the_period
    180 );
    181 
    182 /*
    183  *  _Rate_monotonic_Get
    184  *
    185  *  DESCRIPTION:
    186  *
    187  *  This function maps period IDs to period control blocks.
    188  *  If ID corresponds to a local period, then it returns
    189  *  the_period control pointer which maps to ID and location
    190  *  is set to OBJECTS_LOCAL.  Otherwise, location is set
    191  *  to OBJECTS_ERROR and the_period is undefined.
    192  */
    193 
    194 STATIC INLINE Rate_monotonic_Control *_Rate_monotonic_Get (
    195   Objects_Id         id,
    196   Objects_Locations *location
    197 );
    198 
    199 /*
    200159 *  _Rate_monotonic_Timeout
    201160 *
     
    215174);
    216175
    217 /*
    218  *  _Rate_monotonic_Is_active
    219  *
    220  *  DESCRIPTION:
    221  *
    222  *  This function returns TRUE if the_period is in the ACTIVE state,
    223  *  and FALSE otherwise.
    224  */
    225 
    226 STATIC INLINE boolean _Rate_monotonic_Is_active (
    227   Rate_monotonic_Control *the_period
    228 );
    229 
    230 /*
    231  *  _Rate_monotonic_Is_inactive
    232  *
    233  *  DESCRIPTION:
    234  *
    235  *  This function returns TRUE if the_period is in the ACTIVE state,
    236  *  and FALSE otherwise.
    237  */
    238 
    239 STATIC INLINE boolean _Rate_monotonic_Is_inactive (
    240   Rate_monotonic_Control *the_period
    241 );
    242 
    243 /*
    244  *  _Rate_monotonic_Is_expired
    245  *
    246  *  DESCRIPTION:
    247  *
    248  *  This function returns TRUE if the_period is in the EXPIRED state,
    249  *  and FALSE otherwise.
    250  */
    251 
    252 STATIC INLINE boolean _Rate_monotonic_Is_expired (
    253   Rate_monotonic_Control *the_period
    254 );
    255 
    256 /*
    257  *  _Rate_monotonic_Is_null
    258  *
    259  *  DESCRIPTION:
    260  *
    261  *  This function returns TRUE if the_period is NULL and FALSE otherwise.
    262  */
    263 
    264 STATIC INLINE boolean _Rate_monotonic_Is_null (
    265   Rate_monotonic_Control *the_period
    266 );
    267 
     176#ifndef __RTEMS_APPLICATION__
    268177#include <rtems/rtems/ratemon.inl>
     178#endif
    269179
    270180#ifdef __cplusplus
  • c/src/exec/rtems/headers/region.h

    r8e76546 r1a8fde6c  
    199199);
    200200
    201 /*
    202  *  _Region_Allocate
    203  *
    204  *  DESCRIPTION:
    205  *
    206  *  This function allocates a region control block from
    207  *  the inactive chain of free region control blocks.
    208  */
    209 
    210 STATIC INLINE Region_Control *_Region_Allocate( void );
    211 
    212 /*
    213  *  _Region_Free
    214  *
    215  *  DESCRIPTION:
    216  *
    217  *  This routine frees a region control block to the
    218  *  inactive chain of free region control blocks.
    219  */
    220 
    221 STATIC INLINE void _Region_Free (
    222   Region_Control *the_region
    223 );
    224 
    225 /*
    226  *  _Region_Get
    227  *
    228  *  DESCRIPTION:
    229  *
    230  *  This function maps region IDs to region control blocks.
    231  *  If ID corresponds to a local region, then it returns
    232  *  the_region control pointer which maps to ID and location
    233  *  is set to OBJECTS_LOCAL.  Otherwise, location is set
    234  *  to OBJECTS_ERROR and the_region is undefined.
    235  */
    236 
    237 STATIC INLINE Region_Control *_Region_Get (
    238   Objects_Id         id,
    239   Objects_Locations *location
    240 );
    241 
    242 /*
    243  *  _Region_Allocate_segment
    244  *
    245  *  DESCRIPTION:
    246  *
    247  *  This function attempts to allocate a segment from the_region.
    248  *  If successful, it returns the address of the allocated segment.
    249  *  Otherwise, it returns NULL.
    250  */
    251 
    252 STATIC INLINE void *_Region_Allocate_segment (
    253   Region_Control *the_region,
    254   unsigned32      size
    255 );
    256 
    257 /*
    258  *  _Region_Free_segment
    259  *
    260  *  DESCRIPTION:
    261  *
    262  *  This function frees the_segment to the_region.
    263  */
    264 
    265 STATIC INLINE boolean _Region_Free_segment (
    266   Region_Control *the_region,
    267   void           *the_segment
    268 );
    269 
    270 /*
    271  *  _Region_Is_null
    272  *
    273  *  DESCRIPTION:
    274  *
    275  *  This function returns TRUE if the_region is NULL and FALSE otherwise.
    276  */
    277 
    278 STATIC INLINE boolean _Region_Is_null (
    279   Region_Control *the_region
    280 );
    281 
     201#ifndef __RTEMS_APPLICATION__
    282202#include <rtems/rtems/region.inl>
     203#endif
    283204#include <rtems/rtems/regionmp.h>
    284205
  • c/src/exec/rtems/headers/rtems.h

    r8e76546 r1a8fde6c  
    2222#ifdef __cplusplus
    2323extern "C" {
     24#endif
     25
     26/*
     27 *  Unless told otherwise, the RTEMS include files will hide some stuff
     28 *  from normal application code.  Defining this crosses a boundary which
     29 *  is undesirable since it means your application is using RTEMS features
     30 *  which are not included in the formally defined and supported API. 
     31 *  Define this at your own risk.
     32 */
     33
     34#ifndef __RTEMS_VIOLATE_KERNEL_VISIBILITY__
     35#define __RTEMS_APPLICATION__
    2436#endif
    2537
  • c/src/exec/rtems/headers/sem.h

    r8e76546 r1a8fde6c  
    179179
    180180/*
    181  *  _Semaphore_Allocate
    182  *
    183  *  DESCRIPTION:
    184  *
    185  *  This function allocates a semaphore control block from
    186  *  the inactive chain of free semaphore control blocks.
    187  */
    188 
    189 STATIC INLINE Semaphore_Control *_Semaphore_Allocate( void );
    190 
    191 /*
    192  *  _Semaphore_Free
    193  *
    194  *  DESCRIPTION:
    195  *
    196  *  This routine frees a semaphore control block to the
    197  *  inactive chain of free semaphore control blocks.
    198  */
    199 
    200 STATIC INLINE void _Semaphore_Free (
    201   Semaphore_Control *the_semaphore
    202 );
    203 
    204 /*
    205  *  _Semaphore_Get
    206  *
    207  *  DESCRIPTION:
    208  *
    209  *  This function maps semaphore IDs to semaphore control blocks.
    210  *  If ID corresponds to a local semaphore, then it returns
    211  *  the_semaphore control pointer which maps to ID and location
    212  *  is set to OBJECTS_LOCAL.  if the semaphore ID is global and
    213  *  resides on a remote node, then location is set to OBJECTS_REMOTE,
    214  *  and the_semaphore is undefined.  Otherwise, location is set
    215  *  to OBJECTS_ERROR and the_semaphore is undefined.
    216  */
    217 
    218 STATIC INLINE Semaphore_Control *_Semaphore_Get (
    219   rtems_id           id,
    220   Objects_Locations *location
    221 );
    222 
    223 /*
    224  *  _Semaphore_Is_null
    225  *
    226  *  DESCRIPTION:
    227  *
    228  *  This function returns TRUE if the_semaphore is NULL and FALSE otherwise.
    229  */
    230 
    231 STATIC INLINE boolean _Semaphore_Is_null (
    232   Semaphore_Control *the_semaphore
    233 );
    234 
    235 /*
    236181 *  _Semaphore_Translate_core_mutex_return_code
    237182 *
     
    291236);
    292237
     238#ifndef __RTEMS_APPLICATION__
    293239#include <rtems/rtems/sem.inl>
     240#endif
    294241#include <rtems/rtems/semmp.h>
    295242
  • c/src/exec/rtems/headers/status.h

    r8e76546 r1a8fde6c  
    7070
    7171/*
    72  *  rtems_is_status_successful
    73  *
    74  *  DESCRIPTION:
    75  *
    76  *  This function returns TRUE if the status code is equal to RTEMS_SUCCESSFUL,
    77  *  and FALSE otherwise.
     72 *  Applications are allowed to use the macros to compare status codes.
    7873 */
    79 
    80 STATIC INLINE boolean rtems_is_status_successful (
    81   rtems_status_code code
    82 );
    83 
    84 /*
    85  *  rtems_are_statuses_equal
    86  *
    87  *  DESCRIPTION:
    88  *
    89  *  This function returns TRUE if the status code1 is equal to code2,
    90  *  and FALSE otherwise.
    91  */
    92 
    93 STATIC INLINE boolean rtems_are_statuses_equal (
    94   rtems_status_code code1,
    95   rtems_status_code code2
    96 );
    9774
    9875#include <rtems/rtems/status.inl>
  • c/src/exec/rtems/headers/support.h

    r8e76546 r1a8fde6c  
    2525
    2626/*
    27  *  rtems_is_name_valid
    28  *
    29  *  DESCRIPTION:
    30  *
    31  *  This function returns TRUE if the name is valid, and FALSE otherwise.
    32  */
    33 
    34 STATIC INLINE rtems_boolean rtems_is_name_valid (
    35   rtems_name  name
    36 );
    37 
    38 /*
    3927 *  rtems_build_name
    4028 *
     
    5341  ( (_C1) << 24 | (_C2) << 16 | (_C3) << 8 | (_C4) )
    5442 
    55 /*
    56  *  rtems_name_to_characters
    57  *
    58  *  DESCRIPTION:
    59  *
    60  *  This function breaks the object name into the four component
    61  *  characters C1, C2, C3, and C4.
    62  *
    63  */
    64  
    65 STATIC INLINE void rtems_name_to_characters(
    66   rtems_name    name,
    67   char         *c1,
    68   char         *c2,
    69   char         *c3,
    70   char         *c4
    71 );
    72 
    7343/*
    7444 *  rtems_get_class
  • c/src/exec/rtems/headers/tasks.h

    r8e76546 r1a8fde6c  
    393393);
    394394
    395 /*
    396  *  _RTEMS_tasks_Allocate
    397  *
    398  *  DESCRIPTION:
    399  *
    400  *  This function allocates a task control block from
    401  *  the inactive chain of free task control blocks.
    402  */
    403 
    404 STATIC INLINE Thread_Control *_RTEMS_tasks_Allocate( void );
    405 
    406 /*
    407  *  _RTEMS_tasks_Free
    408  *
    409  *  DESCRIPTION:
    410  *
    411  *  This routine frees a task control block to the
    412  *  inactive chain of free task control blocks.
    413 
    414  */
    415 
    416 STATIC INLINE void _RTEMS_tasks_Free (
    417   Thread_Control *the_task
    418 );
    419 
    420 /*
    421  *  _RTEMS_tasks_Priority_to_Core
    422  *
    423  *  DESCRIPTION:
    424  *
    425  *  This function converts an RTEMS API priority into a core priority.
    426  */
    427  
    428 STATIC INLINE Priority_Control _RTEMS_tasks_Priority_to_Core(
    429   rtems_task_priority   priority
    430 );
    431 
    432395/*PAGE
    433396 *
     
    444407void _RTEMS_tasks_Initialize_user_tasks( void );
    445408
    446 /*PAGE
    447  *
    448  *  _RTEMS_tasks_Priority_is_valid
    449  *
    450  */
    451  
    452 STATIC INLINE boolean _RTEMS_tasks_Priority_is_valid (
    453   rtems_task_priority the_priority
    454 );
    455 
     409#ifndef __RTEMS_APPLICATION__
    456410#include <rtems/rtems/tasks.inl>
     411#endif
    457412#include <rtems/rtems/taskmp.h>
    458413
  • c/src/exec/rtems/headers/timer.h

    r8e76546 r1a8fde6c  
    196196);
    197197
    198 /*
    199  *  _Timer_Allocate
    200  *
    201  *  DESCRIPTION:
    202  *
    203  *  This function allocates a timer control block from
    204  *  the inactive chain of free timer control blocks.
    205  */
    206 
    207 STATIC INLINE Timer_Control *_Timer_Allocate( void );
    208 
    209 /*
    210  *  _Timer_Free
    211  *
    212  *  DESCRIPTION:
    213  *
    214  *  This routine frees a timer control block to the
    215  *  inactive chain of free timer control blocks.
    216  */
    217 
    218 STATIC INLINE void _Timer_Free (
    219   Timer_Control *the_timer
    220 );
    221 
    222 /*
    223  *  _Timer_Get
    224  *
    225  *  DESCRIPTION:
    226  *
    227  *  This function maps timer IDs to timer control blocks.
    228  *  If ID corresponds to a local timer, then it returns
    229  *  the timer control pointer which maps to ID and location
    230  *  is set to OBJECTS_LOCAL.  Otherwise, location is set
    231  *  to OBJECTS_ERROR and the returned value is undefined.
    232  */
    233 
    234 STATIC INLINE Timer_Control *_Timer_Get (
    235   Objects_Id         id,
    236   Objects_Locations *location
    237 );
    238 
    239 /*
    240  *  _Timer_Is_interval_class
    241  *
    242  *  DESCRIPTION:
    243  *
    244  *  This function returns TRUE if the class is that of an INTERVAL
    245  *  timer, and FALSE otherwise.
    246  */
    247 
    248 STATIC INLINE boolean _Timer_Is_interval_class (
    249   Timer_Classes the_class
    250 );
    251 
    252 /*
    253  *  _Timer_Is_time_of_day_class
    254  *
    255  *  DESCRIPTION:
    256  *
    257  *  This function returns TRUE if the class is that of an INTERVAL
    258  *  timer, and FALSE otherwise.
    259  */
    260 
    261 STATIC INLINE boolean _Timer_Is_timer_of_day_class (
    262   Timer_Classes the_class
    263 );
    264 
    265 /*
    266  *  _Timer_Is_dormant_class
    267  *
    268  *  DESCRIPTION:
    269  *
    270  *  This function returns TRUE if the class is that of a DORMANT
    271  *  timer, and FALSE otherwise.
    272  */
    273 
    274 STATIC INLINE boolean _Timer_Is_dormant_class (
    275   Timer_Classes the_class
    276 );
    277 
    278 /*
    279  *  _Timer_Is_null
    280  *
    281  *  DESCRIPTION:
    282  *
    283  *  This function returns TRUE if the_timer is NULL and FALSE otherwise.
    284  */
    285 
    286 STATIC INLINE boolean _Timer_Is_null (
    287   Timer_Control *the_timer
    288 );
    289 
     198#ifndef __RTEMS_APPLICATION__
    290199#include <rtems/rtems/timer.inl>
     200#endif
    291201
    292202#ifdef __cplusplus
  • c/src/exec/rtems/include/rtems.h

    r8e76546 r1a8fde6c  
    2222#ifdef __cplusplus
    2323extern "C" {
     24#endif
     25
     26/*
     27 *  Unless told otherwise, the RTEMS include files will hide some stuff
     28 *  from normal application code.  Defining this crosses a boundary which
     29 *  is undesirable since it means your application is using RTEMS features
     30 *  which are not included in the formally defined and supported API. 
     31 *  Define this at your own risk.
     32 */
     33
     34#ifndef __RTEMS_VIOLATE_KERNEL_VISIBILITY__
     35#define __RTEMS_APPLICATION__
    2436#endif
    2537
  • c/src/exec/rtems/include/rtems/rtems/asr.h

    r8e76546 r1a8fde6c  
    101101#define RTEMS_SIGNAL_31   0x80000000
    102102
    103 /*
    104  *  _ASR_Initialize
    105  *
    106  *  DESCRIPTION:
    107  *
    108  *  This routine initializes the given RTEMS_ASR information record.
    109  */
    110 
    111 STATIC INLINE void _ASR_Initialize (
    112   ASR_Information *information
    113 );
    114 
    115 /*
    116  *  _ASR_Swap_signals
    117  *
    118  *  DESCRIPTION:
    119  *
    120  *  This routine atomically swaps the pending and posted signal
    121  *  sets.  This is done when the thread alters its mode in such a
    122  *  way that the RTEMS_ASR disable/enable flag changes.
    123  */
    124 
    125 STATIC INLINE void _ASR_Swap_signals (
    126   ASR_Information *information
    127 );
    128 
    129 /*
    130  *  _ASR_Is_null_handler
    131  *
    132  *  DESCRIPTION:
    133  *
    134  *  This function returns TRUE if the given asr_handler is NULL and
    135  *  FALSE otherwise.
    136  */
    137 
    138 STATIC INLINE boolean _ASR_Is_null_handler (
    139   rtems_asr_entry asr_handler
    140 );
    141 
    142 /*
    143  *  _ASR_Are_signals_pending
    144  *
    145  *  DESCRIPTION:
    146  *
    147  *  This function returns TRUE if there are signals pending in the
    148  *  given RTEMS_ASR information record and FALSE otherwise.
    149  */
    150 
    151 STATIC INLINE boolean _ASR_Are_signals_pending (
    152   ASR_Information *information
    153 );
    154 
    155 /*
    156  *  _ASR_Post_signals
    157  *
    158  *  DESCRIPTION:
    159  *
    160  *  This routine posts the given signals into the signal_set
    161  *  passed in.  The result is returned to the user in signal_set.
    162  *
    163  *  NOTE:  This must be implemented as a macro.
    164  */
    165 
    166 STATIC INLINE void _ASR_Post_signals(
    167   rtems_signal_set  signals,
    168   rtems_signal_set *signal_set
    169 );
    170 
     103#ifndef __RTEMS_APPLICATION__
    171104#include <rtems/rtems/asr.inl>
     105#endif
    172106
    173107#ifdef __cplusplus
  • c/src/exec/rtems/include/rtems/rtems/attr.h

    r8e76546 r1a8fde6c  
    7373#define _Attributes_Handler_initialization()
    7474
    75 /*
    76  *  _Attributes_Set
    77  *
    78  *  DESCRIPTION:
    79  *
    80  *  This function sets the requested new_attributes in the attribute_set
    81  *  passed in.  The result is returned to the user.
    82  */
    83 
    84 STATIC INLINE rtems_attribute _Attributes_Set (
    85    rtems_attribute new_attributes,
    86    rtems_attribute attribute_set
    87 );
    88 
    89 /*
    90  *  _Attributes_Clear
    91  *
    92  *  DESCRIPTION:
    93  *
    94  *  This function clears the requested new_attributes in the attribute_set
    95  *  passed in.  The result is returned to the user.
    96  */
    97 
    98 STATIC INLINE rtems_attribute _Attributes_Clear (
    99    rtems_attribute attribute_set,
    100    rtems_attribute mask
    101 );
    102 
    103 /*
    104  *  _Attributes_Is_floating_point
    105  *
    106  *  DESCRIPTION:
    107  *
    108  *  This function returns TRUE if the floating point attribute is
    109  *  enabled in the attribute_set and FALSE otherwise.
    110  */
    111 
    112 STATIC INLINE boolean _Attributes_Is_floating_point(
    113   rtems_attribute attribute_set
    114 );
    115 
    116 /*
    117  *  _Attributes_Is_global
    118  *
    119  *  DESCRIPTION:
    120  *
    121  *  This function returns TRUE if the global object attribute is
    122  *  enabled in the attribute_set and FALSE otherwise.
    123  */
    124 
    125 STATIC INLINE boolean _Attributes_Is_global(
    126   rtems_attribute attribute_set
    127 );
    128 
    129 /*
    130  *  _Attributes_Is_priority
    131  *
    132  *  DESCRIPTION:
    133  *
    134  *  This function returns TRUE if the priority attribute is
    135  *  enabled in the attribute_set and FALSE otherwise.
    136  */
    137 
    138 STATIC INLINE boolean _Attributes_Is_priority(
    139   rtems_attribute attribute_set
    140 );
    141 
    142 #if 0
    143 /*
    144  *  _Attributes_Is_limit
    145  *
    146  *  DESCRIPTION:
    147  *
    148  *  This function returns TRUE if the limited attribute is
    149  *  enabled in the attribute_set and FALSE otherwise.
    150  */
    151 
    152 STATIC INLINE boolean _Attributes_Is_limit(
    153   rtems_attribute attribute_set
    154 );
     75#ifndef __RTEMS_APPLICATION__
     76#include <rtems/rtems/attr.inl>
    15577#endif
    156 
    157 /*
    158  *  _Attributes_Is_binary_semaphore
    159  *
    160  *  DESCRIPTION:
    161  *
    162  *  This function returns TRUE if the binary semaphore attribute is
    163  *  enabled in the attribute_set and FALSE otherwise.
    164  */
    165 
    166 STATIC INLINE boolean _Attributes_Is_binary_semaphore(
    167   rtems_attribute attribute_set
    168 );
    169 
    170 /*
    171  *  _Attributes_Is_inherit_priority
    172  *
    173  *  DESCRIPTION:
    174  *
    175  *  This function returns TRUE if the priority inheritance attribute
    176  *  is enabled in the attribute_set and FALSE otherwise.
    177  */
    178 
    179 STATIC INLINE boolean _Attributes_Is_inherit_priority(
    180   rtems_attribute attribute_set
    181 );
    182 
    183 /*
    184  *  _Attributes_Is_priority_ceiling
    185  *
    186  *  DESCRIPTION:
    187  *
    188  *  This function returns TRUE if the priority ceiling attribute
    189  *  is enabled in the attribute_set and FALSE otherwise.
    190  */
    191  
    192 STATIC INLINE boolean _Attributes_Is_priority_ceiling(
    193   rtems_attribute attribute_set
    194 );
    195  
    196 
    197 #include <rtems/rtems/attr.inl>
    19878
    19979#ifdef __cplusplus
  • c/src/exec/rtems/include/rtems/rtems/dpmem.h

    r8e76546 r1a8fde6c  
    146146);
    147147
    148 /*
    149  *  _Dual_ported_memory_Allocate
    150  *
    151  *  DESCRIPTION:
    152  *
    153  *  This routine allocates a port control block from the inactive chain
    154  *  of free port control blocks.
    155  */
    156 
    157 STATIC INLINE Dual_ported_memory_Control
    158   *_Dual_ported_memory_Allocate ( void );
    159 
    160 /*
    161  *  _Dual_ported_memory_Free
    162  *
    163  *  DESCRIPTION:
    164  *
    165  *  This routine frees a port control block to the inactive chain
    166  *  of free port control blocks.
    167  */
    168 
    169 STATIC INLINE void _Dual_ported_memory_Free (
    170    Dual_ported_memory_Control *the_port
    171 );
    172 
    173 /*
    174  *  _Dual_ported_memory_Get
    175  *
    176  *  DESCRIPTION:
    177  *
    178  *  This function maps port IDs to port control blocks.  If ID
    179  *  corresponds to a local port, then it returns the_port control
    180  *  pointer which maps to ID and location is set to OBJECTS_LOCAL.
    181  *  Global ports are not supported, thus if ID  does not map to a
    182  *  local port, location is set to OBJECTS_ERROR and the_port is
    183  *  undefined.
    184  */
    185 
    186 STATIC INLINE Dual_ported_memory_Control *_Dual_ported_memory_Get (
    187   Objects_Id         id,
    188   Objects_Locations *location
    189 );
    190 
    191 /*
    192  *  _Dual_ported_memory_Is_null
    193  *
    194  *  DESCRIPTION:
    195  *
    196  *  This function returns TRUE if the_port is NULL and FALSE otherwise.
    197  */
    198 
    199 STATIC INLINE boolean _Dual_ported_memory_Is_null(
    200   Dual_ported_memory_Control *the_port
    201 );
    202 
     148#ifndef __RTEMS_APPLICATION__
    203149#include <rtems/rtems/dpmem.inl>
     150#endif
    204151
    205152#ifdef __cplusplus
  • c/src/exec/rtems/include/rtems/rtems/event.h

    r8e76546 r1a8fde6c  
    5454  EVENT_SYNC_SATISFIED
    5555}  Event_Sync_states;
    56 
    57 /*
    58  *  _Event_Manager_initialization
    59  *
    60  *  DESCRIPTION:
    61  *
    62  *  This routine performs the initialization necessary for this manager.
    63  */
    64 
    65 STATIC INLINE void _Event_Manager_initialization( void );
    6656
    6757/*
     
    163153
    164154#include <rtems/rtems/eventmp.h>
     155#ifndef __RTEMS_APPLICATION__
    165156#include <rtems/rtems/event.inl>
     157#endif
    166158
    167159#ifdef __cplusplus
  • c/src/exec/rtems/include/rtems/rtems/eventset.h

    r8e76546 r1a8fde6c  
    7878#define EVENT_SETS_NONE_PENDING 0
    7979
    80 /*
    81  *  _Event_sets_Is_empty
    82  *
    83  *  DESCRIPTION:
    84  *
    85  *  This function returns TRUE if on events are posted in the event_set,
    86  *  and FALSE otherwise.
    87  */
    88 
    89 STATIC INLINE boolean _Event_sets_Is_empty(
    90   rtems_event_set the_event_set
    91 );
    92 
    93 /*
    94  *  _Event_sets_Post
    95  *
    96  *  DESCRIPTION:
    97  *
    98  *  This routine posts the given new_events into the event_set
    99  *  passed in.  The result is returned to the user in event_set.
    100  */
    101 
    102 STATIC INLINE void _Event_sets_Post(
    103   rtems_event_set  the_new_events,
    104   rtems_event_set *the_event_set
    105 );
    106 
    107 /*
    108  *  _Event_sets_Get
    109  *
    110  *  DESCRIPTION:
    111  *
    112  *  This function returns the events in event_condition which are
    113  *  set in event_set.
    114  */
    115 
    116 STATIC INLINE rtems_event_set _Event_sets_Get(
    117   rtems_event_set the_event_set,
    118   rtems_event_set the_event_condition
    119 );
    120 
    121 /*
    122  *  _Event_sets_Clear
    123  *
    124  *  DESCRIPTION:
    125  *
    126  *  This function removes the events in mask from the event_set
    127  *  passed in.  The result is returned to the user in event_set.
    128  */
    129 
    130 STATIC INLINE rtems_event_set _Event_sets_Clear(
    131  rtems_event_set the_event_set,
    132  rtems_event_set the_mask
    133 );
    134 
     80#ifndef __RTEMS_APPLICATION__
    13581#include <rtems/rtems/eventset.inl>
     82#endif
    13683
    13784#ifdef __cplusplus
  • c/src/exec/rtems/include/rtems/rtems/message.h

    r8e76546 r1a8fde6c  
    263263
    264264/*
    265  *  _Message_queue_Is_null
    266  *
    267  *  DESCRIPTION:
    268  *
    269  *  This function places the_message at the rear of the outstanding
    270  *  messages on the_message_queue.
    271  */
    272 
    273 STATIC INLINE boolean _Message_queue_Is_null (
    274   Message_queue_Control *the_message_queue
    275 );
    276 
    277 /*
    278265 *  _Message_queue_Allocate
    279266 *
     
    287274    unsigned32          count,
    288275    unsigned32          max_message_size
    289 );
    290 
    291 /*
    292  *  _Message_queue_Free
    293  *
    294  *  DESCRIPTION:
    295  *
    296  *  This routine deallocates a message queue control block into
    297  *  the inactive chain of free message queue control blocks.
    298  */
    299 
    300 STATIC INLINE void _Message_queue_Free (
    301   Message_queue_Control *the_message_queue
    302 );
    303 
    304 /*
    305  *  _Message_queue_Get
    306  *
    307  *  DESCRIPTION:
    308  *
    309  *  This function maps message queue IDs to message queue control
    310  *  blocks.  If ID corresponds to a local message queue, then it
    311  *  returns the_message_queue control pointer which maps to ID
    312  *  and location is set to OBJECTS_LOCAL.  If the message queue ID is
    313  *  global and resides on a remote node, then location is set
    314  *  to OBJECTS_REMOTE, and the_message_queue is undefined.
    315  *  Otherwise, location is set to OBJECTS_ERROR and
    316  *  the_message_queue is undefined.
    317  */
    318 
    319 STATIC INLINE Message_queue_Control *_Message_queue_Get (
    320   Objects_Id         id,
    321   Objects_Locations *location
    322276);
    323277
     
    351305);
    352306
     307#ifndef __RTEMS_APPLICATION__
    353308#include <rtems/rtems/message.inl>
     309#endif
    354310#include <rtems/rtems/msgmp.h>
    355311
  • c/src/exec/rtems/include/rtems/rtems/modes.h

    r8e76546 r1a8fde6c  
    6060 */
    6161
    62 /*
     62/*PAGE
     63 *
    6364 *  RTEMS_INTERRUPT_LEVEL
    6465 *
     
    7374 */
    7475
    75 STATIC INLINE unsigned32 RTEMS_INTERRUPT_LEVEL (
    76   Modes_Control mode_set
    77 );
     76#define RTEMS_INTERRUPT_LEVEL( _mode_set ) \
     77  ( (_mode_set) & RTEMS_INTERRUPT_MASK )
     78 
    7879
    79 /*
    80  *  _Modes_Mask_changed
    81  *
    82  *  DESCRIPTION:
    83  *
    84  *  This function returns TRUE if any of the mode flags in mask
    85  *  are set in mode_set, and FALSE otherwise.
    86  */
    87 
    88 STATIC INLINE boolean _Modes_Mask_changed (
    89   Modes_Control mode_set,
    90   Modes_Control masks
    91 );
    92 
    93 /*
    94  *  _Modes_Is_asr_disabled
    95  *
    96  *  DESCRIPTION:
    97  *
    98  *  This function returns TRUE if mode_set indicates that Asynchronous
    99  *  Signal Processing is disabled, and FALSE otherwise.
    100  */
    101 
    102 STATIC INLINE boolean _Modes_Is_asr_disabled (
    103   Modes_Control mode_set
    104 );
    105 
    106 /*
    107  *  _Modes_Is_preempt
    108  *
    109  *  DESCRIPTION:
    110  *
    111  *  This function returns TRUE if mode_set indicates that preemption
    112  *  is enabled, and FALSE otherwise.
    113  */
    114 
    115 STATIC INLINE boolean _Modes_Is_preempt (
    116   Modes_Control mode_set
    117 );
    118 
    119 /*
    120  *  _Modes_Is_timeslice
    121  *
    122  *  DESCRIPTION:
    123  *
    124  *  This function returns TRUE if mode_set indicates that timeslicing
    125  *  is enabled, and FALSE otherwise.
    126  */
    127 
    128 STATIC INLINE boolean _Modes_Is_timeslice (
    129   Modes_Control mode_set
    130 );
    131 
    132 /*
    133  *  _Modes_Get_interrupt_level
    134  *
    135  *  DESCRIPTION:
    136  *
    137  *  This function returns the interrupt level portion of the mode_set.
    138  */
    139 
    140 STATIC INLINE ISR_Level _Modes_Get_interrupt_level (
    141   Modes_Control mode_set
    142 );
    143 
    144 /*
    145  *  _Modes_Set_interrupt_level
    146  *
    147  *  DESCRIPTION:
    148  *
    149  *  This routine sets the current interrupt level to that specified
    150  *  in the mode_set.
    151  */
    152 
    153 STATIC INLINE void _Modes_Set_interrupt_level (
    154   Modes_Control mode_set
    155 );
    156 
    157 /*
    158  *  _Modes_Change
    159  *
    160  *  DESCRIPTION:
    161  *
    162  *  This routine changes the modes in old_mode_set indicated by
    163  *  mask to the requested values in new_mode_set.  The resulting
    164  *  mode set is returned in out_mode_set and the modes that changed
    165  *  is returned in changed.
    166  */
    167 
    168 STATIC INLINE void _Modes_Change (
    169   Modes_Control  old_mode_set,
    170   Modes_Control  new_mode_set,
    171   Modes_Control  mask,
    172   Modes_Control *out_mode_set,
    173   Modes_Control *changed
    174 );
    175 
     80#ifndef __RTEMS_APPLICATION__
    17681#include <rtems/rtems/modes.inl>
     82#endif
    17783
    17884#ifdef __cplusplus
  • c/src/exec/rtems/include/rtems/rtems/options.h

    r8e76546 r1a8fde6c  
    4242#define RTEMS_EVENT_ANY 0x00000002        /* wait on any event */
    4343
    44 /*
    45  *  _Options_Is_no_wait
    46  *
    47  *  DESCRIPTION:
    48  *
    49  *  This function returns TRUE if the RTEMS_NO_WAIT option is enabled in
    50  *  option_set, and FALSE otherwise.
    51  *
    52  */
    53 
    54 STATIC INLINE boolean _Options_Is_no_wait (
    55   rtems_option option_set
    56 );
    57 
    58 /*
    59  *  _Options_Is_any
    60  *
    61  *  DESCRIPTION:
    62  *
    63  *  This function returns TRUE if the RTEMS_EVENT_ANY option is enabled in
    64  *  OPTION_SET, and FALSE otherwise.
    65  *
    66  */
    67 
    68 STATIC INLINE boolean _Options_Is_any (
    69   rtems_option option_set
    70 );
    71 
     44#ifndef __RTEMS_APPLICATION__
    7245#include <rtems/rtems/options.inl>
     46#endif
    7347
    7448#ifdef __cplusplus
  • c/src/exec/rtems/include/rtems/rtems/part.h

    r8e76546 r1a8fde6c  
    156156);
    157157
    158 /*
    159  *  _Partition_Allocate_buffer
    160  *
    161  *  DESCRIPTION:
    162  *
    163  *  This function attempts to allocate a buffer from the_partition.
    164  *  If successful, it returns the address of the allocated buffer.
    165  *  Otherwise, it returns NULL.
    166  */
    167 
    168 STATIC INLINE void *_Partition_Allocate_buffer (
    169    Partition_Control *the_partition
    170 );
    171 
    172 /*
    173  *  _Partition_Free_buffer
    174  *
    175  *  DESCRIPTION:
    176  *
    177  *  This routine frees the_buffer to the_partition.
    178  */
    179 
    180 STATIC INLINE void _Partition_Free_buffer (
    181   Partition_Control *the_partition,
    182   Chain_Node        *the_buffer
    183 );
    184 
    185 /*
    186  *  _Partition_Is_buffer_on_boundary
    187  *
    188  *  DESCRIPTION:
    189  *
    190  *  This function returns TRUE if the_buffer is on a valid buffer
    191  *  boundary for the_partition, and FALSE otherwise.
    192  */
    193 
    194 STATIC INLINE boolean _Partition_Is_buffer_on_boundary (
    195   void              *the_buffer,
    196   Partition_Control *the_partition
    197 );
    198 
    199 /*
    200  *  _Partition_Is_buffer_valid
    201  *
    202  *  DESCRIPTION:
    203  *
    204  *  This function returns TRUE if the_buffer is a valid buffer from
    205  *  the_partition, otherwise FALSE is returned.
    206  */
    207 
    208 STATIC INLINE boolean _Partition_Is_buffer_valid (
    209   Chain_Node        *the_buffer,
    210   Partition_Control *the_partition
    211 );
    212 
    213 /*
    214  *  _Partition_Is_buffer_size_aligned
    215  *
    216  *  DESCRIPTION:
    217  *
    218  *  This function returns TRUE if the use of the specified buffer_size
    219  *  will result in the allocation of buffers whose first byte is
    220  *  properly aligned, and FALSE otherwise.
    221  */
    222 
    223 STATIC INLINE boolean _Partition_Is_buffer_size_aligned (
    224   unsigned32 buffer_size
    225 );
    226 
    227 /*
    228  *  _Partition_Allocate
    229  *
    230  *  DESCRIPTION:
    231  *
    232  *  This function allocates a partition control block from
    233  *  the inactive chain of free partition control blocks.
    234  */
    235 
    236 STATIC INLINE Partition_Control *_Partition_Allocate ( void );
    237 
    238 /*
    239  *  _Partition_Free
    240  *
    241  *  DESCRIPTION:
    242  *
    243  *  This routine frees a partition control block to the
    244  *  inactive chain of free partition control blocks.
    245  */
    246 
    247 STATIC INLINE void _Partition_Free (
    248   Partition_Control *the_partition
    249 );
    250 
    251 /*
    252  *  _Partition_Get
    253  *
    254  *  DESCRIPTION:
    255  *
    256  *  This function maps partition IDs to partition control blocks.
    257  *  If ID corresponds to a local partition, then it returns
    258  *  the_partition control pointer which maps to ID and location
    259  *  is set to OBJECTS_LOCAL.  If the partition ID is global and
    260  *  resides on a remote node, then location is set to OBJECTS_REMOTE,
    261  *  and the_partition is undefined.  Otherwise, location is set
    262  *  to OBJECTS_ERROR and the_partition is undefined.
    263  */
    264 
    265 STATIC INLINE Partition_Control *_Partition_Get (
    266   Objects_Id         id,
    267   Objects_Locations *location
    268 );
    269 
    270 /*
    271  *  _Partition_Is_null
    272  *
    273  *  DESCRIPTION:
    274  *
    275  *  This function returns TRUE if the_partition is NULL
    276  *  and FALSE otherwise.
    277  */
    278 
    279 STATIC INLINE boolean _Partition_Is_null (
    280   Partition_Control *the_partition
    281 );
    282 
     158#ifndef __RTEMS_APPLICATION__
    283159#include <rtems/rtems/part.inl>
     160#endif
    284161#include <rtems/rtems/partmp.h>
    285162
  • c/src/exec/rtems/include/rtems/rtems/ratemon.h

    r8e76546 r1a8fde6c  
    157157
    158158/*
    159  *  _Rate_monotonic_Allocate
    160  *
    161  *  DESCRIPTION:
    162  *
    163  *  This function allocates a period control block from
    164  *  the inactive chain of free period control blocks.
    165  */
    166 
    167 STATIC INLINE Rate_monotonic_Control *_Rate_monotonic_Allocate( void );
    168 
    169 /*
    170  *  _Rate_monotonic_Free
    171  *
    172  *  DESCRIPTION:
    173  *
    174  *  This routine allocates a period control block from
    175  *  the inactive chain of free period control blocks.
    176  */
    177 
    178 STATIC INLINE void _Rate_monotonic_Free (
    179   Rate_monotonic_Control *the_period
    180 );
    181 
    182 /*
    183  *  _Rate_monotonic_Get
    184  *
    185  *  DESCRIPTION:
    186  *
    187  *  This function maps period IDs to period control blocks.
    188  *  If ID corresponds to a local period, then it returns
    189  *  the_period control pointer which maps to ID and location
    190  *  is set to OBJECTS_LOCAL.  Otherwise, location is set
    191  *  to OBJECTS_ERROR and the_period is undefined.
    192  */
    193 
    194 STATIC INLINE Rate_monotonic_Control *_Rate_monotonic_Get (
    195   Objects_Id         id,
    196   Objects_Locations *location
    197 );
    198 
    199 /*
    200159 *  _Rate_monotonic_Timeout
    201160 *
     
    215174);
    216175
    217 /*
    218  *  _Rate_monotonic_Is_active
    219  *
    220  *  DESCRIPTION:
    221  *
    222  *  This function returns TRUE if the_period is in the ACTIVE state,
    223  *  and FALSE otherwise.
    224  */
    225 
    226 STATIC INLINE boolean _Rate_monotonic_Is_active (
    227   Rate_monotonic_Control *the_period
    228 );
    229 
    230 /*
    231  *  _Rate_monotonic_Is_inactive
    232  *
    233  *  DESCRIPTION:
    234  *
    235  *  This function returns TRUE if the_period is in the ACTIVE state,
    236  *  and FALSE otherwise.
    237  */
    238 
    239 STATIC INLINE boolean _Rate_monotonic_Is_inactive (
    240   Rate_monotonic_Control *the_period
    241 );
    242 
    243 /*
    244  *  _Rate_monotonic_Is_expired
    245  *
    246  *  DESCRIPTION:
    247  *
    248  *  This function returns TRUE if the_period is in the EXPIRED state,
    249  *  and FALSE otherwise.
    250  */
    251 
    252 STATIC INLINE boolean _Rate_monotonic_Is_expired (
    253   Rate_monotonic_Control *the_period
    254 );
    255 
    256 /*
    257  *  _Rate_monotonic_Is_null
    258  *
    259  *  DESCRIPTION:
    260  *
    261  *  This function returns TRUE if the_period is NULL and FALSE otherwise.
    262  */
    263 
    264 STATIC INLINE boolean _Rate_monotonic_Is_null (
    265   Rate_monotonic_Control *the_period
    266 );
    267 
     176#ifndef __RTEMS_APPLICATION__
    268177#include <rtems/rtems/ratemon.inl>
     178#endif
    269179
    270180#ifdef __cplusplus
  • c/src/exec/rtems/include/rtems/rtems/region.h

    r8e76546 r1a8fde6c  
    199199);
    200200
    201 /*
    202  *  _Region_Allocate
    203  *
    204  *  DESCRIPTION:
    205  *
    206  *  This function allocates a region control block from
    207  *  the inactive chain of free region control blocks.
    208  */
    209 
    210 STATIC INLINE Region_Control *_Region_Allocate( void );
    211 
    212 /*
    213  *  _Region_Free
    214  *
    215  *  DESCRIPTION:
    216  *
    217  *  This routine frees a region control block to the
    218  *  inactive chain of free region control blocks.
    219  */
    220 
    221 STATIC INLINE void _Region_Free (
    222   Region_Control *the_region
    223 );
    224 
    225 /*
    226  *  _Region_Get
    227  *
    228  *  DESCRIPTION:
    229  *
    230  *  This function maps region IDs to region control blocks.
    231  *  If ID corresponds to a local region, then it returns
    232  *  the_region control pointer which maps to ID and location
    233  *  is set to OBJECTS_LOCAL.  Otherwise, location is set
    234  *  to OBJECTS_ERROR and the_region is undefined.
    235  */
    236 
    237 STATIC INLINE Region_Control *_Region_Get (
    238   Objects_Id         id,
    239   Objects_Locations *location
    240 );
    241 
    242 /*
    243  *  _Region_Allocate_segment
    244  *
    245  *  DESCRIPTION:
    246  *
    247  *  This function attempts to allocate a segment from the_region.
    248  *  If successful, it returns the address of the allocated segment.
    249  *  Otherwise, it returns NULL.
    250  */
    251 
    252 STATIC INLINE void *_Region_Allocate_segment (
    253   Region_Control *the_region,
    254   unsigned32      size
    255 );
    256 
    257 /*
    258  *  _Region_Free_segment
    259  *
    260  *  DESCRIPTION:
    261  *
    262  *  This function frees the_segment to the_region.
    263  */
    264 
    265 STATIC INLINE boolean _Region_Free_segment (
    266   Region_Control *the_region,
    267   void           *the_segment
    268 );
    269 
    270 /*
    271  *  _Region_Is_null
    272  *
    273  *  DESCRIPTION:
    274  *
    275  *  This function returns TRUE if the_region is NULL and FALSE otherwise.
    276  */
    277 
    278 STATIC INLINE boolean _Region_Is_null (
    279   Region_Control *the_region
    280 );
    281 
     201#ifndef __RTEMS_APPLICATION__
    282202#include <rtems/rtems/region.inl>
     203#endif
    283204#include <rtems/rtems/regionmp.h>
    284205
  • c/src/exec/rtems/include/rtems/rtems/sem.h

    r8e76546 r1a8fde6c  
    179179
    180180/*
    181  *  _Semaphore_Allocate
    182  *
    183  *  DESCRIPTION:
    184  *
    185  *  This function allocates a semaphore control block from
    186  *  the inactive chain of free semaphore control blocks.
    187  */
    188 
    189 STATIC INLINE Semaphore_Control *_Semaphore_Allocate( void );
    190 
    191 /*
    192  *  _Semaphore_Free
    193  *
    194  *  DESCRIPTION:
    195  *
    196  *  This routine frees a semaphore control block to the
    197  *  inactive chain of free semaphore control blocks.
    198  */
    199 
    200 STATIC INLINE void _Semaphore_Free (
    201   Semaphore_Control *the_semaphore
    202 );
    203 
    204 /*
    205  *  _Semaphore_Get
    206  *
    207  *  DESCRIPTION:
    208  *
    209  *  This function maps semaphore IDs to semaphore control blocks.
    210  *  If ID corresponds to a local semaphore, then it returns
    211  *  the_semaphore control pointer which maps to ID and location
    212  *  is set to OBJECTS_LOCAL.  if the semaphore ID is global and
    213  *  resides on a remote node, then location is set to OBJECTS_REMOTE,
    214  *  and the_semaphore is undefined.  Otherwise, location is set
    215  *  to OBJECTS_ERROR and the_semaphore is undefined.
    216  */
    217 
    218 STATIC INLINE Semaphore_Control *_Semaphore_Get (
    219   rtems_id           id,
    220   Objects_Locations *location
    221 );
    222 
    223 /*
    224  *  _Semaphore_Is_null
    225  *
    226  *  DESCRIPTION:
    227  *
    228  *  This function returns TRUE if the_semaphore is NULL and FALSE otherwise.
    229  */
    230 
    231 STATIC INLINE boolean _Semaphore_Is_null (
    232   Semaphore_Control *the_semaphore
    233 );
    234 
    235 /*
    236181 *  _Semaphore_Translate_core_mutex_return_code
    237182 *
     
    291236);
    292237
     238#ifndef __RTEMS_APPLICATION__
    293239#include <rtems/rtems/sem.inl>
     240#endif
    294241#include <rtems/rtems/semmp.h>
    295242
  • c/src/exec/rtems/include/rtems/rtems/status.h

    r8e76546 r1a8fde6c  
    7070
    7171/*
    72  *  rtems_is_status_successful
    73  *
    74  *  DESCRIPTION:
    75  *
    76  *  This function returns TRUE if the status code is equal to RTEMS_SUCCESSFUL,
    77  *  and FALSE otherwise.
     72 *  Applications are allowed to use the macros to compare status codes.
    7873 */
    79 
    80 STATIC INLINE boolean rtems_is_status_successful (
    81   rtems_status_code code
    82 );
    83 
    84 /*
    85  *  rtems_are_statuses_equal
    86  *
    87  *  DESCRIPTION:
    88  *
    89  *  This function returns TRUE if the status code1 is equal to code2,
    90  *  and FALSE otherwise.
    91  */
    92 
    93 STATIC INLINE boolean rtems_are_statuses_equal (
    94   rtems_status_code code1,
    95   rtems_status_code code2
    96 );
    9774
    9875#include <rtems/rtems/status.inl>
  • c/src/exec/rtems/include/rtems/rtems/support.h

    r8e76546 r1a8fde6c  
    2525
    2626/*
    27  *  rtems_is_name_valid
    28  *
    29  *  DESCRIPTION:
    30  *
    31  *  This function returns TRUE if the name is valid, and FALSE otherwise.
    32  */
    33 
    34 STATIC INLINE rtems_boolean rtems_is_name_valid (
    35   rtems_name  name
    36 );
    37 
    38 /*
    3927 *  rtems_build_name
    4028 *
     
    5341  ( (_C1) << 24 | (_C2) << 16 | (_C3) << 8 | (_C4) )
    5442 
    55 /*
    56  *  rtems_name_to_characters
    57  *
    58  *  DESCRIPTION:
    59  *
    60  *  This function breaks the object name into the four component
    61  *  characters C1, C2, C3, and C4.
    62  *
    63  */
    64  
    65 STATIC INLINE void rtems_name_to_characters(
    66   rtems_name    name,
    67   char         *c1,
    68   char         *c2,
    69   char         *c3,
    70   char         *c4
    71 );
    72 
    7343/*
    7444 *  rtems_get_class
  • c/src/exec/rtems/include/rtems/rtems/tasks.h

    r8e76546 r1a8fde6c  
    393393);
    394394
    395 /*
    396  *  _RTEMS_tasks_Allocate
    397  *
    398  *  DESCRIPTION:
    399  *
    400  *  This function allocates a task control block from
    401  *  the inactive chain of free task control blocks.
    402  */
    403 
    404 STATIC INLINE Thread_Control *_RTEMS_tasks_Allocate( void );
    405 
    406 /*
    407  *  _RTEMS_tasks_Free
    408  *
    409  *  DESCRIPTION:
    410  *
    411  *  This routine frees a task control block to the
    412  *  inactive chain of free task control blocks.
    413 
    414  */
    415 
    416 STATIC INLINE void _RTEMS_tasks_Free (
    417   Thread_Control *the_task
    418 );
    419 
    420 /*
    421  *  _RTEMS_tasks_Priority_to_Core
    422  *
    423  *  DESCRIPTION:
    424  *
    425  *  This function converts an RTEMS API priority into a core priority.
    426  */
    427  
    428 STATIC INLINE Priority_Control _RTEMS_tasks_Priority_to_Core(
    429   rtems_task_priority   priority
    430 );
    431 
    432395/*PAGE
    433396 *
     
    444407void _RTEMS_tasks_Initialize_user_tasks( void );
    445408
    446 /*PAGE
    447  *
    448  *  _RTEMS_tasks_Priority_is_valid
    449  *
    450  */
    451  
    452 STATIC INLINE boolean _RTEMS_tasks_Priority_is_valid (
    453   rtems_task_priority the_priority
    454 );
    455 
     409#ifndef __RTEMS_APPLICATION__
    456410#include <rtems/rtems/tasks.inl>
     411#endif
    457412#include <rtems/rtems/taskmp.h>
    458413
  • c/src/exec/rtems/include/rtems/rtems/timer.h

    r8e76546 r1a8fde6c  
    196196);
    197197
    198 /*
    199  *  _Timer_Allocate
    200  *
    201  *  DESCRIPTION:
    202  *
    203  *  This function allocates a timer control block from
    204  *  the inactive chain of free timer control blocks.
    205  */
    206 
    207 STATIC INLINE Timer_Control *_Timer_Allocate( void );
    208 
    209 /*
    210  *  _Timer_Free
    211  *
    212  *  DESCRIPTION:
    213  *
    214  *  This routine frees a timer control block to the
    215  *  inactive chain of free timer control blocks.
    216  */
    217 
    218 STATIC INLINE void _Timer_Free (
    219   Timer_Control *the_timer
    220 );
    221 
    222 /*
    223  *  _Timer_Get
    224  *
    225  *  DESCRIPTION:
    226  *
    227  *  This function maps timer IDs to timer control blocks.
    228  *  If ID corresponds to a local timer, then it returns
    229  *  the timer control pointer which maps to ID and location
    230  *  is set to OBJECTS_LOCAL.  Otherwise, location is set
    231  *  to OBJECTS_ERROR and the returned value is undefined.
    232  */
    233 
    234 STATIC INLINE Timer_Control *_Timer_Get (
    235   Objects_Id         id,
    236   Objects_Locations *location
    237 );
    238 
    239 /*
    240  *  _Timer_Is_interval_class
    241  *
    242  *  DESCRIPTION:
    243  *
    244  *  This function returns TRUE if the class is that of an INTERVAL
    245  *  timer, and FALSE otherwise.
    246  */
    247 
    248 STATIC INLINE boolean _Timer_Is_interval_class (
    249   Timer_Classes the_class
    250 );
    251 
    252 /*
    253  *  _Timer_Is_time_of_day_class
    254  *
    255  *  DESCRIPTION:
    256  *
    257  *  This function returns TRUE if the class is that of an INTERVAL
    258  *  timer, and FALSE otherwise.
    259  */
    260 
    261 STATIC INLINE boolean _Timer_Is_timer_of_day_class (
    262   Timer_Classes the_class
    263 );
    264 
    265 /*
    266  *  _Timer_Is_dormant_class
    267  *
    268  *  DESCRIPTION:
    269  *
    270  *  This function returns TRUE if the class is that of a DORMANT
    271  *  timer, and FALSE otherwise.
    272  */
    273 
    274 STATIC INLINE boolean _Timer_Is_dormant_class (
    275   Timer_Classes the_class
    276 );
    277 
    278 /*
    279  *  _Timer_Is_null
    280  *
    281  *  DESCRIPTION:
    282  *
    283  *  This function returns TRUE if the_timer is NULL and FALSE otherwise.
    284  */
    285 
    286 STATIC INLINE boolean _Timer_Is_null (
    287   Timer_Control *the_timer
    288 );
    289 
     198#ifndef __RTEMS_APPLICATION__
    290199#include <rtems/rtems/timer.inl>
     200#endif
    291201
    292202#ifdef __cplusplus
  • c/src/exec/rtems/inline/asr.inl

    r8e76546 r1a8fde6c  
    2424 *  _ASR_Initialize
    2525 *
     26 *  DESCRIPTION:
     27 *
     28 *  This routine initializes the given RTEMS_ASR information record.
    2629 */
    2730
     
    4245 *  _ASR_Swap_signals
    4346 *
     47 *  DESCRIPTION:
     48 *
     49 *  This routine atomically swaps the pending and posted signal
     50 *  sets.  This is done when the thread alters its mode in such a
     51 *  way that the RTEMS_ASR disable/enable flag changes.
    4452 */
    4553
     
    6270 *  _ASR_Is_null_handler
    6371 *
     72 *  DESCRIPTION:
     73 *
     74 *  This function returns TRUE if the given asr_handler is NULL and
     75 *  FALSE otherwise.
    6476 */
    6577
     
    7587 *  _ASR_Are_signals_pending
    7688 *
     89 *  DESCRIPTION:
     90 *
     91 *  This function returns TRUE if there are signals pending in the
     92 *  given RTEMS_ASR information record and FALSE otherwise.
    7793 */
    7894
     
    88104 *  _ASR_Post_signals
    89105 *
     106 *  DESCRIPTION:
     107 *
     108 *  This routine posts the given signals into the signal_set
     109 *  passed in.  The result is returned to the user in signal_set.
     110 *
     111 *  NOTE:  This must be implemented as a macro.
    90112 */
    91113
  • c/src/exec/rtems/inline/attr.inl

    r8e76546 r1a8fde6c  
    2121 *
    2222 *  _Attributes_Set
     23 *
     24 *  DESCRIPTION:
     25 *
     26 *  This function sets the requested new_attributes in the attribute_set
     27 *  passed in.  The result is returned to the user.
    2328 */
    2429
     
    3439 *
    3540 *  _Attributes_Clear
     41 *
     42 *  DESCRIPTION:
     43 *
     44 *  This function clears the requested new_attributes in the attribute_set
     45 *  passed in.  The result is returned to the user.
    3646 */
    3747
     
    4858 *  _Attributes_Is_floating_point
    4959 *
     60 *  DESCRIPTION:
     61 *
     62 *  This function returns TRUE if the floating point attribute is
     63 *  enabled in the attribute_set and FALSE otherwise.
    5064 */
    5165
     
    6175 *  _Attributes_Is_global
    6276 *
     77 *  DESCRIPTION:
     78 *
     79 *  This function returns TRUE if the global object attribute is
     80 *  enabled in the attribute_set and FALSE otherwise.
    6381 */
    6482
     
    7492 *  _Attributes_Is_priority
    7593 *
     94 *  DESCRIPTION:
     95 *
     96 *  This function returns TRUE if the priority attribute is
     97 *  enabled in the attribute_set and FALSE otherwise.
    7698 */
    7799
     
    87109 *  _Attributes_Is_binary_semaphore
    88110 *
     111 *  DESCRIPTION:
     112 *
     113 *  This function returns TRUE if the binary semaphore attribute is
     114 *  enabled in the attribute_set and FALSE otherwise.
    89115 */
    90116
     
    100126 *  _Attributes_Is_inherit_priority
    101127 *
     128 *  DESCRIPTION:
     129 *
     130 *  This function returns TRUE if the priority inheritance attribute
     131 *  is enabled in the attribute_set and FALSE otherwise.
    102132 */
    103133
     
    113143 *  _Attributes_Is_priority_ceiling
    114144 *
     145 *  DESCRIPTION:
     146 *
     147 *  This function returns TRUE if the priority ceiling attribute
     148 *  is enabled in the attribute_set and FALSE otherwise.
    115149 */
    116150 
  • c/src/exec/rtems/inline/dpmem.inl

    r8e76546 r1a8fde6c  
    2323 *  _Dual_ported_memory_Allocate
    2424 *
     25 *  DESCRIPTION:
     26 *
     27 *  This routine allocates a port control block from the inactive chain
     28 *  of free port control blocks.
    2529 */
    2630
     
    3640 *  _Dual_ported_memory_Free
    3741 *
     42 *  DESCRIPTION:
     43 *
     44 *  This routine frees a port control block to the inactive chain
     45 *  of free port control blocks.
    3846 */
    3947
     
    4957 *  _Dual_ported_memory_Get
    5058 *
     59 *  DESCRIPTION:
     60 *
     61 *  This function maps port IDs to port control blocks.  If ID
     62 *  corresponds to a local port, then it returns the_port control
     63 *  pointer which maps to ID and location is set to OBJECTS_LOCAL.
     64 *  Global ports are not supported, thus if ID  does not map to a
     65 *  local port, location is set to OBJECTS_ERROR and the_port is
     66 *  undefined.
    5167 */
    5268
     
    6379 *
    6480 *  _Dual_ported_memory_Is_null
     81 *
     82 *  DESCRIPTION:
     83 *
     84 *  This function returns TRUE if the_port is NULL and FALSE otherwise.
    6585 */
    6686
  • c/src/exec/rtems/inline/event.inl

    r8e76546 r1a8fde6c  
    2020/*
    2121 *  Event_Manager_initialization
     22 *
     23 *  DESCRIPTION:
     24 *
     25 *  This routine performs the initialization necessary for this manager.
    2226 */
    2327
  • c/src/exec/rtems/inline/eventset.inl

    r8e76546 r1a8fde6c  
    2020 *
    2121 *  _Event_sets_Is_empty
     22 *
     23 *  DESCRIPTION:
     24 *
     25 *  This function returns TRUE if on events are posted in the event_set,
     26 *  and FALSE otherwise.
    2227 */
    2328
     
    3237 *
    3338 *  _Event_sets_Post
     39 *
     40 *  DESCRIPTION:
     41 *
     42 *  This routine posts the given new_events into the event_set
     43 *  passed in.  The result is returned to the user in event_set.
    3444 */
    3545
     
    4555 *
    4656 *  _Event_sets_Get
     57 *
     58 *  DESCRIPTION:
     59 *
     60 *  This function returns the events in event_condition which are
     61 *  set in event_set.
    4762 */
    4863
     
    5873 *
    5974 *  _Event_sets_Clear
     75 *
     76 *  DESCRIPTION:
     77 *
     78 *  This function removes the events in mask from the event_set
     79 *  passed in.  The result is returned to the user in event_set.
    6080 */
    6181
  • c/src/exec/rtems/inline/message.inl

    r8e76546 r1a8fde6c  
    2424 *  _Message_queue_Is_null
    2525 *
     26 *  DESCRIPTION:
     27 *
     28 *  This function places the_message at the rear of the outstanding
     29 *  messages on the_message_queue.
    2630 */
    2731
     
    3842 *  _Message_queue_Free
    3943 *
     44 *  DESCRIPTION:
     45 *
     46 *  This routine deallocates a message queue control block into
     47 *  the inactive chain of free message queue control blocks.
    4048 */
    4149
     
    5159 *  _Message_queue_Get
    5260 *
     61 *  DESCRIPTION:
     62 *
     63 *  This function maps message queue IDs to message queue control
     64 *  blocks.  If ID corresponds to a local message queue, then it
     65 *  returns the_message_queue control pointer which maps to ID
     66 *  and location is set to OBJECTS_LOCAL.  If the message queue ID is
     67 *  global and resides on a remote node, then location is set
     68 *  to OBJECTS_REMOTE, and the_message_queue is undefined.
     69 *  Otherwise, location is set to OBJECTS_ERROR and
     70 *  the_message_queue is undefined.
    5371 */
    5472
  • c/src/exec/rtems/inline/modes.inl

    r8e76546 r1a8fde6c  
    2020/*PAGE
    2121 *
    22  *  RTEMS_INTERRUPT_LEVEL
    23  */
    24 
    25 STATIC INLINE unsigned32 RTEMS_INTERRUPT_LEVEL (
    26   Modes_Control mode_set
    27 )
    28 {
    29   return mode_set & RTEMS_INTERRUPT_MASK;
    30 }
    31 
    32 /*PAGE
    33  *
    3422 *  _Modes_Mask_changed
    3523 *
     24 *  DESCRIPTION:
     25 *
     26 *  This function returns TRUE if any of the mode flags in mask
     27 *  are set in mode_set, and FALSE otherwise.
    3628 */
    3729
     
    4840 *  _Modes_Is_asr_disabled
    4941 *
     42 *  DESCRIPTION:
     43 *
     44 *  This function returns TRUE if mode_set indicates that Asynchronous
     45 *  Signal Processing is disabled, and FALSE otherwise.
    5046 */
    5147
     
    6157 *  _Modes_Is_preempt
    6258 *
     59 *  DESCRIPTION:
     60 *
     61 *  This function returns TRUE if mode_set indicates that preemption
     62 *  is enabled, and FALSE otherwise.
    6363 */
    6464
     
    7474 *  _Modes_Is_timeslice
    7575 *
     76 *  DESCRIPTION:
     77 *
     78 *  This function returns TRUE if mode_set indicates that timeslicing
     79 *  is enabled, and FALSE otherwise.
    7680 */
    7781
     
    8791 *  _Modes_Get_interrupt_level
    8892 *
     93 *  DESCRIPTION:
     94 *
     95 *  This function returns the interrupt level portion of the mode_set.
    8996 */
    9097
     
    100107 *  _Modes_Set_interrupt_level
    101108 *
     109 *  DESCRIPTION:
     110 *
     111 *  This routine sets the current interrupt level to that specified
     112 *  in the mode_set.
    102113 */
    103114
     
    113124 *  _Modes_Change
    114125 *
     126 *  DESCRIPTION:
     127 *
     128 *  This routine changes the modes in old_mode_set indicated by
     129 *  mask to the requested values in new_mode_set.  The resulting
     130 *  mode set is returned in out_mode_set and the modes that changed
     131 *  is returned in changed.
    115132 */
    116133
  • c/src/exec/rtems/inline/options.inl

    r8e76546 r1a8fde6c  
    2222 *  _Options_Is_no_wait
    2323 *
     24 *  DESCRIPTION:
     25 *
     26 *  This function returns TRUE if the RTEMS_NO_WAIT option is enabled in
     27 *  option_set, and FALSE otherwise.
    2428 */
    2529
     
    3539 *  _Options_Is_any
    3640 *
     41 *  DESCRIPTION:
     42 *
     43 *  This function returns TRUE if the RTEMS_EVENT_ANY option is enabled in
     44 *  OPTION_SET, and FALSE otherwise.
    3745 */
    3846
  • c/src/exec/rtems/inline/part.inl

    r8e76546 r1a8fde6c  
    2222 *  _Partition_Allocate_buffer
    2323 *
     24 *  DESCRIPTION:
     25 *
     26 *  This function attempts to allocate a buffer from the_partition.
     27 *  If successful, it returns the address of the allocated buffer.
     28 *  Otherwise, it returns NULL.
    2429 */
    2530
     
    3540 *  _Partition_Free_buffer
    3641 *
     42 *  DESCRIPTION:
     43 *
     44 *  This routine frees the_buffer to the_partition.
    3745 */
    3846
     
    4957 *  _Partition_Is_buffer_on_boundary
    5058 *
     59 *  DESCRIPTION:
     60 *
     61 *  This function returns TRUE if the_buffer is on a valid buffer
     62 *  boundary for the_partition, and FALSE otherwise.
    5163 */
    5264
     
    7082 *  _Partition_Is_buffer_valid
    7183 *
     84 *  DESCRIPTION:
     85 *
     86 *  This function returns TRUE if the_buffer is a valid buffer from
     87 *  the_partition, otherwise FALSE is returned.
    7288 */
    7389
     
    93109 *  _Partition_Is_buffer_size_aligned
    94110 *
     111 *  DESCRIPTION:
     112 *
     113 *  This function returns TRUE if the use of the specified buffer_size
     114 *  will result in the allocation of buffers whose first byte is
     115 *  properly aligned, and FALSE otherwise.
    95116 */
    96117
     
    106127 *  _Partition_Allocate
    107128 *
     129 *  DESCRIPTION:
     130 *
     131 *  This function allocates a partition control block from
     132 *  the inactive chain of free partition control blocks.
    108133 */
    109134
     
    117142 *  _Partition_Free
    118143 *
     144 *  DESCRIPTION:
     145 *
     146 *  This routine frees a partition control block to the
     147 *  inactive chain of free partition control blocks.
    119148 */
    120149
     
    130159 *  _Partition_Get
    131160 *
     161 *  DESCRIPTION:
     162 *
     163 *  This function maps partition IDs to partition control blocks.
     164 *  If ID corresponds to a local partition, then it returns
     165 *  the_partition control pointer which maps to ID and location
     166 *  is set to OBJECTS_LOCAL.  If the partition ID is global and
     167 *  resides on a remote node, then location is set to OBJECTS_REMOTE,
     168 *  and the_partition is undefined.  Otherwise, location is set
     169 *  to OBJECTS_ERROR and the_partition is undefined.
    132170 */
    133171
     
    145183 *  _Partition_Is_null
    146184 *
     185 *  DESCRIPTION:
     186 *
     187 *  This function returns TRUE if the_partition is NULL
     188 *  and FALSE otherwise.
    147189 */
    148190
  • c/src/exec/rtems/inline/ratemon.inl

    r8e76546 r1a8fde6c  
    2222 *  _Rate_monotonic_Allocate
    2323 *
     24 *  DESCRIPTION:
     25 *
     26 *  This function allocates a period control block from
     27 *  the inactive chain of free period control blocks.
    2428 */
    2529
     
    3438 *  _Rate_monotonic_Free
    3539 *
     40 *  DESCRIPTION:
     41 *
     42 *  This routine allocates a period control block from
     43 *  the inactive chain of free period control blocks.
    3644 */
    3745
     
    4755 *  _Rate_monotonic_Get
    4856 *
     57 *  DESCRIPTION:
     58 *
     59 *  This function maps period IDs to period control blocks.
     60 *  If ID corresponds to a local period, then it returns
     61 *  the_period control pointer which maps to ID and location
     62 *  is set to OBJECTS_LOCAL.  Otherwise, location is set
     63 *  to OBJECTS_ERROR and the_period is undefined.
    4964 */
    5065
     
    6277 *  _Rate_monotonic_Is_active
    6378 *
     79 *  DESCRIPTION:
     80 *
     81 *  This function returns TRUE if the_period is in the ACTIVE state,
     82 *  and FALSE otherwise.
    6483 */
    6584
     
    7594 *  _Rate_monotonic_Is_inactive
    7695 *
     96 *  DESCRIPTION:
     97 *
     98 *  This function returns TRUE if the_period is in the ACTIVE state,
     99 *  and FALSE otherwise.
    77100 */
    78101
     
    88111 *  _Rate_monotonic_Is_expired
    89112 *
     113 *  DESCRIPTION:
     114 *
     115 *  This function returns TRUE if the_period is in the EXPIRED state,
     116 *  and FALSE otherwise.
    90117 */
    91118
     
    101128 *  _Rate_monotonic_Is_null
    102129 *
     130 *  DESCRIPTION:
     131 *
     132 *  This function returns TRUE if the_period is NULL and FALSE otherwise.
    103133 */
    104134
  • c/src/exec/rtems/inline/region.inl

    r8e76546 r1a8fde6c  
    2222 *  _Region_Allocate
    2323 *
     24 *  DESCRIPTION:
     25 *
     26 *  This function allocates a region control block from
     27 *  the inactive chain of free region control blocks.
    2428 */
    2529
     
    3337 *  _Region_Free
    3438 *
     39 *  DESCRIPTION:
     40 *
     41 *  This routine frees a region control block to the
     42 *  inactive chain of free region control blocks.
    3543 */
    3644
     
    4654 *  _Region_Get
    4755 *
     56 *  DESCRIPTION:
     57 *
     58 *  This function maps region IDs to region control blocks.
     59 *  If ID corresponds to a local region, then it returns
     60 *  the_region control pointer which maps to ID and location
     61 *  is set to OBJECTS_LOCAL.  Otherwise, location is set
     62 *  to OBJECTS_ERROR and the_region is undefined.
    4863 */
    4964
     
    6176 *  _Region_Allocate_segment
    6277 *
     78 *  DESCRIPTION:
     79 *
     80 *  This function attempts to allocate a segment from the_region.
     81 *  If successful, it returns the address of the allocated segment.
     82 *  Otherwise, it returns NULL.
    6383 */
    6484
     
    7595 *  _Region_Free_segment
    7696 *
     97 *  DESCRIPTION:
     98 *
     99 *  This function frees the_segment to the_region.
    77100 */
    78101
     
    89112 *  _Region_Is_null
    90113 *
     114 *  DESCRIPTION:
     115 *
     116 *  This function returns TRUE if the_region is NULL and FALSE otherwise.
    91117 */
    92118
  • c/src/exec/rtems/inline/rtems/rtems/asr.inl

    r8e76546 r1a8fde6c  
    2424 *  _ASR_Initialize
    2525 *
     26 *  DESCRIPTION:
     27 *
     28 *  This routine initializes the given RTEMS_ASR information record.
    2629 */
    2730
     
    4245 *  _ASR_Swap_signals
    4346 *
     47 *  DESCRIPTION:
     48 *
     49 *  This routine atomically swaps the pending and posted signal
     50 *  sets.  This is done when the thread alters its mode in such a
     51 *  way that the RTEMS_ASR disable/enable flag changes.
    4452 */
    4553
     
    6270 *  _ASR_Is_null_handler
    6371 *
     72 *  DESCRIPTION:
     73 *
     74 *  This function returns TRUE if the given asr_handler is NULL and
     75 *  FALSE otherwise.
    6476 */
    6577
     
    7587 *  _ASR_Are_signals_pending
    7688 *
     89 *  DESCRIPTION:
     90 *
     91 *  This function returns TRUE if there are signals pending in the
     92 *  given RTEMS_ASR information record and FALSE otherwise.
    7793 */
    7894
     
    88104 *  _ASR_Post_signals
    89105 *
     106 *  DESCRIPTION:
     107 *
     108 *  This routine posts the given signals into the signal_set
     109 *  passed in.  The result is returned to the user in signal_set.
     110 *
     111 *  NOTE:  This must be implemented as a macro.
    90112 */
    91113
  • c/src/exec/rtems/inline/rtems/rtems/attr.inl

    r8e76546 r1a8fde6c  
    2121 *
    2222 *  _Attributes_Set
     23 *
     24 *  DESCRIPTION:
     25 *
     26 *  This function sets the requested new_attributes in the attribute_set
     27 *  passed in.  The result is returned to the user.
    2328 */
    2429
     
    3439 *
    3540 *  _Attributes_Clear
     41 *
     42 *  DESCRIPTION:
     43 *
     44 *  This function clears the requested new_attributes in the attribute_set
     45 *  passed in.  The result is returned to the user.
    3646 */
    3747
     
    4858 *  _Attributes_Is_floating_point
    4959 *
     60 *  DESCRIPTION:
     61 *
     62 *  This function returns TRUE if the floating point attribute is
     63 *  enabled in the attribute_set and FALSE otherwise.
    5064 */
    5165
     
    6175 *  _Attributes_Is_global
    6276 *
     77 *  DESCRIPTION:
     78 *
     79 *  This function returns TRUE if the global object attribute is
     80 *  enabled in the attribute_set and FALSE otherwise.
    6381 */
    6482
     
    7492 *  _Attributes_Is_priority
    7593 *
     94 *  DESCRIPTION:
     95 *
     96 *  This function returns TRUE if the priority attribute is
     97 *  enabled in the attribute_set and FALSE otherwise.
    7698 */
    7799
     
    87109 *  _Attributes_Is_binary_semaphore
    88110 *
     111 *  DESCRIPTION:
     112 *
     113 *  This function returns TRUE if the binary semaphore attribute is
     114 *  enabled in the attribute_set and FALSE otherwise.
    89115 */
    90116
     
    100126 *  _Attributes_Is_inherit_priority
    101127 *
     128 *  DESCRIPTION:
     129 *
     130 *  This function returns TRUE if the priority inheritance attribute
     131 *  is enabled in the attribute_set and FALSE otherwise.
    102132 */
    103133
     
    113143 *  _Attributes_Is_priority_ceiling
    114144 *
     145 *  DESCRIPTION:
     146 *
     147 *  This function returns TRUE if the priority ceiling attribute
     148 *  is enabled in the attribute_set and FALSE otherwise.
    115149 */
    116150 
  • c/src/exec/rtems/inline/rtems/rtems/dpmem.inl

    r8e76546 r1a8fde6c  
    2323 *  _Dual_ported_memory_Allocate
    2424 *
     25 *  DESCRIPTION:
     26 *
     27 *  This routine allocates a port control block from the inactive chain
     28 *  of free port control blocks.
    2529 */
    2630
     
    3640 *  _Dual_ported_memory_Free
    3741 *
     42 *  DESCRIPTION:
     43 *
     44 *  This routine frees a port control block to the inactive chain
     45 *  of free port control blocks.
    3846 */
    3947
     
    4957 *  _Dual_ported_memory_Get
    5058 *
     59 *  DESCRIPTION:
     60 *
     61 *  This function maps port IDs to port control blocks.  If ID
     62 *  corresponds to a local port, then it returns the_port control
     63 *  pointer which maps to ID and location is set to OBJECTS_LOCAL.
     64 *  Global ports are not supported, thus if ID  does not map to a
     65 *  local port, location is set to OBJECTS_ERROR and the_port is
     66 *  undefined.
    5167 */
    5268
     
    6379 *
    6480 *  _Dual_ported_memory_Is_null
     81 *
     82 *  DESCRIPTION:
     83 *
     84 *  This function returns TRUE if the_port is NULL and FALSE otherwise.
    6585 */
    6686
  • c/src/exec/rtems/inline/rtems/rtems/event.inl

    r8e76546 r1a8fde6c  
    2020/*
    2121 *  Event_Manager_initialization
     22 *
     23 *  DESCRIPTION:
     24 *
     25 *  This routine performs the initialization necessary for this manager.
    2226 */
    2327
  • c/src/exec/rtems/inline/rtems/rtems/eventset.inl

    r8e76546 r1a8fde6c  
    2020 *
    2121 *  _Event_sets_Is_empty
     22 *
     23 *  DESCRIPTION:
     24 *
     25 *  This function returns TRUE if on events are posted in the event_set,
     26 *  and FALSE otherwise.
    2227 */
    2328
     
    3237 *
    3338 *  _Event_sets_Post
     39 *
     40 *  DESCRIPTION:
     41 *
     42 *  This routine posts the given new_events into the event_set
     43 *  passed in.  The result is returned to the user in event_set.
    3444 */
    3545
     
    4555 *
    4656 *  _Event_sets_Get
     57 *
     58 *  DESCRIPTION:
     59 *
     60 *  This function returns the events in event_condition which are
     61 *  set in event_set.
    4762 */
    4863
     
    5873 *
    5974 *  _Event_sets_Clear
     75 *
     76 *  DESCRIPTION:
     77 *
     78 *  This function removes the events in mask from the event_set
     79 *  passed in.  The result is returned to the user in event_set.
    6080 */
    6181
  • c/src/exec/rtems/inline/rtems/rtems/message.inl

    r8e76546 r1a8fde6c  
    2424 *  _Message_queue_Is_null
    2525 *
     26 *  DESCRIPTION:
     27 *
     28 *  This function places the_message at the rear of the outstanding
     29 *  messages on the_message_queue.
    2630 */
    2731
     
    3842 *  _Message_queue_Free
    3943 *
     44 *  DESCRIPTION:
     45 *
     46 *  This routine deallocates a message queue control block into
     47 *  the inactive chain of free message queue control blocks.
    4048 */
    4149
     
    5159 *  _Message_queue_Get
    5260 *
     61 *  DESCRIPTION:
     62 *
     63 *  This function maps message queue IDs to message queue control
     64 *  blocks.  If ID corresponds to a local message queue, then it
     65 *  returns the_message_queue control pointer which maps to ID
     66 *  and location is set to OBJECTS_LOCAL.  If the message queue ID is
     67 *  global and resides on a remote node, then location is set
     68 *  to OBJECTS_REMOTE, and the_message_queue is undefined.
     69 *  Otherwise, location is set to OBJECTS_ERROR and
     70 *  the_message_queue is undefined.
    5371 */
    5472
  • c/src/exec/rtems/inline/rtems/rtems/modes.inl

    r8e76546 r1a8fde6c  
    2020/*PAGE
    2121 *
    22  *  RTEMS_INTERRUPT_LEVEL
    23  */
    24 
    25 STATIC INLINE unsigned32 RTEMS_INTERRUPT_LEVEL (
    26   Modes_Control mode_set
    27 )
    28 {
    29   return mode_set & RTEMS_INTERRUPT_MASK;
    30 }
    31 
    32 /*PAGE
    33  *
    3422 *  _Modes_Mask_changed
    3523 *
     24 *  DESCRIPTION:
     25 *
     26 *  This function returns TRUE if any of the mode flags in mask
     27 *  are set in mode_set, and FALSE otherwise.
    3628 */
    3729
     
    4840 *  _Modes_Is_asr_disabled
    4941 *
     42 *  DESCRIPTION:
     43 *
     44 *  This function returns TRUE if mode_set indicates that Asynchronous
     45 *  Signal Processing is disabled, and FALSE otherwise.
    5046 */
    5147
     
    6157 *  _Modes_Is_preempt
    6258 *
     59 *  DESCRIPTION:
     60 *
     61 *  This function returns TRUE if mode_set indicates that preemption
     62 *  is enabled, and FALSE otherwise.
    6363 */
    6464
     
    7474 *  _Modes_Is_timeslice
    7575 *
     76 *  DESCRIPTION:
     77 *
     78 *  This function returns TRUE if mode_set indicates that timeslicing
     79 *  is enabled, and FALSE otherwise.
    7680 */
    7781
     
    8791 *  _Modes_Get_interrupt_level
    8892 *
     93 *  DESCRIPTION:
     94 *
     95 *  This function returns the interrupt level portion of the mode_set.
    8996 */
    9097
     
    100107 *  _Modes_Set_interrupt_level
    101108 *
     109 *  DESCRIPTION:
     110 *
     111 *  This routine sets the current interrupt level to that specified
     112 *  in the mode_set.
    102113 */
    103114
     
    113124 *  _Modes_Change
    114125 *
     126 *  DESCRIPTION:
     127 *
     128 *  This routine changes the modes in old_mode_set indicated by
     129 *  mask to the requested values in new_mode_set.  The resulting
     130 *  mode set is returned in out_mode_set and the modes that changed
     131 *  is returned in changed.
    115132 */
    116133
  • c/src/exec/rtems/inline/rtems/rtems/options.inl

    r8e76546 r1a8fde6c  
    2222 *  _Options_Is_no_wait
    2323 *
     24 *  DESCRIPTION:
     25 *
     26 *  This function returns TRUE if the RTEMS_NO_WAIT option is enabled in
     27 *  option_set, and FALSE otherwise.
    2428 */
    2529
     
    3539 *  _Options_Is_any
    3640 *
     41 *  DESCRIPTION:
     42 *
     43 *  This function returns TRUE if the RTEMS_EVENT_ANY option is enabled in
     44 *  OPTION_SET, and FALSE otherwise.
    3745 */
    3846
  • c/src/exec/rtems/inline/rtems/rtems/part.inl

    r8e76546 r1a8fde6c  
    2222 *  _Partition_Allocate_buffer
    2323 *
     24 *  DESCRIPTION:
     25 *
     26 *  This function attempts to allocate a buffer from the_partition.
     27 *  If successful, it returns the address of the allocated buffer.
     28 *  Otherwise, it returns NULL.
    2429 */
    2530
     
    3540 *  _Partition_Free_buffer
    3641 *
     42 *  DESCRIPTION:
     43 *
     44 *  This routine frees the_buffer to the_partition.
    3745 */
    3846
     
    4957 *  _Partition_Is_buffer_on_boundary
    5058 *
     59 *  DESCRIPTION:
     60 *
     61 *  This function returns TRUE if the_buffer is on a valid buffer
     62 *  boundary for the_partition, and FALSE otherwise.
    5163 */
    5264
     
    7082 *  _Partition_Is_buffer_valid
    7183 *
     84 *  DESCRIPTION:
     85 *
     86 *  This function returns TRUE if the_buffer is a valid buffer from
     87 *  the_partition, otherwise FALSE is returned.
    7288 */
    7389
     
    93109 *  _Partition_Is_buffer_size_aligned
    94110 *
     111 *  DESCRIPTION:
     112 *
     113 *  This function returns TRUE if the use of the specified buffer_size
     114 *  will result in the allocation of buffers whose first byte is
     115 *  properly aligned, and FALSE otherwise.
    95116 */
    96117
     
    106127 *  _Partition_Allocate
    107128 *
     129 *  DESCRIPTION:
     130 *
     131 *  This function allocates a partition control block from
     132 *  the inactive chain of free partition control blocks.
    108133 */
    109134
     
    117142 *  _Partition_Free
    118143 *
     144 *  DESCRIPTION:
     145 *
     146 *  This routine frees a partition control block to the
     147 *  inactive chain of free partition control blocks.
    119148 */
    120149
     
    130159 *  _Partition_Get
    131160 *
     161 *  DESCRIPTION:
     162 *
     163 *  This function maps partition IDs to partition control blocks.
     164 *  If ID corresponds to a local partition, then it returns
     165 *  the_partition control pointer which maps to ID and location
     166 *  is set to OBJECTS_LOCAL.  If the partition ID is global and
     167 *  resides on a remote node, then location is set to OBJECTS_REMOTE,
     168 *  and the_partition is undefined.  Otherwise, location is set
     169 *  to OBJECTS_ERROR and the_partition is undefined.
    132170 */
    133171
     
    145183 *  _Partition_Is_null
    146184 *
     185 *  DESCRIPTION:
     186 *
     187 *  This function returns TRUE if the_partition is NULL
     188 *  and FALSE otherwise.
    147189 */
    148190
  • c/src/exec/rtems/inline/rtems/rtems/ratemon.inl

    r8e76546 r1a8fde6c  
    2222 *  _Rate_monotonic_Allocate
    2323 *
     24 *  DESCRIPTION:
     25 *
     26 *  This function allocates a period control block from
     27 *  the inactive chain of free period control blocks.
    2428 */
    2529
     
    3438 *  _Rate_monotonic_Free
    3539 *
     40 *  DESCRIPTION:
     41 *
     42 *  This routine allocates a period control block from
     43 *  the inactive chain of free period control blocks.
    3644 */
    3745
     
    4755 *  _Rate_monotonic_Get
    4856 *
     57 *  DESCRIPTION:
     58 *
     59 *  This function maps period IDs to period control blocks.
     60 *  If ID corresponds to a local period, then it returns
     61 *  the_period control pointer which maps to ID and location
     62 *  is set to OBJECTS_LOCAL.  Otherwise, location is set
     63 *  to OBJECTS_ERROR and the_period is undefined.
    4964 */
    5065
     
    6277 *  _Rate_monotonic_Is_active
    6378 *
     79 *  DESCRIPTION:
     80 *
     81 *  This function returns TRUE if the_period is in the ACTIVE state,
     82 *  and FALSE otherwise.
    6483 */
    6584
     
    7594 *  _Rate_monotonic_Is_inactive
    7695 *
     96 *  DESCRIPTION:
     97 *
     98 *  This function returns TRUE if the_period is in the ACTIVE state,
     99 *  and FALSE otherwise.
    77100 */
    78101
     
    88111 *  _Rate_monotonic_Is_expired
    89112 *
     113 *  DESCRIPTION:
     114 *
     115 *  This function returns TRUE if the_period is in the EXPIRED state,
     116 *  and FALSE otherwise.
    90117 */
    91118
     
    101128 *  _Rate_monotonic_Is_null
    102129 *
     130 *  DESCRIPTION:
     131 *
     132 *  This function returns TRUE if the_period is NULL and FALSE otherwise.
    103133 */
    104134
  • c/src/exec/rtems/inline/rtems/rtems/region.inl

    r8e76546 r1a8fde6c  
    2222 *  _Region_Allocate
    2323 *
     24 *  DESCRIPTION:
     25 *
     26 *  This function allocates a region control block from
     27 *  the inactive chain of free region control blocks.
    2428 */
    2529
     
    3337 *  _Region_Free
    3438 *
     39 *  DESCRIPTION:
     40 *
     41 *  This routine frees a region control block to the
     42 *  inactive chain of free region control blocks.
    3543 */
    3644
     
    4654 *  _Region_Get
    4755 *
     56 *  DESCRIPTION:
     57 *
     58 *  This function maps region IDs to region control blocks.
     59 *  If ID corresponds to a local region, then it returns
     60 *  the_region control pointer which maps to ID and location
     61 *  is set to OBJECTS_LOCAL.  Otherwise, location is set
     62 *  to OBJECTS_ERROR and the_region is undefined.
    4863 */
    4964
     
    6176 *  _Region_Allocate_segment
    6277 *
     78 *  DESCRIPTION:
     79 *
     80 *  This function attempts to allocate a segment from the_region.
     81 *  If successful, it returns the address of the allocated segment.
     82 *  Otherwise, it returns NULL.
    6383 */
    6484
     
    7595 *  _Region_Free_segment
    7696 *
     97 *  DESCRIPTION:
     98 *
     99 *  This function frees the_segment to the_region.
    77100 */
    78101
     
    89112 *  _Region_Is_null
    90113 *
     114 *  DESCRIPTION:
     115 *
     116 *  This function returns TRUE if the_region is NULL and FALSE otherwise.
    91117 */
    92118
  • c/src/exec/rtems/inline/rtems/rtems/sem.inl

    r8e76546 r1a8fde6c  
    2222 *  _Semaphore_Allocate
    2323 *
     24 *  DESCRIPTION:
     25 *
     26 *  This function allocates a semaphore control block from
     27 *  the inactive chain of free semaphore control blocks.
    2428 */
    2529
     
    3337 *  _Semaphore_Free
    3438 *
     39 *  DESCRIPTION:
     40 *
     41 *  This routine frees a semaphore control block to the
     42 *  inactive chain of free semaphore control blocks.
    3543 */
    3644
     
    4654 *  _Semaphore_Get
    4755 *
     56 *  DESCRIPTION:
     57 *
     58 *  This function maps semaphore IDs to semaphore control blocks.
     59 *  If ID corresponds to a local semaphore, then it returns
     60 *  the_semaphore control pointer which maps to ID and location
     61 *  is set to OBJECTS_LOCAL.  if the semaphore ID is global and
     62 *  resides on a remote node, then location is set to OBJECTS_REMOTE,
     63 *  and the_semaphore is undefined.  Otherwise, location is set
     64 *  to OBJECTS_ERROR and the_semaphore is undefined.
    4865 */
    4966
     
    6178 *  _Semaphore_Is_null
    6279 *
     80 *  DESCRIPTION:
     81 *
     82 *  This function returns TRUE if the_semaphore is NULL and FALSE otherwise.
    6383 */
    6484
  • c/src/exec/rtems/inline/rtems/rtems/status.inl

    r8e76546 r1a8fde6c  
    2222 *  rtems_is_status_successful
    2323 *
     24 *  DESCRIPTION:
     25 *
     26 *  This function returns TRUE if the status code is equal to RTEMS_SUCCESSFUL,
     27 *  and FALSE otherwise.
    2428 */
    2529
     
    3539 *  rtems_are_statuses_equal
    3640 *
     41 *  DESCRIPTION:
     42 *
     43 *  This function returns TRUE if the status code1 is equal to code2,
     44 *  and FALSE otherwise.
    3745 */
    3846
  • c/src/exec/rtems/inline/rtems/rtems/support.inl

    r8e76546 r1a8fde6c  
    2222 *  rtems_is_name_valid
    2323 *
     24 *  DESCRIPTION:
     25 *
     26 *  This function returns TRUE if the name is valid, and FALSE otherwise.
    2427 */
    2528
     
    3538 *  rtems_name_to_characters
    3639 *
     40 *  DESCRIPTION:
     41 *
     42 *  This function breaks the object name into the four component
     43 *  characters C1, C2, C3, and C4.
    3744 */
    3845
  • c/src/exec/rtems/inline/rtems/rtems/tasks.inl

    r8e76546 r1a8fde6c  
    2222 *  _RTEMS_tasks_Allocate
    2323 *
     24 *  DESCRIPTION:
     25 *
     26 *  This function allocates a task control block from
     27 *  the inactive chain of free task control blocks.
    2428 */
    2529
     
    3337 *  _RTEMS_tasks_Free
    3438 *
     39 *  DESCRIPTION:
     40 *
     41 *  This routine frees a task control block to the
     42 *  inactive chain of free task control blocks.
    3543 */
    3644
     
    4856 *
    4957 *  _RTEMS_tasks_Priority_to_Core
     58 *
     59 *  DESCRIPTION:
     60 *
     61 *  This function converts an RTEMS API priority into a core priority.
    5062 */
    5163 
     
    6173 *  _RTEMS_tasks_Priority_is_valid
    6274 *
     75 *  DESCRIPTION:
     76 *
     77 *  This function returns TRUE if the_priority is a valid user task priority
     78 *  and FALSE otherwise.
    6379 */
    6480 
  • c/src/exec/rtems/inline/rtems/rtems/timer.inl

    r8e76546 r1a8fde6c  
    2222 *  _Timer_Allocate
    2323 *
     24 *  DESCRIPTION:
     25 *
     26 *  This function allocates a timer control block from
     27 *  the inactive chain of free timer control blocks.
    2428 */
    2529
     
    3337 *  _Timer_Free
    3438 *
     39 *  DESCRIPTION:
     40 *
     41 *  This routine frees a timer control block to the
     42 *  inactive chain of free timer control blocks.
    3543 */
    3644
     
    4654 *  _Timer_Get
    4755 *
     56 *  DESCRIPTION:
     57 *
     58 *  This function maps timer IDs to timer control blocks.
     59 *  If ID corresponds to a local timer, then it returns
     60 *  the timer control pointer which maps to ID and location
     61 *  is set to OBJECTS_LOCAL.  Otherwise, location is set
     62 *  to OBJECTS_ERROR and the returned value is undefined.
    4863 */
    4964
     
    6176 *  _Timer_Is_interval_class
    6277 *
     78 *  DESCRIPTION:
     79 *
     80 *  This function returns TRUE if the class is that of an INTERVAL
     81 *  timer, and FALSE otherwise.
    6382 */
    6483
     
    7493 *  _Timer_Is_time_of_day_class
    7594 *
     95 *  DESCRIPTION:
     96 *
     97 *  This function returns TRUE if the class is that of an INTERVAL
     98 *  timer, and FALSE otherwise.
    7699 */
    77100
     
    87110 *  _Timer_Is_dormant_class
    88111 *
     112 *  DESCRIPTION:
     113 *
     114 *  This function returns TRUE if the class is that of a DORMANT
     115 *  timer, and FALSE otherwise.
    89116 */
    90117
     
    100127 *  _Timer_Is_null
    101128 *
     129 *  DESCRIPTION:
     130 *
     131 *  This function returns TRUE if the_timer is NULL and FALSE otherwise.
    102132 */
    103133
  • c/src/exec/rtems/inline/sem.inl

    r8e76546 r1a8fde6c  
    2222 *  _Semaphore_Allocate
    2323 *
     24 *  DESCRIPTION:
     25 *
     26 *  This function allocates a semaphore control block from
     27 *  the inactive chain of free semaphore control blocks.
    2428 */
    2529
     
    3337 *  _Semaphore_Free
    3438 *
     39 *  DESCRIPTION:
     40 *
     41 *  This routine frees a semaphore control block to the
     42 *  inactive chain of free semaphore control blocks.
    3543 */
    3644
     
    4654 *  _Semaphore_Get
    4755 *
     56 *  DESCRIPTION:
     57 *
     58 *  This function maps semaphore IDs to semaphore control blocks.
     59 *  If ID corresponds to a local semaphore, then it returns
     60 *  the_semaphore control pointer which maps to ID and location
     61 *  is set to OBJECTS_LOCAL.  if the semaphore ID is global and
     62 *  resides on a remote node, then location is set to OBJECTS_REMOTE,
     63 *  and the_semaphore is undefined.  Otherwise, location is set
     64 *  to OBJECTS_ERROR and the_semaphore is undefined.
    4865 */
    4966
     
    6178 *  _Semaphore_Is_null
    6279 *
     80 *  DESCRIPTION:
     81 *
     82 *  This function returns TRUE if the_semaphore is NULL and FALSE otherwise.
    6383 */
    6484
  • c/src/exec/rtems/inline/status.inl

    r8e76546 r1a8fde6c  
    2222 *  rtems_is_status_successful
    2323 *
     24 *  DESCRIPTION:
     25 *
     26 *  This function returns TRUE if the status code is equal to RTEMS_SUCCESSFUL,
     27 *  and FALSE otherwise.
    2428 */
    2529
     
    3539 *  rtems_are_statuses_equal
    3640 *
     41 *  DESCRIPTION:
     42 *
     43 *  This function returns TRUE if the status code1 is equal to code2,
     44 *  and FALSE otherwise.
    3745 */
    3846
  • c/src/exec/rtems/inline/support.inl

    r8e76546 r1a8fde6c  
    2222 *  rtems_is_name_valid
    2323 *
     24 *  DESCRIPTION:
     25 *
     26 *  This function returns TRUE if the name is valid, and FALSE otherwise.
    2427 */
    2528
     
    3538 *  rtems_name_to_characters
    3639 *
     40 *  DESCRIPTION:
     41 *
     42 *  This function breaks the object name into the four component
     43 *  characters C1, C2, C3, and C4.
    3744 */
    3845
  • c/src/exec/rtems/inline/tasks.inl

    r8e76546 r1a8fde6c  
    2222 *  _RTEMS_tasks_Allocate
    2323 *
     24 *  DESCRIPTION:
     25 *
     26 *  This function allocates a task control block from
     27 *  the inactive chain of free task control blocks.
    2428 */
    2529
     
    3337 *  _RTEMS_tasks_Free
    3438 *
     39 *  DESCRIPTION:
     40 *
     41 *  This routine frees a task control block to the
     42 *  inactive chain of free task control blocks.
    3543 */
    3644
     
    4856 *
    4957 *  _RTEMS_tasks_Priority_to_Core
     58 *
     59 *  DESCRIPTION:
     60 *
     61 *  This function converts an RTEMS API priority into a core priority.
    5062 */
    5163 
     
    6173 *  _RTEMS_tasks_Priority_is_valid
    6274 *
     75 *  DESCRIPTION:
     76 *
     77 *  This function returns TRUE if the_priority is a valid user task priority
     78 *  and FALSE otherwise.
    6379 */
    6480 
  • c/src/exec/rtems/inline/timer.inl

    r8e76546 r1a8fde6c  
    2222 *  _Timer_Allocate
    2323 *
     24 *  DESCRIPTION:
     25 *
     26 *  This function allocates a timer control block from
     27 *  the inactive chain of free timer control blocks.
    2428 */
    2529
     
    3337 *  _Timer_Free
    3438 *
     39 *  DESCRIPTION:
     40 *
     41 *  This routine frees a timer control block to the
     42 *  inactive chain of free timer control blocks.
    3543 */
    3644
     
    4654 *  _Timer_Get
    4755 *
     56 *  DESCRIPTION:
     57 *
     58 *  This function maps timer IDs to timer control blocks.
     59 *  If ID corresponds to a local timer, then it returns
     60 *  the timer control pointer which maps to ID and location
     61 *  is set to OBJECTS_LOCAL.  Otherwise, location is set
     62 *  to OBJECTS_ERROR and the returned value is undefined.
    4863 */
    4964
     
    6176 *  _Timer_Is_interval_class
    6277 *
     78 *  DESCRIPTION:
     79 *
     80 *  This function returns TRUE if the class is that of an INTERVAL
     81 *  timer, and FALSE otherwise.
    6382 */
    6483
     
    7493 *  _Timer_Is_time_of_day_class
    7594 *
     95 *  DESCRIPTION:
     96 *
     97 *  This function returns TRUE if the class is that of an INTERVAL
     98 *  timer, and FALSE otherwise.
    7699 */
    77100
     
    87110 *  _Timer_Is_dormant_class
    88111 *
     112 *  DESCRIPTION:
     113 *
     114 *  This function returns TRUE if the class is that of a DORMANT
     115 *  timer, and FALSE otherwise.
    89116 */
    90117
     
    100127 *  _Timer_Is_null
    101128 *
     129 *  DESCRIPTION:
     130 *
     131 *  This function returns TRUE if the_timer is NULL and FALSE otherwise.
    102132 */
    103133
  • c/src/exec/rtems/macros/modes.inl

    r8e76546 r1a8fde6c  
    1717#ifndef __MODES_inl
    1818#define __MODES_inl
    19 
    20 /*PAGE
    21  *
    22  *  RTEMS_INTERRUPT_LEVEL
    23  */
    24 
    25 #define RTEMS_INTERRUPT_LEVEL( _mode_set ) \
    26   ( (_mode_set) & RTEMS_INTERRUPT_MASK )
    2719
    2820/*PAGE
  • c/src/exec/rtems/macros/rtems/rtems/modes.inl

    r8e76546 r1a8fde6c  
    1717#ifndef __MODES_inl
    1818#define __MODES_inl
    19 
    20 /*PAGE
    21  *
    22  *  RTEMS_INTERRUPT_LEVEL
    23  */
    24 
    25 #define RTEMS_INTERRUPT_LEVEL( _mode_set ) \
    26   ( (_mode_set) & RTEMS_INTERRUPT_MASK )
    2719
    2820/*PAGE
  • c/src/exec/sapi/headers/extension.h

    r8e76546 r1a8fde6c  
    125125);
    126126
    127 /*
    128  *  _Extension_Allocate
    129  *
    130  *  DESCRIPTION:
    131  *
    132  *  This function allocates a extension control block from
    133  *  the inactive chain of free extension control blocks.
    134  */
    135 
    136 STATIC INLINE Extension_Control *_Extension_Allocate( void );
    137 
    138 /*
    139  *  _Extension_Free
    140  *
    141  *  DESCRIPTION:
    142  *
    143  *  This routine frees a extension control block to the
    144  *  inactive chain of free extension control blocks.
    145  */
    146 
    147 STATIC INLINE void _Extension_Free (
    148   Extension_Control *the_extension
    149 );
    150 
    151 /*
    152  *  _Extension_Get
    153  *
    154  *  DESCRIPTION:
    155  *
    156  *  This function maps extension IDs to extension control blocks.
    157  *  If ID corresponds to a local extension, then it returns
    158  *  the extension control pointer which maps to ID and location
    159  *  is set to OBJECTS_LOCAL.  Otherwise, location is set
    160  *  to OBJECTS_ERROR and the returned value is undefined.
    161  */
    162 
    163 STATIC INLINE Extension_Control *_Extension_Get (
    164   Objects_Id         id,
    165   Objects_Locations *location
    166 );
    167 
    168 /*
    169  *  _Extension_Is_null
    170  *
    171  *  DESCRIPTION:
    172  *
    173  *  This function returns TRUE if the_extension is NULL and FALSE otherwise.
    174  */
    175 
    176 STATIC INLINE boolean _Extension_Is_null(
    177   Extension_Control *the_extension
    178 );
    179 
     127#ifndef __RTEMS_APPLICATION__
    180128#include <rtems/extension.inl>
     129#endif
    181130
    182131#ifdef __cplusplus
  • c/src/exec/sapi/include/rtems/extension.h

    r8e76546 r1a8fde6c  
    125125);
    126126
    127 /*
    128  *  _Extension_Allocate
    129  *
    130  *  DESCRIPTION:
    131  *
    132  *  This function allocates a extension control block from
    133  *  the inactive chain of free extension control blocks.
    134  */
    135 
    136 STATIC INLINE Extension_Control *_Extension_Allocate( void );
    137 
    138 /*
    139  *  _Extension_Free
    140  *
    141  *  DESCRIPTION:
    142  *
    143  *  This routine frees a extension control block to the
    144  *  inactive chain of free extension control blocks.
    145  */
    146 
    147 STATIC INLINE void _Extension_Free (
    148   Extension_Control *the_extension
    149 );
    150 
    151 /*
    152  *  _Extension_Get
    153  *
    154  *  DESCRIPTION:
    155  *
    156  *  This function maps extension IDs to extension control blocks.
    157  *  If ID corresponds to a local extension, then it returns
    158  *  the extension control pointer which maps to ID and location
    159  *  is set to OBJECTS_LOCAL.  Otherwise, location is set
    160  *  to OBJECTS_ERROR and the returned value is undefined.
    161  */
    162 
    163 STATIC INLINE Extension_Control *_Extension_Get (
    164   Objects_Id         id,
    165   Objects_Locations *location
    166 );
    167 
    168 /*
    169  *  _Extension_Is_null
    170  *
    171  *  DESCRIPTION:
    172  *
    173  *  This function returns TRUE if the_extension is NULL and FALSE otherwise.
    174  */
    175 
    176 STATIC INLINE boolean _Extension_Is_null(
    177   Extension_Control *the_extension
    178 );
    179 
     127#ifndef __RTEMS_APPLICATION__
    180128#include <rtems/extension.inl>
     129#endif
    181130
    182131#ifdef __cplusplus
  • c/src/exec/sapi/inline/extension.inl

    r8e76546 r1a8fde6c  
    2222 *  _Extension_Allocate
    2323 *
     24 *  DESCRIPTION:
     25 *
     26 *  This function allocates a extension control block from
     27 *  the inactive chain of free extension control blocks.
    2428 */
    2529
     
    3337 *  _Extension_Free
    3438 *
     39 *  DESCRIPTION:
     40 *
     41 *  This routine frees a extension control block to the
     42 *  inactive chain of free extension control blocks.
    3543 */
    3644
     
    4654 *  _Extension_Get
    4755 *
     56 *  DESCRIPTION:
     57 *
     58 *  This function maps extension IDs to extension control blocks.
     59 *  If ID corresponds to a local extension, then it returns
     60 *  the extension control pointer which maps to ID and location
     61 *  is set to OBJECTS_LOCAL.  Otherwise, location is set
     62 *  to OBJECTS_ERROR and the returned value is undefined.
    4863 */
    4964
     
    6176 *  _Extension_Is_null
    6277 *
     78 *  DESCRIPTION:
     79 *
     80 *  This function returns TRUE if the_extension is NULL and FALSE otherwise.
    6381 */
    6482
  • c/src/exec/sapi/inline/rtems/extension.inl

    r8e76546 r1a8fde6c  
    2222 *  _Extension_Allocate
    2323 *
     24 *  DESCRIPTION:
     25 *
     26 *  This function allocates a extension control block from
     27 *  the inactive chain of free extension control blocks.
    2428 */
    2529
     
    3337 *  _Extension_Free
    3438 *
     39 *  DESCRIPTION:
     40 *
     41 *  This routine frees a extension control block to the
     42 *  inactive chain of free extension control blocks.
    3543 */
    3644
     
    4654 *  _Extension_Get
    4755 *
     56 *  DESCRIPTION:
     57 *
     58 *  This function maps extension IDs to extension control blocks.
     59 *  If ID corresponds to a local extension, then it returns
     60 *  the extension control pointer which maps to ID and location
     61 *  is set to OBJECTS_LOCAL.  Otherwise, location is set
     62 *  to OBJECTS_ERROR and the returned value is undefined.
    4863 */
    4964
     
    6176 *  _Extension_Is_null
    6277 *
     78 *  DESCRIPTION:
     79 *
     80 *  This function returns TRUE if the_extension is NULL and FALSE otherwise.
    6381 */
    6482
  • c/src/exec/score/headers/address.h

    r8e76546 r1a8fde6c  
    2222#endif
    2323
    24 /*
    25  *  _Addresses_Add_offset
    26  *
    27  *  DESCRIPTION:
    28  *
    29  *  This function is used to add an offset to a base address.
    30  *  It returns the resulting address.  This address is typically
    31  *  converted to an access type before being used further.
    32  */
    33 
    34 STATIC INLINE void *_Addresses_Add_offset (
    35   void       *base,
    36   unsigned32  offset
    37 );
    38 
    39 /*
    40  *  _Addresses_Subtract_offset
    41  *
    42  *  DESCRIPTION:
    43  *
    44  *  This function is used to subtract an offset from a base
    45  *  address.  It returns the resulting address.  This address is
    46  *  typically converted to an access type before being used further.
    47  */
    48 
    49 STATIC INLINE void *_Addresses_Subtract_offset(
    50   void       *base,
    51   unsigned32  offset
    52 );
    53 
    54 /*
    55  *  _Addresses_Subtract
    56  *
    57  *  DESCRIPTION:
    58  *
    59  *  This function is used to subtract two addresses.  It returns the
    60  *  resulting offset.
    61  */
    62 
    63 STATIC INLINE unsigned32 _Addresses_Subtract (
    64   void *left,
    65   void *right
    66 );
    67 
    68 /*
    69  *  _Addresses_Is_aligned
    70  *
    71  *  DESCRIPTION:
    72  *
    73  *  This function returns TRUE if the given address is correctly
    74  *  aligned for this processor and FALSE otherwise.  Proper alignment
    75  *  is based on correctness and efficiency.
    76  */
    77 
    78 STATIC INLINE boolean _Addresses_Is_aligned (
    79   void *address
    80 );
    81 
    82 /*
    83  *  _Addresses_Is_in_range
    84  *
    85  *  DESCRIPTION:
    86  *
    87  *  This function returns TRUE if the given address is within the
    88  *  memory range specified and FALSE otherwise.  base is the address
    89  *  of the first byte in the memory range and limit is the address
    90  *  of the last byte in the memory range.  The base address is
    91  *  assumed to be lower than the limit address.
    92  */
    93 
    94 STATIC INLINE boolean _Addresses_Is_in_range (
    95   void *address,
    96   void *base,
    97   void *limit
    98 );
    99 
     24#ifndef __RTEMS_APPLICATION__
    10025#include <rtems/score/address.inl>
     26#endif
    10127
    10228#ifdef __cplusplus
  • c/src/exec/score/headers/chain.h

    r8e76546 r1a8fde6c  
    8585
    8686/*
    87  *  _Chain_Initialize_empty
    88  *
    89  *  DESCRIPTION:
    90  *
    91  *  This routine initializes the specified chain to contain zero nodes.
    92  *
    93  */
    94 
    95 STATIC INLINE void _Chain_Initialize_empty(
    96   Chain_Control *the_chain
    97 );
    98 
    99 /*
    100  *  _Chain_Are_nodes_equal
    101  *
    102  *  DESCRIPTION:
    103  *
    104  *  This function returns TRUE if LEFT and RIGHT are equal,
    105  *  and FALSE otherwise.
    106  *
    107  */
    108 
    109 STATIC INLINE boolean _Chain_Are_nodes_equal(
    110   Chain_Node *left,
    111   Chain_Node *right
    112 );
    113 
    114 /*
    115  *  _Chain_Extract_unprotected
    116  *
    117  *  DESCRIPTION:
    118  *
    119  *  This routine extracts the_node from the chain on which it resides.
    120  *  It does NOT disable interrupts to insure the atomicity of the
    121  *  extract operation.
    122  *
    123  */
    124 
    125 STATIC INLINE void _Chain_Extract_unprotected(
    126   Chain_Node *the_node
    127 );
    128 
    129 /*
    13087 *  _Chain_Extract
    13188 *
     
    14097void _Chain_Extract(
    14198  Chain_Node *the_node
    142 );
    143 
    144 /*
    145  *  _Chain_Get_unprotected
    146  *
    147  *  DESCRIPTION:
    148  *
    149  *  This function removes the first node from the_chain and returns
    150  *  a pointer to that node.  If the_chain is empty, then NULL is returned.
    151  *  It does NOT disable interrupts to insure the atomicity of the
    152  *  get operation.
    153  *
    154  */
    155 
    156 STATIC INLINE Chain_Node *_Chain_Get_unprotected(
    157   Chain_Control *the_chain
    15899);
    159100
     
    175116
    176117/*
    177  *  _Chain_Get_first_unprotected
    178  *
    179  *  DESCRIPTION:
    180  *
    181  *  This function removes the first node from the_chain and returns
    182  *  a pointer to that node.  It does NOT disable interrupts to insure
    183  *  the atomicity of the get operation.
    184  *
    185  */
    186 
    187 STATIC INLINE Chain_Node *_Chain_Get_first_unprotected(
    188   Chain_Control *the_chain
    189 );
    190 
    191 /*
    192  *  _Chain_Insert_unprotected
    193  *
    194  *  DESCRIPTION:
    195  *
    196  *  This routine inserts the_node on a chain immediately following
    197  *  after_node.  It does NOT disable interrupts to insure the atomicity
    198  *  of the extract operation.
    199  *
    200  */
    201 
    202 STATIC INLINE void _Chain_Insert_unprotected(
    203   Chain_Node *after_node,
    204   Chain_Node *the_node
    205 );
    206 
    207 /*
    208118 *  _Chain_Insert
    209119 *
     
    219129  Chain_Node *after_node,
    220130  Chain_Node *the_node
    221 );
    222 
    223 /*
    224  *  _Chain_Append_unprotected
    225  *
    226  *  DESCRIPTION:
    227  *
    228  *  This routine appends the_node onto the end of the_chain.
    229  *  It does NOT disable interrupts to insure the atomicity of the
    230  *  append operation.
    231  *
    232  */
    233 
    234 STATIC INLINE void _Chain_Append_unprotected(
    235   Chain_Control *the_chain,
    236   Chain_Node    *the_node
    237131);
    238132
     
    253147);
    254148
    255 /*
    256  *  _Chain_Prepend_unprotected
    257  *
    258  *  DESCRIPTION:
    259  *
    260  *  This routine prepends the_node onto the front of the_chain.
    261  *  It does NOT disable interrupts to insure the atomicity of the
    262  *  prepend operation.
    263  *
    264  */
    265 
    266 STATIC INLINE void _Chain_Prepend_unprotected(
    267   Chain_Control *the_chain,
    268   Chain_Node    *the_node
    269 );
    270 
    271 /*
    272  *  _Chain_Prepend
    273  *
    274  *  DESCRIPTION:
    275  *
    276  *  This routine prepends the_node onto the front of the_chain.
    277  *  It disables interrupts to insure the atomicity of the
    278  *  prepend operation.
    279  *
    280  */
    281 
    282 STATIC INLINE void _Chain_Prepend(
    283   Chain_Control *the_chain,
    284   Chain_Node    *the_node
    285 );
    286 
    287 /*
    288  *  _Chain_Head
    289  *
    290  *  DESCRIPTION:
    291  *
    292  *  This function returns a pointer to the first node on the chain.
    293  *
    294  */
    295 
    296 STATIC INLINE Chain_Node *_Chain_Head(
    297   Chain_Control *the_chain
    298 );
    299 
    300 /*
    301  *  _Chain_Tail
    302  *
    303  *  DESCRIPTION:
    304  *
    305  *  This function returns a pointer to the last node on the chain.
    306  *
    307  */
    308 
    309 STATIC INLINE Chain_Node *_Chain_Tail(
    310   Chain_Control *the_chain
    311 );
    312 
    313 /*
    314  *  _Chain_Is_head
    315  *
    316  *  DESCRIPTION:
    317  *
    318  *  This function returns TRUE if the_node is the head of the_chain and
    319  *  FALSE otherwise.
    320  *
    321  */
    322 
    323 STATIC INLINE boolean _Chain_Is_head(
    324   Chain_Control *the_chain,
    325   Chain_Node    *the_node
    326 );
    327 
    328 /*
    329  *  _Chain_Is_tail
    330  *
    331  *  DESCRIPTION:
    332  *
    333  *  This function returns TRUE if the_node is the tail of the_chain and
    334  *  FALSE otherwise.
    335  *
    336  */
    337 
    338 STATIC INLINE boolean _Chain_Is_tail(
    339   Chain_Control *the_chain,
    340   Chain_Node    *the_node
    341 );
    342 
    343 /*
    344  *  _Chain_Is_first
    345  *
    346  *  DESCRIPTION:
    347  *
    348  *  This function returns TRUE if the_node is the first node on a chain and
    349  *  FALSE otherwise.
    350  *
    351  */
    352 
    353 STATIC INLINE boolean _Chain_Is_first(
    354   Chain_Node *the_node
    355 );
    356 
    357 /*
    358  *  _Chain_Is_last
    359  *
    360  *  DESCRIPTION:
    361  *
    362  *  This function returns TRUE if the_node is the last node on a chain and
    363  *  FALSE otherwise.
    364  *
    365  */
    366 
    367 STATIC INLINE boolean _Chain_Is_last(
    368   Chain_Node *the_node
    369 );
    370 
    371 /*
    372  *  _Chain_Is_empty
    373  *
    374  *  DESCRIPTION:
    375  *
    376  *  This function returns TRUE if there a no nodes on the_chain and
    377  *  FALSE otherwise.
    378  *
    379  */
    380 
    381 STATIC INLINE boolean _Chain_Is_empty(
    382   Chain_Control *the_chain
    383 );
    384 
    385 /*
    386  *  _Chain_Has_only_one_node
    387  *
    388  *  DESCRIPTION:
    389  *
    390  *  This function returns TRUE if there is only one node on the_chain and
    391  *  FALSE otherwise.
    392  *
    393  */
    394 
    395 STATIC INLINE boolean _Chain_Has_only_one_node(
    396   Chain_Control *the_chain
    397 );
    398 
    399 /*
    400  *  _Chain_Is_null
    401  *
    402  *  DESCRIPTION:
    403  *
    404  *  This function returns TRUE if the_chain is NULL and FALSE otherwise.
    405  *
    406  */
    407 
    408 STATIC INLINE boolean _Chain_Is_null(
    409   Chain_Control *the_chain
    410 );
    411 
    412 /*
    413  *  _Chain_Is_null_node
    414  *
    415  *  DESCRIPTION:
    416  *
    417  *  This function returns TRUE if the_node is NULL and FALSE otherwise.
    418  *
    419  */
    420 
    421 STATIC INLINE boolean _Chain_Is_null_node(
    422   Chain_Node *the_node
    423 );
    424 
     149#ifndef __RTEMS_APPLICATION__
    425150#include <rtems/score/chain.inl>
     151#endif
    426152
    427153#ifdef __cplusplus
  • c/src/exec/score/headers/coremsg.h

    r8e76546 r1a8fde6c  
    197197 
    198198/*
    199  *  _CORE_message_queue_send
    200  *
    201  *  DESCRIPTION:
    202  *
    203  *  This routine sends a message to the end of the specified message queue.
    204  *
    205  */
    206  
    207 STATIC INLINE CORE_message_queue_Status _CORE_message_queue_Send(
    208   CORE_message_queue_Control                *the_message_queue,
    209   void                                      *buffer,
    210   unsigned32                                 size,
    211   Objects_Id                                 id,
    212   CORE_message_queue_API_mp_support_callout  api_message_queue_mp_support
    213 );
    214  
    215 /*
    216  *
    217  *  _CORE_message_queue_Urgent
    218  *
    219  *  DESCRIPTION:
    220  *
    221  *  This routine sends a message to the front of the specified message queue.
    222  *
    223  */
    224  
    225 STATIC INLINE CORE_message_queue_Status _CORE_message_queue_Urgent(
    226   CORE_message_queue_Control                *the_message_queue,
    227   void                                      *buffer,
    228   unsigned32                                 size,
    229   Objects_Id                                 id,
    230   CORE_message_queue_API_mp_support_callout  api_message_queue_mp_support
    231 );
    232 
    233 /*
    234199 *
    235200 *  _CORE_message_queue_Broadcast
     
    297262);
    298263
    299 /*
    300  *  _CORE_message_queue_Allocate_message_buffer
    301  *
    302  *  DESCRIPTION:
    303  *
    304  *  This function allocates a message buffer from the inactive
    305  *  message buffer chain.
    306  */
    307  
    308 STATIC INLINE CORE_message_queue_Buffer_control *
    309   _CORE_message_queue_Allocate_message_buffer (
    310    CORE_message_queue_Control *the_message_queue
    311 );
    312 
    313 /*
    314  *  _CORE_message_queue_Free_message_buffer
    315  *
    316  *  DESCRIPTION:
    317  *
    318  *  This routine frees a message buffer to the inactive
    319  *  message buffer chain.
    320  */
    321  
    322 STATIC INLINE void _CORE_message_queue_Free_message_buffer (
    323   CORE_message_queue_Control        *the_message_queue,
    324   CORE_message_queue_Buffer_control *the_message
    325 );
    326 
    327 /*
    328  *  _CORE_message_queue_Copy_buffer
    329  *
    330  *  DESCRIPTION:
    331  *
    332  *  This routine copies the contents of the source message buffer
    333  *  to the destination message buffer.
    334  */
    335  
    336 STATIC INLINE void _CORE_message_queue_Copy_buffer (
    337   void      *source,
    338   void      *destination,
    339   unsigned32 size
    340 );
    341 
    342 /*
    343  *  _CORE_message_queue_Get_pending_message
    344  *
    345  *  DESCRIPTION:
    346  *
    347  *  This function removes the first message from the_message_queue
    348  *  and returns a pointer to it.
    349  */
    350  
    351 STATIC INLINE
    352   CORE_message_queue_Buffer_control *_CORE_message_queue_Get_pending_message (
    353        CORE_message_queue_Control *the_message_queue
    354 );
    355  
    356 /*
    357  *  _CORE_message_queue_Is_priority
    358  *
    359  *  DESCRIPTION:
    360  *
    361  *  This function returns TRUE if the priority attribute is
    362  *  enabled in the attribute_set and FALSE otherwise.
    363  */
    364 
    365 STATIC INLINE boolean _CORE_message_queue_Is_priority(
    366   CORE_message_queue_Attributes *the_attribute
    367 );
    368 
    369 /*
    370  *  _CORE_message_queue_Append
    371  *
    372  *  DESCRIPTION:
    373  *
    374  *  This routine places the_message at the rear of the outstanding
    375  *  messages on the_message_queue.
    376  */
    377  
    378 STATIC INLINE void _CORE_message_queue_Append (
    379   CORE_message_queue_Control        *the_message_queue,
    380   CORE_message_queue_Buffer_control *the_message
    381 );
    382  
    383 /*
    384  *  _CORE_message_queue_Prepend
    385  *
    386  *  DESCRIPTION:
    387  *
    388  *  This routine places the_message at the rear of the outstanding
    389  *  messages on the_message_queue.
    390  */
    391  
    392 STATIC INLINE void _CORE_message_queue_Prepend (
    393   CORE_message_queue_Control        *the_message_queue,
    394   CORE_message_queue_Buffer_control *the_message
    395 );
    396 
    397 /*
    398  *  _CORE_message_queue_Is_null
    399  *
    400  *  DESCRIPTION:
    401  *
    402  *  This function returns TRUE if the_message_queue is TRUE and FALSE otherwise.
    403  */
    404  
    405 STATIC INLINE boolean _CORE_message_queue_Is_null (
    406   CORE_message_queue_Control *the_message_queue
    407 );
    408 
    409 /*
    410  *  _CORE_message_queue_Is_notify_enabled
    411  *
    412  *  DESCRIPTION:
    413  *
    414  *  This function returns TRUE if notification is enabled on this message
    415  *  queue and FALSE otherwise.
    416  */
    417  
    418 STATIC INLINE boolean _CORE_message_queue_Is_notify_enabled (
    419   CORE_message_queue_Control *the_message_queue
    420 );
    421 
    422 /*
    423  *  _CORE_message_queue_Set_notify
    424  *
    425  *  DESCRIPTION:
    426  *
    427  *  This routine initializes the notification information for the_message_queue.
    428  */
    429  
    430 STATIC INLINE void _CORE_message_queue_Set_notify (
    431   CORE_message_queue_Control        *the_message_queue,
    432   CORE_message_queue_Notify_Handler  the_handler,
    433   void                              *the_argument
    434 );
    435 
     264#ifndef __RTEMS_APPLICATION__
    436265#include <rtems/score/coremsg.inl>
     266#endif
    437267
    438268#ifdef __cplusplus
  • c/src/exec/score/headers/coremutex.h

    r8e76546 r1a8fde6c  
    159159);
    160160 
    161 /*
    162  *  _CORE_mutex_Is_locked
    163  *
    164  *  DESCRIPTION:
    165  *
    166  *  This routine returns TRUE if the mutex specified is locked and FALSE
    167  *  otherwise.
    168  */
    169  
    170 STATIC INLINE boolean _CORE_mutex_Is_locked(
    171   CORE_mutex_Control  *the_mutex
    172 );
    173 
    174 /*
    175  *  _CORE_mutex_Is_fifo
    176  *
    177  *  DESCRIPTION:
    178  *
    179  *  This routine returns TRUE if the mutex's wait discipline is FIFO and FALSE
    180  *  otherwise.
    181  */
    182  
    183 STATIC INLINE boolean _CORE_mutex_Is_fifo(
    184   CORE_mutex_Attributes *the_attribute
    185 );
    186 
    187 /*
    188  *  _CORE_mutex_Is_priority
    189  *
    190  *  DESCRIPTION:
    191  *
    192  *  This routine returns TRUE if the mutex's wait discipline is PRIORITY and
    193  *  FALSE otherwise.
    194  */
    195 
    196 STATIC INLINE boolean _CORE_mutex_Is_priority(
    197   CORE_mutex_Attributes *the_attribute
    198 );
    199 
    200 /*
    201  *  _CORE_mutex_Is_inherit_priority
    202  *
    203  *  DESCRIPTION:
    204  *
    205  *  This routine returns TRUE if the mutex's wait discipline is
    206  *  INHERIT_PRIORITY and FALSE otherwise.
    207  */
    208 
    209 STATIC INLINE boolean _CORE_mutex_Is_inherit_priority(
    210   CORE_mutex_Attributes *the_attribute
    211 );
    212 
    213 /*
    214  *  _CORE_mutex_Is_priority_ceiling
    215  *
    216  *  DESCRIPTION:
    217  *
    218  *  This routine returns TRUE if the mutex's wait discipline is
    219  *  PRIORITY_CEILING and FALSE otherwise.
    220  */
    221 
    222 STATIC INLINE boolean _CORE_mutex_Is_priority_ceiling(
    223   CORE_mutex_Attributes *the_attribute
    224 );
    225 
    226 /*
    227  *  _CORE_mutex_Is_nesting_allowed
    228  *
    229  *  DESCRIPTION:
    230  *
    231  *  This routine returns TRUE if the mutex allows a task to obtain a
    232  *  semaphore more than once and nest.
    233  */
    234  
    235 STATIC INLINE boolean _CORE_mutex_Is_nesting_allowed(
    236   CORE_mutex_Attributes *the_attribute
    237 );
    238 
     161#ifndef __RTEMS_APPLICATION__
    239162#include <rtems/score/coremutex.inl>
     163#endif
    240164
    241165#ifdef __cplusplus
  • c/src/exec/score/headers/coresem.h

    r8e76546 r1a8fde6c  
    144144);
    145145
    146 /*
    147  *  _CORE_semaphore_Get_count
    148  *
    149  *  DESCRIPTION:
    150  *
    151  *  This routine returns the current count associated with the semaphore.
    152  */
    153 
    154 STATIC INLINE unsigned32 _CORE_semaphore_Get_count(
    155   CORE_semaphore_Control  *the_semaphore
    156 );
    157 
    158 /*
    159  *  _CORE_semaphore_Is_priority
    160  *
    161  *  DESCRIPTION:
    162  *
    163  *  This function returns TRUE if the priority attribute is
    164  *  enabled in the attribute_set and FALSE otherwise.
    165  */
    166 
    167 STATIC INLINE boolean _CORE_semaphore_Is_priority(
    168   CORE_semaphore_Attributes *the_attribute
    169 );
    170 
     146#ifndef __RTEMS_APPLICATION__
    171147#include <rtems/score/coresem.inl>
     148#endif
    172149
    173150#ifdef __cplusplus
  • c/src/exec/score/headers/heap.h

    r8e76546 r1a8fde6c  
    215215);
    216216
    217 /*
    218  *  _Heap_Head
    219  *
    220  *  DESCRIPTION:
    221  *
    222  *  This function returns the head of the specified heap.
    223  */
    224 
    225 STATIC INLINE Heap_Block *_Heap_Head (
    226   Heap_Control *the_heap
    227 );
    228 
    229 /*
    230  *  _Heap_Tail
    231  *
    232  *  DESCRIPTION:
    233  *
    234  *  This function returns the tail of the specified heap.
    235  */
    236 
    237 STATIC INLINE Heap_Block *_Heap_Tail (
    238   Heap_Control *the_heap
    239 );
    240 
    241 /*
    242  *  _Heap_Previous_block
    243  *
    244  *  DESCRIPTION:
    245  *
    246  *  This function returns the address of the block which physically
    247  *  precedes the_block in memory.
    248  */
    249 
    250 STATIC INLINE Heap_Block *_Heap_Previous_block (
    251   Heap_Block *the_block
    252 );
    253 
    254 /*
    255  *  _Heap_Next_block
    256  *
    257  *  DESCRIPTION:
    258  *
    259  *  This function returns the address of the block which physically
    260  *  follows the_block in memory.
    261  */
    262 
    263 STATIC INLINE Heap_Block *_Heap_Next_block (
    264   Heap_Block *the_block
    265 );
    266 
    267 /*
    268  *  _Heap_Block_at
    269  *
    270  *  DESCRIPTION:
    271  *
    272  *  This function calculates and returns a block's location (address)
    273  *  in the heap based upad a base address and an offset.
    274  */
    275 
    276 STATIC INLINE Heap_Block *_Heap_Block_at(
    277   void       *base,
    278   unsigned32  offset
    279 );
    280 
    281 /*PAGE
    282  *
    283  *  _Heap_User_block_at
    284  *
    285  */
    286 
    287 STATIC INLINE Heap_Block *_Heap_User_block_at(
    288   void       *base
    289 );
    290 
    291 /*
    292  *  _Heap_Is_previous_block_free
    293  *
    294  *  DESCRIPTION:
    295  *
    296  *  This function returns TRUE if the previous block of the_block
    297  *  is free, and FALSE otherwise.
    298  */
    299 
    300 STATIC INLINE boolean _Heap_Is_previous_block_free (
    301   Heap_Block *the_block
    302 );
    303 
    304 /*
    305  *  _Heap_Is_block_free
    306  *
    307  *  DESCRIPTION:
    308  *
    309  *  This function returns TRUE if the block is free, and FALSE otherwise.
    310  */
    311 
    312 STATIC INLINE boolean _Heap_Is_block_free (
    313   Heap_Block *the_block
    314 );
    315 
    316 /*
    317  *  _Heap_Is_block_used
    318  *
    319  *  DESCRIPTION:
    320  *
    321  *  This function returns TRUE if the block is currently allocated,
    322  *  and FALSE otherwise.
    323  */
    324 
    325 STATIC INLINE boolean _Heap_Is_block_used (
    326   Heap_Block *the_block
    327 );
    328 
    329 /*
    330  *  _Heap_Block_size
    331  *
    332  *  DESCRIPTION:
    333  *
    334  *  This function returns the size of the_block in bytes.
    335  */
    336 
    337 STATIC INLINE unsigned32 _Heap_Block_size (
    338   Heap_Block *the_block
    339 );
    340 
    341 /*
    342  *  _Heap_Start_of_user_area
    343  *
    344  *  DESCRIPTION:
    345  *
    346  *  This function returns the starting address of the portion of the block
    347  *  which the user may access.
    348  */
    349 
    350 STATIC INLINE void *_Heap_Start_of_user_area (
    351   Heap_Block *the_block
    352 );
    353 
    354 /*
    355  *  _Heap_Is_block_in
    356  *
    357  *  DESCRIPTION:
    358  *
    359  *  This function returns TRUE if the_block is within the memory area
    360  *  managed by the_heap, and FALSE otherwise.
    361  */
    362 
    363 STATIC INLINE boolean _Heap_Is_block_in (
    364   Heap_Control *the_heap,
    365   Heap_Block   *the_block
    366 );
    367 
    368 
    369 /*
    370  *  _Heap_Is_page_size_valid
    371  *
    372  *  DESCRIPTION:
    373  *
    374  *  This function validates a specified heap page size.  If the page size
    375  *  is 0 or if lies outside a page size alignment boundary it is invalid
    376  *  and FALSE is returned.  Otherwise, the page size is valid and TRUE is
    377  *  returned.
    378  */
    379 
    380 STATIC INLINE boolean _Heap_Is_page_size_valid(
    381   unsigned32 page_size
    382 );
    383 
    384 /*
    385  *  _Heap_Build_flag
    386  *
    387  *  DESCRIPTION:
    388  *
    389  *  This function returns the block flag composed of size and in_use_flag.
    390  *  The flag returned is suitable for use as a back or front flag in a
    391  *  heap block.
    392  */
    393 
    394 STATIC INLINE unsigned32 _Heap_Build_flag (
    395   unsigned32 size,
    396   unsigned32 in_use_flag
    397 );
    398 
     217#ifndef __RTEMS_APPLICATION__
    399218#include <rtems/score/heap.inl>
     219#endif
    400220
    401221#ifdef __cplusplus
  • c/src/exec/score/headers/isr.h

    r8e76546 r1a8fde6c  
    142142
    143143/*
    144  *  _ISR_Is_in_progress
    145  *
    146  *  DESCRIPTION:
    147  *
    148  *  This function returns TRUE if the processor is currently servicing
    149  *  and interrupt and FALSE otherwise.   A return value of TRUE indicates
    150  *  that the caller is an interrupt service routine, NOT a thread.  The
    151  *  directives available to an interrupt service routine are restricted.
    152  */
    153 
    154 STATIC INLINE boolean _ISR_Is_in_progress( void );
    155 
    156 /*
    157144 *  _ISR_Install_vector
    158145 *
     
    190177#define _ISR_Set_level( _new_level ) \
    191178        _CPU_ISR_Set_level( _new_level )
    192 
    193 /*
    194  *  _ISR_Is_vector_number_valid
    195  *
    196  *  DESCRIPTION:
    197  *
    198  *  This function returns TRUE if the vector is a valid vector number
    199  *  for this processor and FALSE otherwise.
    200  */
    201 
    202 STATIC INLINE boolean _ISR_Is_vector_number_valid (
    203   ISR_Vector_number   vector
    204 );
    205 
    206 /*
    207  *  _ISR_Is_valid_user_handler
    208  *
    209  *  DESCRIPTION:
    210  *
    211  *  This function returns TRUE if handler is the entry point of a valid
    212  *  use interrupt service routine and FALSE otherwise.
    213  */
    214 
    215 STATIC INLINE boolean _ISR_Is_valid_user_handler (
    216   void *handler
    217 );
    218179
    219180/*
     
    254215void _ISR_Dispatch( void );
    255216
     217#ifndef __RTEMS_APPLICATION__
    256218#include <rtems/score/isr.inl>
     219#endif
    257220
    258221#ifdef __cplusplus
  • c/src/exec/score/headers/mppkt.h

    r8e76546 r1a8fde6c  
    8989#define MP_PACKET_MINIMUN_HETERO_CONVERSION  ( sizeof( MP_packet_Prefix ) / 4 )
    9090
    91 /*
    92  *  _Mp_packet_Is_valid_packet_class
    93  *
    94  *  DESCRIPTION:
    95  *
    96  *  This function returns TRUE if the the_packet_class is valid,
    97  *  and FALSE otherwise.
    98  */
    99 
    100 STATIC INLINE boolean _Mp_packet_Is_valid_packet_class (
    101   MP_packet_Classes the_packet_class
    102 );
    103 
    104 /*
    105  *  _Mp_packet_Is_null
    106  *
    107  *  DESCRIPTION:
    108  *
    109  *  This function returns TRUE if the the_packet_class is null,
    110  *  and FALSE otherwise.
    111  */
    112 
    113 STATIC INLINE boolean _Mp_packet_Is_null (
    114   MP_packet_Prefix   *the_packet
    115 );
    116 
     91#ifndef __RTEMS_APPLICATION__
    11792#include <rtems/score/mppkt.inl>
     93#endif
    11894
    11995#ifdef __cplusplus
  • c/src/exec/score/headers/object.h

    r8e76546 r1a8fde6c  
    384384 
    385385/*
    386  *  _Objects_Build_id
    387  *
    388  *  DESCRIPTION:
    389  *
    390  *  This function builds an object's id from the processor node and index
    391  *  values specified.
    392  *
    393  */
    394 
    395 STATIC INLINE Objects_Id _Objects_Build_id(
    396   Objects_Classes  the_class,
    397   unsigned32       node,
    398   unsigned32       index
    399 );
    400 
    401 /*
    402  *  _Objects_Get_class
    403  *
    404  *  DESCRIPTION:
    405  *
    406  *  This function returns the class portion of the ID.
    407  *
    408  */
    409  
    410 STATIC INLINE Objects_Classes _Objects_Get_class(
    411   Objects_Id id
    412 );
    413 
    414 /*
    415  *  _Objects_Get_node
    416  *
    417  *  DESCRIPTION:
    418  *
    419  *  This function returns the node portion of the ID.
    420  *
    421  */
    422 
    423 STATIC INLINE unsigned32 _Objects_Get_node(
    424   Objects_Id id
    425 );
    426 
    427 /*
    428  *  _Objects_Get_index
    429  *
    430  *  DESCRIPTION:
    431  *
    432  *  This function returns the index portion of the ID.
    433  *
    434  */
    435 
    436 STATIC INLINE unsigned32 _Objects_Get_index(
    437   Objects_Id id
    438 );
    439 
    440 /*
    441  *  _Objects_Is_class_valid
    442  *
    443  *  DESCRIPTION:
    444  *
    445  *  This function returns TRUE if the class is valid.
    446  *
    447  */
    448  
    449 STATIC INLINE boolean _Objects_Is_class_valid(
    450   Objects_Classes the_class
    451 );
    452 
    453 /*
    454  *  _Objects_Is_local_node
    455  *
    456  *  DESCRIPTION:
    457  *
    458  *  This function returns TRUE if the node is of the local object, and
    459  *  FALSE otherwise.
    460  *
    461  */
    462 
    463 STATIC INLINE boolean _Objects_Is_local_node(
    464   unsigned32 node
    465 );
    466 
    467 /*
    468  *  _Objects_Is_local_id
    469  *
    470  *  DESCRIPTION:
    471  *
    472  *  This function returns TRUE if the id is of a local object, and
    473  *  FALSE otherwise.
    474  *
    475  */
    476 
    477 STATIC INLINE boolean _Objects_Is_local_id(
    478   Objects_Id id
    479 );
    480 
    481 /*
    482  *  _Objects_Are_ids_equal
    483  *
    484  *  DESCRIPTION:
    485  *
    486  *  This function returns TRUE if left and right are equal,
    487  *  and FALSE otherwise.
    488  *
    489  */
    490 
    491 STATIC INLINE boolean _Objects_Are_ids_equal(
    492   Objects_Id left,
    493   Objects_Id right
    494 );
    495 
    496 /*
    497  *  _Objects_Allocate
    498  *
    499  *  DESCRIPTION:
    500  *
    501  *  This function allocates a object control block from
    502  *  the inactive chain of free object control blocks.
    503  *
    504  */
    505 
    506 STATIC INLINE Objects_Control *_Objects_Allocate(
    507   Objects_Information *information
    508 );
    509 
    510 /*
    511  *  _Objects_Free
    512  *
    513  *  DESCRIPTION:
    514  *
    515  *  This function frees a object control block to the
    516  *  inactive chain of free object control blocks.
    517  *
    518  */
    519 
    520 STATIC INLINE void _Objects_Free(
    521   Objects_Information *information,
    522   Objects_Control     *the_object
    523 );
    524 
    525 /*
    526  *  _Objects_Open
    527  *
    528  *  DESCRIPTION:
    529  *
    530  *  This function places the_object control pointer and object name
    531  *  in the Local Pointer and Local Name Tables, respectively.
    532  *
    533  */
    534 
    535 STATIC INLINE void _Objects_Open(
    536   Objects_Information *information,
    537   Objects_Control     *the_object,
    538   Objects_Name         name
    539 );
    540 
    541 /*
    542  *  _Objects_Close
    543  *
    544  *  DESCRIPTION:
    545  *
    546  *  This function removes the_object control pointer and object name
    547  *  in the Local Pointer and Local Name Tables.
    548  *
    549  */
    550 
    551 STATIC INLINE void _Objects_Close(
    552   Objects_Information *information,
    553   Objects_Control     *the_object
    554 );
     386 *  Pieces of object.inl are promoted out to the user
     387 */
    555388
    556389#include <rtems/score/object.inl>
  • c/src/exec/score/headers/objectmp.h

    r8e76546 r1a8fde6c  
    4646  unsigned32 maximum_nodes,
    4747  unsigned32 maximum_global_objects
    48 );
    49 
    50 /*
    51  *  _Objects_MP_Allocate_global_object
    52  *
    53  *  DESCRIPTION:
    54  *
    55  *  This function allocates a Global Object control block.
    56  */
    57 
    58 STATIC INLINE Objects_MP_Control *_Objects_MP_Allocate_global_object (
    59   void
    60 );
    61 
    62 /*
    63  *  _Objects_MP_Free_global_object
    64  *
    65  *  DESCRIPTION:
    66  *
    67  *  This routine deallocates a Global Object control block.
    68  */
    69 
    70 STATIC INLINE void _Objects_MP_Free_global_object (
    71   Objects_MP_Control *the_object
    72 );
    73 
    74 /*
    75  *  _Objects_MP_Is_null_global_object
    76  *
    77  *  DESCRIPTION:
    78  *
    79  *  This function returns whether the global object is NULL or not.
    80  */
    81 
    82 STATIC INLINE boolean _Objects_MP_Is_null_global_object (
    83   Objects_MP_Control *the_object
    8448);
    8549
     
    177141EXTERN Chain_Control  _Objects_MP_Inactive_global_objects;
    178142
     143#ifndef __RTEMS_APPLICATION__
    179144#include <rtems/score/objectmp.inl>
     145#endif
    180146
    181147#ifdef __cplusplus
  • c/src/exec/score/headers/priority.h

    r8e76546 r1a8fde6c  
    6868
    6969/*
    70  *  _Priority_Handler_initialization
     70 *  Priority Bitfield Manipulation Routines
    7171 *
    72  *  DESCRIPTION:
     72 *  NOTE:
    7373 *
    74  *  This routine performs the initialization necessary for this handler.
    75  */
    76 
    77 STATIC INLINE void _Priority_Handler_initialization( void );
    78 
    79 /*
    80  *  _Priority_Is_valid
    81  *
    82  *  DESCRIPTION:
    83  *
    84  *  This function returns TRUE if the_priority if valid for a
    85  *  user task, and FALSE otherwise.
    86  */
    87 
    88 STATIC INLINE boolean _Priority_Is_valid (
    89   Priority_Control the_priority
    90 );
    91 
    92 /*
    93  *  _Priority_Major
    94  *
    95  *  DESCRIPTION:
    96  *
    97  *  This function returns the major portion of the_priority.
    98  */
    99 
    100 STATIC INLINE unsigned32 _Priority_Major (
    101   Priority_Control the_priority
    102 );
    103 
    104 /*
    105  *  _Priority_Minor
    106  *
    107  *  DESCRIPTION:
    108  *
    109  *  This function returns the minor portion of the_priority.
    110  */
    111 
    112 STATIC INLINE unsigned32 _Priority_Minor (
    113   Priority_Control the_priority
    114 );
    115 
    116 /*
    117  *  _Priority_Mask
    118  *
    119  *  DESCRIPTION:
    120  *
    121  *  This function returns the mask associated with the major or minor
    122  *  number passed to it.
     74 *  These may simply be pass throughs to CPU dependent routines.
    12375 */
    12476 
    125 #if ( CPU_USE_GENERIC_BITFIELD_CODE == TRUE )
    126 
    127 STATIC INLINE unsigned32 _Priority_Mask (
    128   unsigned32 bit_number
    129 );
    130 
    131 #else
     77#if ( CPU_USE_GENERIC_BITFIELD_CODE == FALSE )
    13278
    13379#define _Priority_Mask( _bit_number ) \
    13480  _CPU_Priority_Mask( _bit_number )
    13581 
    136 #endif
    137 
    138 /*
    139  *  _Priority_Bits_index
    140  *
    141  *  DESCRIPTION:
    142  *
    143  *  This function translates the bit numbers returned by the bit scan
    144  *  of a priority bit field into something suitable for use as
    145  *  a major or minor component of a priority.
    146  */
    147  
    148 #if ( CPU_USE_GENERIC_BITFIELD_CODE == TRUE )
    149 
    150 STATIC INLINE unsigned32 _Priority_Bits_index (
    151   unsigned32 bit_number
    152 );
    153 
    154 #else
    155 
    15682#define _Priority_Bits_index( _priority ) \
    15783  _CPU_Priority_bits_index( _priority )
     
    15985#endif
    16086 
    161 /*
    162  *  _Priority_Add_to_bit_map
    163  *
    164  *  DESCRIPTION:
    165  *
    166  *  This routine uses the_priority_map to update the priority
    167  *  bit maps to indicate that a thread has been readied.
    168  */
    169 
    170 STATIC INLINE void _Priority_Add_to_bit_map (
    171   Priority_Information *the_priority_map
    172 );
    173 
    174 /*
    175  *  _Priority_Remove_from_bit_map
    176  *
    177  *  DESCRIPTION:
    178  *
    179  *  This routine uses the_priority_map to update the priority
    180  *  bit maps to indicate that a thread has been removed from the
    181  *  ready state.
    182  */
    183 
    184 STATIC INLINE void _Priority_Remove_from_bit_map (
    185   Priority_Information *the_priority_map
    186 );
    187 
    188 /*
    189  *  _Priority_Get_highest
    190  *
    191  *  DESCRIPTION:
    192  *
    193  *  This function returns the priority of the highest priority
    194  *  ready thread.
    195  */
    196 
    197 STATIC INLINE Priority_Control _Priority_Get_highest( void );
    198 
    199 /*
    200  *  _Priority_Initialize_information
    201  *
    202  *  DESCRIPTION:
    203  *
    204  *  This routine initializes the_priority_map so that it
    205  *  contains the information necessary to manage a thread
    206  *  at new_priority.
    207  */
    208 
    209 STATIC INLINE void _Priority_Initialize_information(
    210   Priority_Information *the_priority_map,
    211   Priority_Control      new_priority
    212 );
    213 
    214 /*
    215  *  _Priority_Is_group_empty
    216  *
    217  *  DESCRIPTION:
    218  *
    219  *  This function returns TRUE if the priority GROUP is empty, and
    220  *  FALSE otherwise.
    221  */
    222 
    223 STATIC INLINE boolean _Priority_Is_group_empty (
    224   Priority_Control      the_priority
    225 );
    226 
     87#ifndef __RTEMS_APPLICATION__
    22788#include <rtems/score/priority.inl>
     89#endif
    22890