Changeset 1a8fde6c in rtems for cpukit/rtems/inline


Ignore:
Timestamp:
Mar 6, 1996, 9:34:57 PM (25 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.10, 4.11, 4.8, 4.9, 5, master
Children:
e642446
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.

Location:
cpukit/rtems/inline/rtems/rtems
Files:
16 edited

Legend:

Unmodified
Added
Removed
  • cpukit/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
  • cpukit/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 
  • cpukit/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
  • cpukit/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
  • cpukit/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
  • cpukit/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
  • cpukit/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
  • cpukit/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
  • cpukit/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
  • cpukit/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
  • cpukit/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
  • cpukit/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
  • cpukit/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
  • cpukit/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
  • cpukit/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 
  • cpukit/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
Note: See TracChangeset for help on using the changeset viewer.