Changeset 067a96a in rtems


Ignore:
Timestamp:
Apr 18, 2008, 3:02:20 PM (13 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.10, 4.11, 4.9, 5, master
Children:
f9293df
Parents:
6be8a83
Message:

2008-04-18 Joel Sherrill <joel.sherrill@…>

  • rtems/include/rtems.h, rtems/include/rtems/rtems/asr.h, rtems/include/rtems/rtems/attr.h, rtems/include/rtems/rtems/barrier.h, rtems/include/rtems/rtems/barriermp.h, rtems/include/rtems/rtems/cache.h, rtems/include/rtems/rtems/clock.h, rtems/include/rtems/rtems/config.h, rtems/include/rtems/rtems/dpmem.h, rtems/include/rtems/rtems/event.h, rtems/include/rtems/rtems/eventmp.h, rtems/include/rtems/rtems/eventset.h, rtems/include/rtems/rtems/intr.h, rtems/include/rtems/rtems/message.h, rtems/include/rtems/rtems/modes.h, rtems/include/rtems/rtems/mp.h, rtems/include/rtems/rtems/msgmp.h, rtems/include/rtems/rtems/object.h, rtems/include/rtems/rtems/options.h, rtems/include/rtems/rtems/part.h, rtems/include/rtems/rtems/partmp.h, rtems/include/rtems/rtems/ratemon.h, rtems/include/rtems/rtems/region.h, rtems/include/rtems/rtems/regionmp.h, rtems/include/rtems/rtems/rtemsapi.h, rtems/include/rtems/rtems/sem.h, rtems/include/rtems/rtems/semmp.h, rtems/include/rtems/rtems/signal.h, rtems/include/rtems/rtems/signalmp.h, rtems/include/rtems/rtems/status.h, rtems/include/rtems/rtems/support.h, rtems/include/rtems/rtems/taskmp.h, rtems/include/rtems/rtems/tasks.h, rtems/include/rtems/rtems/timer.h, rtems/include/rtems/rtems/types.h, rtems/inline/rtems/rtems/asr.inl, rtems/inline/rtems/rtems/attr.inl, rtems/inline/rtems/rtems/barrier.inl, rtems/inline/rtems/rtems/dpmem.inl, rtems/inline/rtems/rtems/event.inl, rtems/inline/rtems/rtems/eventset.inl, rtems/inline/rtems/rtems/message.inl, rtems/inline/rtems/rtems/modes.inl, rtems/inline/rtems/rtems/options.inl, rtems/inline/rtems/rtems/part.inl, rtems/inline/rtems/rtems/ratemon.inl, rtems/inline/rtems/rtems/region.inl, rtems/inline/rtems/rtems/sem.inl, rtems/inline/rtems/rtems/status.inl, rtems/inline/rtems/rtems/support.inl, rtems/inline/rtems/rtems/tasks.inl, rtems/inline/rtems/rtems/timer.inl: Initial conversion of Classic API header files to Doxygen.
  • rtems/Doxyfile: New file.
Location:
cpukit
Files:
1 added
53 edited

Legend:

Unmodified
Added
Removed
  • cpukit/ChangeLog

    r6be8a83 r067a96a  
     12008-04-18      Joel Sherrill <joel.sherrill@oarcorp.com>
     2
     3        * rtems/include/rtems.h, rtems/include/rtems/rtems/asr.h,
     4        rtems/include/rtems/rtems/attr.h,
     5        rtems/include/rtems/rtems/barrier.h,
     6        rtems/include/rtems/rtems/barriermp.h,
     7        rtems/include/rtems/rtems/cache.h, rtems/include/rtems/rtems/clock.h,
     8        rtems/include/rtems/rtems/config.h,
     9        rtems/include/rtems/rtems/dpmem.h, rtems/include/rtems/rtems/event.h,
     10        rtems/include/rtems/rtems/eventmp.h,
     11        rtems/include/rtems/rtems/eventset.h,
     12        rtems/include/rtems/rtems/intr.h,
     13        rtems/include/rtems/rtems/message.h,
     14        rtems/include/rtems/rtems/modes.h, rtems/include/rtems/rtems/mp.h,
     15        rtems/include/rtems/rtems/msgmp.h,
     16        rtems/include/rtems/rtems/object.h,
     17        rtems/include/rtems/rtems/options.h,
     18        rtems/include/rtems/rtems/part.h, rtems/include/rtems/rtems/partmp.h,
     19        rtems/include/rtems/rtems/ratemon.h,
     20        rtems/include/rtems/rtems/region.h,
     21        rtems/include/rtems/rtems/regionmp.h,
     22        rtems/include/rtems/rtems/rtemsapi.h,
     23        rtems/include/rtems/rtems/sem.h, rtems/include/rtems/rtems/semmp.h,
     24        rtems/include/rtems/rtems/signal.h,
     25        rtems/include/rtems/rtems/signalmp.h,
     26        rtems/include/rtems/rtems/status.h,
     27        rtems/include/rtems/rtems/support.h,
     28        rtems/include/rtems/rtems/taskmp.h,
     29        rtems/include/rtems/rtems/tasks.h, rtems/include/rtems/rtems/timer.h,
     30        rtems/include/rtems/rtems/types.h, rtems/inline/rtems/rtems/asr.inl,
     31        rtems/inline/rtems/rtems/attr.inl,
     32        rtems/inline/rtems/rtems/barrier.inl,
     33        rtems/inline/rtems/rtems/dpmem.inl,
     34        rtems/inline/rtems/rtems/event.inl,
     35        rtems/inline/rtems/rtems/eventset.inl,
     36        rtems/inline/rtems/rtems/message.inl,
     37        rtems/inline/rtems/rtems/modes.inl,
     38        rtems/inline/rtems/rtems/options.inl,
     39        rtems/inline/rtems/rtems/part.inl,
     40        rtems/inline/rtems/rtems/ratemon.inl,
     41        rtems/inline/rtems/rtems/region.inl,
     42        rtems/inline/rtems/rtems/sem.inl,
     43        rtems/inline/rtems/rtems/status.inl,
     44        rtems/inline/rtems/rtems/support.inl,
     45        rtems/inline/rtems/rtems/tasks.inl,
     46        rtems/inline/rtems/rtems/timer.inl: Initial conversion of Classic API
     47        header files to Doxygen.
     48        * rtems/Doxyfile: New file.
     49
    1502008-04-18      Joel Sherrill <joel.sherrill@oarcorp.com>
    251
  • cpukit/rtems/include/rtems.h

    r6be8a83 r067a96a  
    11/**
    22 * @file  rtems.h
    3  */
    4  
    5 /*
     3 *
    64 *  This include file contains information about RTEMS executive that
    75 *  is required by the application and is CPU independent.  It includes
    86 *  two (2) CPU dependent files to tailor its data structures for a
    97 *  particular processor.
    10  *
    11  *  COPYRIGHT (c) 1989-2008.
     8 */
     9
     10/*  COPYRIGHT (c) 1989-2008.
    1211 *  On-Line Applications Research Corporation (OAR).
    1312 *
     
    2120#ifndef _RTEMS_H
    2221#define _RTEMS_H
     22
     23/**
     24 *  @defgroup ClassicRTEMS Classic API RTEMS Header
     25 *
     26 *  This encapsulates functionality which XXX
     27 */
     28/**@{*/
    2329
    2430#ifdef __cplusplus
     
    7379#define RTEMS_HAS_HARDWARE_FP CPU_HARDWARE_FP
    7480
    75 /*
     81/**
    7682 *  The following define the constants which may be used in name searches.
    7783 */
    78 
    7984#define RTEMS_SEARCH_ALL_NODES   OBJECTS_SEARCH_ALL_NODES
    8085#define RTEMS_SEARCH_OTHER_NODES OBJECTS_SEARCH_OTHER_NODES
     
    8287#define RTEMS_WHO_AM_I           OBJECTS_WHO_AM_I
    8388
    84 /*
     89/**
    8590 * Parameters and return id's for _Objects_Get_next
    8691 */
    87 
    8892#define RTEMS_OBJECT_ID_INITIAL_INDEX        OBJECTS_ID_INITIAL_INDEX
    8993#define RTEMS_OBJECT_ID_FINAL_INDEX          OBJECTS_ID_FINAL_INDEX
     
    9296#define RTEMS_OBJECT_ID_FINAL                OBJECTS_ID_FINAL
    9397
    94 /*
     98/**
    9599 *  The following constant defines the minimum stack size which every
    96100 *  thread must exceed.
    97101 */
    98 
    99102#define RTEMS_MINIMUM_STACK_SIZE  STACK_MINIMUM_SIZE
    100103
    101 /*
     104/**
    102105 *  Constant for indefinite wait.  (actually an illegal interval)
    103106 */
    104 
    105107#define RTEMS_NO_TIMEOUT  WATCHDOG_NO_TIMEOUT
    106108
    107 /*
     109/**
    108110 *  An MPCI must support packets of at least this size.
    109111 */
    110 
    111112#define RTEMS_MINIMUM_PACKET_SIZE  MP_PACKET_MINIMUM_PACKET_SIZE
    112113
    113 /*
    114  *  The following constant defines the number of uint32_t  's
     114/**
     115 *  The following constant defines the number of uint32_t's
    115116 *  in a packet which must be converted to native format in a
    116117 *  heterogeneous system.  In packets longer than
    117  *  MP_PACKET_MINIMUN_HETERO_CONVERSION uint32_t  's, some of the "extra" data
     118 *  MP_PACKET_MINIMUN_HETERO_CONVERSION uint32_t's, some of the "extra" data
    118119 *  may a user message buffer which is not automatically endian swapped.
    119120 */
    120 
    121121#define RTEMS_MINIMUN_HETERO_CONVERSION  MP_PACKET_MINIMUN_HETERO_CONVERSION
    122122
     
    125125#endif
    126126
     127/**@}*/
     128
    127129#endif
    128130/* end of include file */
  • cpukit/rtems/include/rtems/rtems/asr.h

    r6be8a83 r067a96a  
    11/**
    22 * @file rtems/rtems/asr.h
    3  */
    4 
    5 /*
     3 *
    64 *  This include file contains all the constants and structures associated
    75 *  with the Asynchronous Signal Handler.  This Handler provides the low-level
    86 *  support required by the Signal Manager.
    9  *
    10  *  COPYRIGHT (c) 1989-1999.
     7 */
     8
     9/*  COPYRIGHT (c) 1989-1999.
    1110 *  On-Line Applications Research Corporation (OAR).
    1211 *
     
    2726#include <rtems/rtems/modes.h>
    2827
    29 /*
     28/**
     29 *  @defgroup ClassicASR Classic API ASR Support
    3030 *
     31 *  This encapsulates functionality which XXX
     32 */
     33/**@{*/
     34
     35/**
    3136 *  The following type defines the control block used to manage
    3237 *  each signal set.
    3338 */
    34 
    3539typedef uint32_t   rtems_signal_set;
    3640
    37 /*
     41/**
    3842 *  Return type for ASR Handler
    3943 */
    40 
    4144typedef void rtems_asr;
    4245
    43 /*
     46/**
    4447 *  The following type corresponds to the applications asynchronous
    4548 *  signal processing routine.
    4649 */
    47 
    4850typedef rtems_asr ( *rtems_asr_entry )(
    4951                 rtems_signal_set
    5052             );
    5153
    52 /*
    53  *
     54/**
    5455 *  The following defines the control structure used to manage
    5556 *  signals.  Each thread has a copy of this record.
    5657 */
    57 
    5858typedef struct {
    5959  boolean           is_enabled;       /* are ASRs enabled currently? */
     
    7070 */
    7171
     72/** This defines the bit in the signal set associated with signal 0. */
    7273#define RTEMS_SIGNAL_0    0x00000001
     74/** This defines the bit in the signal set associated with signal 1. */
    7375#define RTEMS_SIGNAL_1    0x00000002
     76/** This defines the bit in the signal set associated with signal 2. */
    7477#define RTEMS_SIGNAL_2    0x00000004
     78/** This defines the bit in the signal set associated with signal 3. */
    7579#define RTEMS_SIGNAL_3    0x00000008
     80/** This defines the bit in the signal set associated with signal 4. */
    7681#define RTEMS_SIGNAL_4    0x00000010
     82/** This defines the bit in the signal set associated with signal 5. */
    7783#define RTEMS_SIGNAL_5    0x00000020
     84/** This defines the bit in the signal set associated with signal 6. */
    7885#define RTEMS_SIGNAL_6    0x00000040
     86/** This defines the bit in the signal set associated with signal 7. */
    7987#define RTEMS_SIGNAL_7    0x00000080
     88/** This defines the bit in the signal set associated with signal 8. */
    8089#define RTEMS_SIGNAL_8    0x00000100
     90/** This defines the bit in the signal set associated with signal 9. */
    8191#define RTEMS_SIGNAL_9    0x00000200
     92/** This defines the bit in the signal set associated with signal 10. */
    8293#define RTEMS_SIGNAL_10   0x00000400
     94/** This defines the bit in the signal set associated with signal 11. */
    8395#define RTEMS_SIGNAL_11   0x00000800
     96/** This defines the bit in the signal set associated with signal 12. */
    8497#define RTEMS_SIGNAL_12   0x00001000
     98/** This defines the bit in the signal set associated with signal 13. */
    8599#define RTEMS_SIGNAL_13   0x00002000
     100/** This defines the bit in the signal set associated with signal 14. */
    86101#define RTEMS_SIGNAL_14   0x00004000
     102/** This defines the bit in the signal set associated with signal 15. */
    87103#define RTEMS_SIGNAL_15   0x00008000
     104/** This defines the bit in the signal set associated with signal 16. */
    88105#define RTEMS_SIGNAL_16   0x00010000
     106/** This defines the bit in the signal set associated with signal 17. */
    89107#define RTEMS_SIGNAL_17   0x00020000
     108/** This defines the bit in the signal set associated with signal 18. */
    90109#define RTEMS_SIGNAL_18   0x00040000
     110/** This defines the bit in the signal set associated with signal 19. */
    91111#define RTEMS_SIGNAL_19   0x00080000
     112/** This defines the bit in the signal set associated with signal 20. */
    92113#define RTEMS_SIGNAL_20   0x00100000
     114/** This defines the bit in the signal set associated with signal 21. */
    93115#define RTEMS_SIGNAL_21   0x00200000
     116/** This defines the bit in the signal set associated with signal 22. */
    94117#define RTEMS_SIGNAL_22   0x00400000
     118/** This defines the bit in the signal set associated with signal 23. */
    95119#define RTEMS_SIGNAL_23   0x00800000
     120/** This defines the bit in the signal set associated with signal 24. */
    96121#define RTEMS_SIGNAL_24   0x01000000
     122/** This defines the bit in the signal set associated with signal 25. */
    97123#define RTEMS_SIGNAL_25   0x02000000
     124/** This defines the bit in the signal set associated with signal 26. */
    98125#define RTEMS_SIGNAL_26   0x04000000
     126/** This defines the bit in the signal set associated with signal 27. */
    99127#define RTEMS_SIGNAL_27   0x08000000
     128/** This defines the bit in the signal set associated with signal 28. */
    100129#define RTEMS_SIGNAL_28   0x10000000
     130/** This defines the bit in the signal set associated with signal 29. */
    101131#define RTEMS_SIGNAL_29   0x20000000
     132/** This defines the bit in the signal set associated with signal 30. */
    102133#define RTEMS_SIGNAL_30   0x40000000
     134/** This defines the bit in the signal set associated with signal 31. */
    103135#define RTEMS_SIGNAL_31   0x80000000
    104136
     
    111143#endif
    112144
     145/**@}*/
     146
    113147#endif
    114148/* end of include file */
  • cpukit/rtems/include/rtems/rtems/attr.h

    r6be8a83 r067a96a  
    11/**
    22 * @file rtems/rtems/attr.h
     3 *
     4 *  This include file contains all information about the Object Attributes
     5 *  Handler.
    36 */
    47
    5 /*
    6  *  This include file contains all information about the Object Attributes
    7  *  Handler.
    8  *
    9  *  COPYRIGHT (c) 1989-1999.
     8/*  COPYRIGHT (c) 1989-1999.
    109 *  On-Line Applications Research Corporation (OAR).
    1110 *
     
    2322extern "C" {
    2423#endif
     24
     25/**
     26 *  @defgroup ClassicAttributes Classic API Attributes
     27 *
     28 *  This encapsulates functionality which XXX
     29 */
     30/**@{*/
    2531
    2632/* types */
     
    7581#endif
    7682
    77 /*
    78  *  _Attributes_Handler_initialization
    79  *
    80  *  DESCRIPTION:
     83/**
     84 *  @brief _Attributes_Handler_initialization
    8185 *
    8286 *  This routine performs initialization for this handler.
     
    8589 *        takes care of this in C.
    8690 */
    87 
    8891#define _Attributes_Handler_initialization()
    8992
     
    9699#endif
    97100
     101/**@}*/
     102
    98103#endif
    99104/* end of include file */
  • cpukit/rtems/include/rtems/rtems/barrier.h

    r6be8a83 r067a96a  
    11/**
    22 * @file rtems/rtems/barrier.h
    3  */
    4 
    5 /*
     3 *
    64 *  This include file contains all the constants and structures associated
    75 *  with the Barrier Manager.
     
    97 *  Directives provided are:
    108 *
    11  *     + create a barrier
    12  *     + get an ID of a barrier
    13  *     + delete a barrier
    14  *     + wait for a barrier
    15  *     + signal a barrier
    16  *
    17  *  COPYRIGHT (c) 1989-2007.
     9 *     - create a barrier
     10 *     - get an ID of a barrier
     11 *     - delete a barrier
     12 *     - wait for a barrier
     13 *     - signal a barrier
     14 */
     15
     16/*  COPYRIGHT (c) 1989-2007.
    1817 *  On-Line Applications Research Corporation (OAR).
    1918 *
     
    2726#ifndef _RTEMS_RTEMS_BARRIER_H
    2827#define _RTEMS_RTEMS_BARRIER_H
     28
     29/**
     30 *  @defgroup ClassicBarrier Classic API Barrier
     31 *
     32 *  This encapsulates functionality which XXX
     33 */
     34/**@{*/
    2935
    3036#ifndef RTEMS_BARRIER_EXTERN
     
    4652 *  This type defines the control block used to manage each barrier.
    4753 */
    48 
    4954typedef struct {
    5055  /** This is used to manage a barrier as an object. */
     
    6065 *  this class of objects.
    6166 */
    62 
    6367RTEMS_BARRIER_EXTERN Objects_Information  _Barrier_Information;
    6468
     
    7175 *             concurrently be active in the system.
    7276 */
    73 
    7477void _Barrier_Manager_initialization(
    7578  uint32_t   maximum_barriers
     
    9396 *  @return a status code indicating success or the reason for failure.
    9497 */
    95 
    9698rtems_status_code rtems_barrier_create(
    9799  rtems_name           name,
     
    117119 *  @return a status code indicating success or the reason for failure.
    118120 */
    119 
    120121rtems_status_code rtems_barrier_ident(
    121122  rtems_name    name,
     
    196197#endif
    197198
     199/**@}*/
     200
    198201#endif
    199202/*  end of include file */
  • cpukit/rtems/include/rtems/rtems/barriermp.h

    r6be8a83 r067a96a  
    11/**
    22 * @file rtems/rtems/barriermp.h
     3 *
     4 *  This include file contains all the constants and structures associated
     5 *  with the Multiprocessing Support in the Barrier Manager.
    36 */
    47
    5 /*
    6  *  This include file contains all the constants and structures associated
    7  *  with the Multiprocessing Support in the Barrier Manager.
    8  *
    9  *  COPYRIGHT (c) 1989-2006.
     8/*  COPYRIGHT (c) 1989-2006.
    109 *  On-Line Applications Research Corporation (OAR).
    1110 *
     
    1918#ifndef _RTEMS_RTEMS_SEMMP_H
    2019#define _RTEMS_RTEMS_SEMMP_H
     20
     21/**
     22 *  @defgroup ClassicBarrierMP Classic API Barrier MP Support
     23 *
     24 *  This encapsulates functionality which XXX
     25 */
     26/**{*/
    2127
    2228#ifdef __cplusplus
     
    138144#endif
    139145
     146/**@}*/
     147
    140148#endif
    141149/* end of file */
  • cpukit/rtems/include/rtems/rtems/cache.h

    r6be8a83 r067a96a  
    11/**
    22 * @file rtems/rtems/cache.h
     3 *
     4 *  Cache Manager
    35 */
    46
    5 /*
    6  *  Cache Manager
    7  *
    8  *  COPYRIGHT (c) 1989-1999.
     7/*  COPYRIGHT (c) 1989-1999.
    98 *  On-Line Applications Research Corporation (OAR).
    109 *
     
    3938#include <sys/types.h>
    4039
     40/**
     41 *  @defgroup ClassicCache Classic API Cache
     42 *
     43 *  This encapsulates functionality which XXX
     44 */
     45/**@{*/
     46
    4147/*
    4248 *  These functions will ONLY do something if the
     
    4551 */
    4652
    47 /*
     53/**
    4854 * This function is called to flush the data cache by performing cache
    4955 * copybacks. It must determine how many cache lines need to be copied
     
    5258void rtems_cache_flush_multiple_data_lines( const void *, size_t );
    5359
    54 /*
     60/**
    5561 * This function is responsible for performing a data cache invalidate.
    5662 * It must determine how many cache lines need to be invalidated and then
     
    5965void rtems_cache_invalidate_multiple_data_lines( const void *, size_t );
    6066
    61 /*
     67/**
    6268 * This function is responsible for performing a data cache flush.
    6369 * It flushes the entire cache.
     
    6571void rtems_cache_flush_entire_data( void );
    6672
    67 /*
     73/**
    6874 * This function is responsible for performing a data cache
    6975 * invalidate. It invalidates the entire cache.
     
    7177void rtems_cache_invalidate_entire_data( void );
    7278
    73 /*
     79/**
    7480 * This function returns the data cache granularity.
    7581 */
    7682int rtems_cache_get_data_line_size( void );
    7783
    78 /*
     84/**
    7985 * This function freezes the data cache.
    8086 */
    8187void rtems_cache_freeze_data( void );
    8288
    83 /*
     89/**
    8490 * This function unfreezes the data cache.
    8591 */
    8692void rtems_cache_unfreeze_data( void );
    8793
    88 /*
    89  * These functions enable/disable the data cache.
     94/**
     95 * This function enables the data cache.
    9096 */
    9197void rtems_cache_enable_data( void );
     98
     99/**
     100 * This function disables the data cache.
     101 */
    92102void rtems_cache_disable_data( void );
    93103
    94 /*
     104/**
    95105 *  These functions will ONLY do something if the
    96106 *  libcpu support includes instruction cache routines AND
     
    98108 */
    99109
    100 /*
     110/**
    101111 * This function is responsible for performing an instruction cache
    102112 * invalidate. It must determine how many cache lines need to be invalidated
     
    105115void rtems_cache_invalidate_multiple_instruction_lines( const void *, size_t );
    106116
    107 /*
     117/**
    108118 * This function is responsible for performing an instruction cache
    109119 * invalidate. It invalidates the entire cache.
     
    111121void rtems_cache_invalidate_entire_instruction( void );
    112122
    113 /*
     123/**
    114124 * This function returns the instruction cache granularity.
    115125 */
    116126int rtems_cache_get_instruction_line_size( void );
    117127
    118 /*
     128/**
    119129 * This function freezes the instruction cache.
    120130 */
    121131void rtems_cache_freeze_instruction( void );
    122132
    123 /*
     133/**
    124134 * This function unfreezes the instruction cache.
    125135 */
    126136void rtems_cache_unfreeze_instruction( void );
    127137
    128 /*
    129  * These functions enable/disable the instruction cache.
     138/**
     139 * This function enables the instruction cache.
    130140 */
    131141void rtems_cache_enable_instruction( void );
     142
     143/**
     144 * This function disables the instruction cache.
     145 */
    132146void rtems_cache_disable_instruction( void );
    133147
     
    137151#endif
    138152
     153/**@}*/
     154
    139155#endif
    140156/* end of include file */
  • cpukit/rtems/include/rtems/rtems/clock.h

    r6be8a83 r067a96a  
    11/**
    22 * @file rtems/rtems/clock.h
    3  */
    4 
    5 /*
     3 *
    64 *  This include file contains all the constants and structures associated
    75 *  with the Clock Manager.  This manager provides facilities to set, obtain,
     
    108 *  This manager provides directives to:
    119 *
    12  *     + set the current date and time
    13  *     + obtain the current date and time
    14  *     + set the nanoseconds since last clock tick handler
    15  *     + announce a clock tick
    16  *     + obtain the system uptime
    17  *
    18  *  COPYRIGHT (c) 1989-2008.
     10 *     - set the current date and time
     11 *     - obtain the current date and time
     12 *     - set the nanoseconds since last clock tick handler
     13 *     - announce a clock tick
     14 *     - obtain the system uptime
     15 */
     16
     17/*  COPYRIGHT (c) 1989-2008.
    1918 *  On-Line Applications Research Corporation (OAR).
    2019 *
     
    2827#ifndef _RTEMS_RTEMS_CLOCK_H
    2928#define _RTEMS_RTEMS_CLOCK_H
    30 
    31 #ifdef __cplusplus
    32 extern "C" {
    33 #endif
    3429
    3530#include <rtems/score/tod.h>
     
    3732#include <rtems/rtems/status.h>
    3833#include <rtems/rtems/types.h>
     34
     35/**
     36 *  @defgroup ClassicClock Classic API Clock
     37 *
     38 *  This encapsulates functionality which XXX
     39 */
     40/**@{*/
     41
     42#ifdef __cplusplus
     43extern "C" {
     44#endif
    3945
    4046/**
     
    260266#endif
    261267
     268/**@}*/
     269
    262270#endif
    263271/* end of include file */
  • cpukit/rtems/include/rtems/rtems/config.h

    r6be8a83 r067a96a  
    11/**
    22 * @file rtems/rtems/config.h
     3 *
     4 *  This include file contains the table of user defined configuration
     5 *  parameters specific for the RTEMS API.
    36 */
    47
    5 /*
    6  *  This include file contains the table of user defined configuration
    7  *  parameters specific for the RTEMS API.
    8  *
    9  *  COPYRIGHT (c) 1989-2006.
     8/*  COPYRIGHT (c) 1989-2006.
    109 *  On-Line Applications Research Corporation (OAR).
    1110 *
     
    2726#include <rtems/rtems/tasks.h>
    2827
    29 /*
     28/**
     29 *  @defgroup ClassicConfig Classic API Configuration
     30 *
     31 *  This encapsulates functionality which XXX
     32 */
     33/**@{*/
     34
     35/**
    3036 *  The following records define the Configuration Table.  The
    3137 *  information contained in this table is required in all
     
    3541 *     + required number of each object type
    3642 */
    37 
    3843typedef struct {
    3944  uint32_t                    maximum_tasks;
     
    5459#endif
    5560
     61/**@}*/
     62
    5663#endif
    5764/* end of include file */
  • cpukit/rtems/include/rtems/rtems/dpmem.h

    r6be8a83 r067a96a  
    11/**
    22 * @file rtems/rtems/dpmem.h
    3  */
    4 
    5 /*
     3 *
    64 *  This include file contains all the constants and structures associated
    75 *  with the Dual Ported Memory Manager. This manager provides a mechanism
     
    119 *  Directives provided are:
    1210 *
    13  *     + create a port
    14  *     + get ID of a port
    15  *     + delete a port
    16  *     + convert external to internal address
    17  *     + convert internal to external address
     11 *     - create a port
     12 *     - get ID of a port
     13 *     - delete a port
     14 *     - convert external to internal address
     15 *     - convert internal to external address
    1816 *
    19  *
    20  *  COPYRIGHT (c) 1989-2007.
     17 */
     18
     19/*  COPYRIGHT (c) 1989-2007.
    2120 *  On-Line Applications Research Corporation (OAR).
    2221 *
     
    4342#include <rtems/rtems/status.h>
    4443
    45 /*
     44/**
     45 *  @defgroup ClassicDPMEM Classic API Dual Ported Memory
     46 *
     47 *  This encapsulates functionality which XXX
     48 */
     49/**@{*/
     50
     51/**
    4652 *  The following structure defines the port control block.  Each port
    4753 *  has a control block associated with it.  This control block contains
    4854 *  all information required to support the port related operations.
    4955 */
    50 
    5156typedef struct {
    5257  Objects_Control  Object;
     
    5661}   Dual_ported_memory_Control;
    5762
    58 /*
     63/**
    5964 *  The following define the internal Dual Ported Memory information.
    6065 */
    61 
    6266RTEMS_DPMEM_EXTERN Objects_Information  _Dual_ported_memory_Information;
    6367
    64 /*
    65  *  _Dual_ported_memory_Manager_initialization
    66  *
    67  *  DESCRIPTION:
     68/**
     69 *  @brief _Dual_ported_memory_Manager_initialization
    6870 *
    6971 *  This routine performs the initialization necessary for this manager.
    7072 */
    71 
    7273void _Dual_ported_memory_Manager_initialization(
    7374  uint32_t   maximum_ports
    7475);
    7576
    76 /*
    77  *  rtems_port_create
    78  *
    79  *  DESCRIPTION:
     77/**
     78 *  @brief rtems_port_create
    8079 *
    8180 *  This routine implements the rtems_port_create directive.  The port
     
    8584 *  It returns the id of the created port in ID.
    8685 */
    87 
    8886rtems_status_code rtems_port_create(
    8987  rtems_name    name,
     
    9492);
    9593
    96 /*
    97  *  rtems_port_ident
    98  *
    99  *  DESCRIPTION:
     94/**
     95 *  @brief rtems_port_ident
    10096 *
    10197 *  This routine implements the rtems_port_ident directive.  This directive
     
    10399 *  named name, then the port to which the ID belongs is arbitrary.
    104100 */
    105 
    106101rtems_status_code rtems_port_ident(
    107102  rtems_name    name,
     
    109104);
    110105
    111 /*
    112  *  rtems_port_delete
    113  *
    114  *  DESCRIPTION:
     106/**
     107 *  @brief rtems_port_delete
    115108 *
    116109 *  This routine implements the rtems_port_delete directive.  It deletes
    117110 *  the port associated with ID.
    118111 */
    119 
    120112rtems_status_code rtems_port_delete(
    121113  Objects_Id id
    122114);
    123115
    124 /*
    125  *  rtems_port_external_to_internal
    126  *
    127  *  DESCRIPTION:
     116/**
     117 *  @brief rtems_port_external_to_internal
    128118 *
    129119 *  This routine implements the rtems_port_external_to_internal directive.
     
    131121 *  external port address for the specified port ID.
    132122 */
    133 
    134123rtems_status_code rtems_port_external_to_internal(
    135124  Objects_Id   id,
     
    138127);
    139128
    140 /*
    141  *  rtems_port_internal_to_external
    142  *
    143  *  DESCRIPTION:
     129/**
     130 *  @brief rtems_port_internal_to_external
    144131 *
    145132 *  This routine implements the Port_internal_to_external directive.
     
    147134 *  internal port address for the specified port ID.
    148135 */
    149 
    150136rtems_status_code rtems_port_internal_to_external(
    151137  Objects_Id   id,
     
    162148#endif
    163149
     150/**@}*/
     151
    164152#endif
    165153/* end of include file */
  • cpukit/rtems/include/rtems/rtems/event.h

    r6be8a83 r067a96a  
    11/**
    22 * @file rtems/rtems/event.h
    3  */
    4 
    5 /*
     3 *
    64 *  This include file contains the information pertaining to the Event
    75 *  Manager.  This manager provides a high performance method of communication
     
    108 *  Directives provided are:
    119 *
    12  *     + send an event set to a task
    13  *     + receive event condition
     10 *     - send an event set to a task
     11 *     - receive event condition
    1412 *
    15  *
    16  *  COPYRIGHT (c) 1989-2008.
     13 */
     14
     15/*  COPYRIGHT (c) 1989-2008.
    1716 *  On-Line Applications Research Corporation (OAR).
    1817 *
     
    4443#include <rtems/rtems/eventset.h>
    4544
    46 /*
     45/**
     46 *  @defgroup ClassicEvent Classic API Event
     47 *
     48 *  This encapsulates functionality which XXX
     49 */
     50/**@{*/
     51
     52/**
    4753 *  This constant is passed as the event_in to the
    4854 *  rtems_event_receive directive to determine which events are pending.
    4955 */
    50 
    5156#define EVENT_CURRENT  0
    5257
    53 /*
    54  *  Event_Manager_initialization
    55  *
    56  *  DESCRIPTION:
     58/**
     59 *  @brief Event_Manager_initialization
    5760 *
    5861 *  This routine performs the initialization necessary for this manager.
    5962 */
    60 
    6163void _Event_Manager_initialization( void );
    6264
    63 /*
    64  *  rtems_event_send
    65  *
    66  *  DESCRIPTION:
     65/**
     66 *  @brief rtems_event_send
    6767 *
    6868 *  This routine implements the rtems_event_send directive.  It sends
     
    7171 *  the task's event condition, then it is unblocked.
    7272 */
    73 
    7473rtems_status_code rtems_event_send (
    7574  Objects_Id         id,
     
    7776);
    7877
    79 /*
    80  *  rtems_event_receive
    81  *
    82  *  DESCRIPTION:
     78/**
     79 *  @brief rtems_event_receive
    8380 *
    8481 *  This routine implements the rtems_event_receive directive.  This
     
    9390 *  event_out parameter.
    9491 */
    95 
    9692rtems_status_code rtems_event_receive (
    9793  rtems_event_set  event_in,
     
    10197);
    10298
    103 /*
    104  *  _Event_Seize
    105  *
    106  *  DESCRIPTION:
     99/**
     100 *  @brief Event_Seize
    107101 *
    108102 *  This routine determines if the event condition event_in is
     
    112106 *  optional timeout of ticks clock ticks.
    113107 */
    114 
    115108void _Event_Seize (
    116109  rtems_event_set  event_in,
     
    120113);
    121114
    122 /*
    123  *  _Event_Surrender
    124  *
    125  *  DESCRIPTION:
     115/**
     116 *  @brief Event_Surrender
    126117 *
    127118 *  This routine determines if the event condition of the_thread
    128119 *  has been satisfied.  If so, it unblocks the_thread.
    129120 */
    130 
    131121void _Event_Surrender (
    132122  Thread_Control *the_thread
    133123);
    134124
    135 /*
    136  *  _Event_Timeout
    137  *
    138  *  DESCRIPTION:
     125/**
     126 *  @brief Event_Timeout
    139127 *
    140128 *  This routine is invoked when a task's event receive request
     
    144132 *  has occurred.
    145133 */
    146 
    147134void _Event_Timeout (
    148135  Objects_Id  id,
     
    150137);
    151138
    152 /*
    153  *  The following defines the synchronization flag used by the
    154  *  Event Manager to insure that signals sent to the currently
    155  *  executing thread are received properly.
     139/**
     140 *  @brief he following defines the synchronization flag used by the
    156141 */
    157 
    158142RTEMS_EVENT_EXTERN volatile Thread_blocking_operation_States _Event_Sync_state;
    159143
     
    169153#endif
    170154
     155/**@}*/
     156
    171157#endif
    172158/* end of include file */
  • cpukit/rtems/include/rtems/rtems/eventmp.h

    r6be8a83 r067a96a  
    11/**
    22 * @file rtems/rtems/eventmp.h
     3 *
     4 *  This include file contains all the constants and structures associated
     5 *  with the Multiprocessing Support in the Event Manager.
    36 */
    47
    5 /*
    6  *  This include file contains all the constants and structures associated
    7  *  with the Multiprocessing Support in the Event Manager.
    8  *
    9  *  COPYRIGHT (c) 1989-1999.
     8/*  COPYRIGHT (c) 1989-1999.
    109 *  On-Line Applications Research Corporation (OAR).
    1110 *
     
    3029#include <rtems/score/watchdog.h>
    3130
    32 /*
     31/**
     32 *  @defgroup ClassicEventMP Classic API Event MP Support
     33 *
     34 *  This encapsulates functionality which XXX
     35 */
     36/**@{*/
     37
     38/**
    3339 *  The following enumerated type defines the list of
    3440 *  remote event operations.
    3541 */
    36 
    3742typedef enum {
    3843  EVENT_MP_SEND_REQUEST  =  0,
     
    4045}   Event_MP_Remote_operations;
    4146
    42 /*
     47/**
    4348 *  The following data structure defines the packet used to perform
    4449 *  remote event operations.
    4550 */
    46 
    4751typedef struct {
    4852  rtems_packet_prefix         Prefix;
     
    5256
    5357/*
    54  *  _Event_MP_Send_process_packet
    55  *
    56  *  DESCRIPTION:
     58 *  @brief Event_MP_Send_process_packet
    5759 *
    5860 *  This routine performs a remote procedure call so that a
    5961 *  process operation can be performed on another node.
    6062 *
    61  *  This routine is not needed since there are no process
     63 *  @note This routine is not needed since there are no process
    6264 *  packets to be sent by this manager.
    6365 */
    6466
    65 /*
    66  *  _Event_MP_Send_request_packet
    67  *
    68  *  DESCRIPTION:
     67/**
     68 *  @brief Event_MP_Send_request_packet
    6969 *
    7070 *  This routine performs a remote procedure call so that a
    7171 *  directive operation can be initiated on another node.
    7272 */
    73 
    7473rtems_status_code _Event_MP_Send_request_packet (
    7574  Event_MP_Remote_operations operation,
     
    7877);
    7978
    80 /*
    81  *  _Event_MP_Send_response_packet
    82  *
    83  *  DESCRIPTION:
     79/**
     80 *  @brief Event_MP_Send_response_packet
    8481 *
    8582 *  This routine performs a remote procedure call so that a
    8683 *  directive can be performed on another node.
    8784 */
    88 
    8985void _Event_MP_Send_response_packet (
    9086  Event_MP_Remote_operations  operation,
     
    9288);
    9389
    94 /*
    95  *
    96  *  _Event_MP_Process_packet
    97  *
    98  *  DESCRIPTION:
     90/**
     91 *  @brief Event_MP_Process_packet
    9992 *
    10093 *  This routine performs the actions specific to this package for
    10194 *  the request from another node.
    10295 */
    103 
    10496void _Event_MP_Process_packet (
    10597  rtems_packet_prefix *the_packet_prefix
     
    10799
    108100/*
    109  *  _Event_MP_Send_object_was_deleted
    110  *
    111  *  DESCRIPTION:
     101 *  @brief Event_MP_Send_object_was_deleted
    112102 *
    113103 *  This routine is invoked indirectly by the thread queue
     
    120110
    121111/*
    122  *  _Event_MP_Send_extract_proxy
    123  *
    124  *  DESCRIPTION:
     112 *  @brief Event_MP_Send_extract_proxy
    125113 *
    126114 *  This routine is invoked when a task is deleted and it
     
    132120 */
    133121
    134 /*
    135  *  _Event_MP_Get_packet
    136  *
    137  *  DESCRIPTION:
     122/**
     123 *  @brief Event_MP_Get_packet
    138124 *
    139125 *  This function is used to obtain a event mp packet.
    140126 */
    141 
    142127Event_MP_Packet *_Event_MP_Get_packet ( void );
    143128
     
    146131#endif
    147132
     133/**@}*/
     134
    148135#endif
    149136/* end of file */
  • cpukit/rtems/include/rtems/rtems/eventset.h

    r6be8a83 r067a96a  
    11/**
    22 * @file rtems/rtems/eventset.h
    3  */
    4 
    5 /*
     3 *
    64 *  This include file contains the information pertaining to the
    75 *  Event Sets Handler.  This handler provides methods for the manipulation
    86 *  of event sets which will be sent and received by tasks.
    9  *
    10  *  COPYRIGHT (c) 1989-1999.
     7 */
     8
     9/*  COPYRIGHT (c) 1989-1999.
    1110 *  On-Line Applications Research Corporation (OAR).
    1211 *
     
    2120#define _RTEMS_RTEMS_EVENTSET_H
    2221
     22/**
     23 *  @defgroup ClassicEventSet Classic API Event Set
     24 *
     25 *  This encapsulates functionality which XXX
     26 */
     27/**@{*/
     28
    2329#ifdef __cplusplus
    2430extern "C" {
    2531#endif
    2632
    27 /*
     33/**
    2834 *  The following defines the type used to control event sets.
    2935 */
    30 
    3136typedef uint32_t   rtems_event_set;
    3237
    33 /*
     38/**
    3439 *  The following constants define the individual events which may
    3540 *  be used to compose an event set.
    3641 */
    37 
    3842#define RTEMS_PENDING_EVENTS      0           /* receive pending events   */
    3943#define RTEMS_ALL_EVENTS  0xFFFFFFFF
    4044
     45/** This defines the bit in the event set associated with event 0. */
    4146#define RTEMS_EVENT_0     0x00000001
     47/** This defines the bit in the event set associated with event 1. */
    4248#define RTEMS_EVENT_1     0x00000002
     49/** This defines the bit in the event set associated with event 2. */
    4350#define RTEMS_EVENT_2     0x00000004
     51/** This defines the bit in the event set associated with event 3. */
    4452#define RTEMS_EVENT_3     0x00000008
     53/** This defines the bit in the event set associated with event 4. */
    4554#define RTEMS_EVENT_4     0x00000010
     55/** This defines the bit in the event set associated with event 5. */
    4656#define RTEMS_EVENT_5     0x00000020
     57/** This defines the bit in the event set associated with event 6. */
    4758#define RTEMS_EVENT_6     0x00000040
     59/** This defines the bit in the event set associated with event 7. */
    4860#define RTEMS_EVENT_7     0x00000080
     61/** This defines the bit in the event set associated with event 8. */
    4962#define RTEMS_EVENT_8     0x00000100
     63/** This defines the bit in the event set associated with event 9. */
    5064#define RTEMS_EVENT_9     0x00000200
     65/** This defines the bit in the event set associated with event 10. */
    5166#define RTEMS_EVENT_10    0x00000400
     67/** This defines the bit in the event set associated with event 11. */
    5268#define RTEMS_EVENT_11    0x00000800
     69/** This defines the bit in the event set associated with event 12. */
    5370#define RTEMS_EVENT_12    0x00001000
     71/** This defines the bit in the event set associated with event 13. */
    5472#define RTEMS_EVENT_13    0x00002000
     73/** This defines the bit in the event set associated with event 14. */
    5574#define RTEMS_EVENT_14    0x00004000
     75/** This defines the bit in the event set associated with event 15. */
    5676#define RTEMS_EVENT_15    0x00008000
     77/** This defines the bit in the event set associated with event 16. */
    5778#define RTEMS_EVENT_16    0x00010000
     79/** This defines the bit in the event set associated with event 17. */
    5880#define RTEMS_EVENT_17    0x00020000
     81/** This defines the bit in the event set associated with event 18. */
    5982#define RTEMS_EVENT_18    0x00040000
     83/** This defines the bit in the event set associated with event 19. */
    6084#define RTEMS_EVENT_19    0x00080000
     85/** This defines the bit in the event set associated with event 20. */
    6186#define RTEMS_EVENT_20    0x00100000
     87/** This defines the bit in the event set associated with event 21. */
    6288#define RTEMS_EVENT_21    0x00200000
     89/** This defines the bit in the event set associated with event 22. */
    6390#define RTEMS_EVENT_22    0x00400000
     91/** This defines the bit in the event set associated with event 23. */
    6492#define RTEMS_EVENT_23    0x00800000
     93/** This defines the bit in the event set associated with event 24. */
    6594#define RTEMS_EVENT_24    0x01000000
     95/** This defines the bit in the event set associated with event 25. */
    6696#define RTEMS_EVENT_25    0x02000000
     97/** This defines the bit in the event set associated with event 26. */
    6798#define RTEMS_EVENT_26    0x04000000
     99/** This defines the bit in the event set associated with event 27. */
    68100#define RTEMS_EVENT_27    0x08000000
     101/** This defines the bit in the event set associated with event 29. */
    69102#define RTEMS_EVENT_28    0x10000000
     103/** This defines the bit in the event set associated with event 29. */
    70104#define RTEMS_EVENT_29    0x20000000
     105/** This defines the bit in the event set associated with event 30. */
    71106#define RTEMS_EVENT_30    0x40000000
     107/** This defines the bit in the event set associated with event 31. */
    72108#define RTEMS_EVENT_31    0x80000000
    73109
    74 
    75 /*
     110/**
    76111 *  The following constant is the value of an event set which
    77112 *  has no events pending.
    78113 */
    79 
    80114#define EVENT_SETS_NONE_PENDING 0
    81115
     
    88122#endif
    89123
     124/**@}*/
     125
    90126#endif
    91127/* end of include file */
  • cpukit/rtems/include/rtems/rtems/intr.h

    r6be8a83 r067a96a  
    11/**
    22 * @file rtems/rtems/intr.h
     3 *
     4 *  This include file contains all the constants and structures associated
     5 *  with the Interrupt Manager.
    36 */
    47
    5 /*
    6  *  This include file contains all the constants and structures associated
    7  *  with the Interrupt Manager.
    8  *
    9  *  COPYRIGHT (c) 1989-1999.
     8/*  COPYRIGHT (c) 1989-1999.
    109 *  On-Line Applications Research Corporation (OAR).
    1110 *
     
    2625#include <rtems/score/isr.h>
    2726
    28 /*
     27/**
     28 *  @defgroup ClassicINTR Classic API Interrupt
     29 *
     30 *  This encapsulates functionality which XXX
     31 */
     32/**@{*/
     33
     34/**
    2935 *  Interrupt level type
    3036 */
    31 
    3237typedef ISR_Level rtems_interrupt_level;
    3338
    34 /*
     39/**
    3540 *  The following type defines the control block used to manage
    3641 *  the vectors.
    3742 */
    38 
    3943typedef ISR_Vector_number rtems_vector_number;
    4044
    41 /*
     45/**
    4246 *  Return type for ISR Handler
    4347 */
    44 
    4548typedef void rtems_isr;
    4649
    47 /*
     50/**
    4851 *  Pointer to an ISR Handler
    4952 */
    50 
    5153typedef rtems_isr ( *rtems_isr_entry )(
    5254                 rtems_vector_number
    5355             );
    5456
    55 /*
    56  *  _Interrupt_Manager_initialization
    57  *
    58  *  DESCRIPTION:
     57/**
     58 *  @brief Interrupt_Manager_initialization
    5959 *
    6060 *  This routine initializes the interrupt manager.
    6161 *
    6262 */
    63 
    6463void _Interrupt_Manager_initialization( void );
    6564
    66 /*
    67  *  rtems_interrupt_catch
    68  *
    69  *  DESCRIPTION:
     65/**
     66 *  @brief rtems_interrupt_catch
    7067 *
    7168 *  This routine implements the rtems_interrupt_catch directive.  This
     
    7471 *  routine is returned in old_isr_handler.
    7572 */
    76 
    7773rtems_status_code rtems_interrupt_catch(
    7874  rtems_isr_entry      new_isr_handler,
     
    8177);
    8278
    83 /*
    84  *  rtems_interrupt_disable
    85  *
    86  *  DESCRIPTION:
     79/**
     80 *  @brief rtems_interrupt_disable
    8781 *
    8882 *  This routine disables all maskable interrupts and returns the
    8983 *  previous level in _isr_cookie.
    9084 */
    91 
    9285#define rtems_interrupt_disable( _isr_cookie ) \
    9386    _ISR_Disable(_isr_cookie)
    9487
    95 /*
    96  *  rtems_interrupt_enable
    97  *
    98  *  DESCRIPTION:
     88/**
     89 *  @brief rtems_interrupt_enable
    9990 *
    10091 *  This routine enables maskable interrupts to the level indicated
    10192 *  _isr_cookie.
    10293 */
    103 
    10494#define rtems_interrupt_enable( _isr_cookie ) \
    10595    _ISR_Enable(_isr_cookie)
    10696
    107 /*
    108  *  rtems_interrupt_flash
    109  *
    110  *  DESCRIPTION:
     97/**
     98 *  @brief rtems_interrupt_flash
    11199 *
    112100 *  This routine temporarily enables maskable interrupts to the
    113101 *  level in _isr_cookie before redisabling them.
    114102 */
    115 
    116103#define rtems_interrupt_flash( _isr_cookie ) \
    117104    _ISR_Flash(_isr_cookie)
    118105
    119 /*
    120  *  rtems_interrupt_is_in_progress
    121  *
    122  *  DESCRIPTION:
     106/**
     107 *  @brief rtems_interrupt_is_in_progress
    123108 *
    124109 *  This function returns TRUE if the processor is currently servicing
     
    127112 *  directives available to an interrupt service routine are restricted.
    128113 */
    129 
    130114#define rtems_interrupt_is_in_progress() \
    131115    _ISR_Is_in_progress()
    132116
    133 /*
    134  *  rtems_interrupt_cause
    135  *
    136  *  DESCRIPTION:
     117/**
     118 *  @brief rtems_interrupt_cause
    137119 *
    138120 *  This routine generates an interrupt.
     
    140122 *  NOTE:  No implementation.
    141123 */
    142 
    143124#define rtems_interrupt_cause( _interrupt_to_cause )
    144125
    145 /*
    146  *  rtems_interrupt_cause
    147  *
    148  *  DESCRIPTION:
     126/**
     127 *  @brief rtems_interrupt_clear
    149128 *
    150129 *  This routine clears the specified interrupt.
     
    152131 *  NOTE:  No implementation.
    153132 */
    154 
    155133#define rtems_interrupt_clear( _interrupt_to_clear )
    156134
     
    159137#endif
    160138
     139/**@}*/
     140
    161141#endif
    162142/* end of include file */
  • cpukit/rtems/include/rtems/rtems/message.h

    r6be8a83 r067a96a  
    11/**
    22 * @file rtems/rtems/message.h
    3  */
    4 
    5 /*
     3 *
    64 *  This include file contains all the constants and structures associated
    75 *  with the Message Queue Manager.  This manager provides a mechanism for
     
    108 *  Directives provided are:
    119 *
    12  *     + create a queue
    13  *     + get ID of a queue
    14  *     + delete a queue
    15  *     + put a message at the rear of a queue
    16  *     + put a message at the front of a queue
    17  *     + broadcast N messages to a queue
    18  *     + receive message from a queue
    19  *     + flush all messages on a queue
    20  *
    21  *  COPYRIGHT (c) 1989-2007.
     10 *     - create a queue
     11 *     - get ID of a queue
     12 *     - delete a queue
     13 *     - put a message at the rear of a queue
     14 *     - put a message at the front of a queue
     15 *     - broadcast N messages to a queue
     16 *     - receive message from a queue
     17 *     - flush all messages on a queue
     18 */
     19
     20/*  COPYRIGHT (c) 1989-2007.
    2221 *  On-Line Applications Research Corporation (OAR).
    2322 *
     
    4746#include <rtems/score/coremsg.h>
    4847
     48/**
     49 *  @defgroup ClassicMessageQueue Classic API Message Queue
     50 *
     51 *  This encapsulates functionality which XXX
     52 */
     53/**@{*/
     54
    4955/*
    5056 *  The following enumerated type details the modes in which a message
     
    5258 *  in a send or urgent fashion.
    5359 */
    54 
    5560typedef enum {
    5661  MESSAGE_QUEUE_SEND_REQUEST   = 0,
     
    5863}  Message_queue_Submit_types;
    5964
    60 /*
     65/**
    6166 *  The following records define the control block used to manage
    6267 *  each message queue.
    6368 */
    64 
    6569typedef struct {
    6670  Objects_Control             Object;
     
    7377 *  manage this class of objects.
    7478 */
    75 
    7679RTEMS_MESSAGE_EXTERN Objects_Information  _Message_queue_Information;
    7780
    78 /*
    79  *  _Message_queue_Manager_initialization
    80  *
    81  *  DESCRIPTION:
     81/**
     82 *  @brief Message_queue_Manager_initialization
    8283 *
    8384 *  This routine performs the initialization necessary for this manager.
    8485 */
    85 
    8686void _Message_queue_Manager_initialization(
    8787  uint32_t   maximum_message_queues
    8888);
    8989
    90 /*
    91  *  rtems_message_queue_create
    92  *
    93  *  DESCRIPTION:
     90/**
     91 *  @brief rtems_message_queue_create
    9492 *
    9593 *  This routine implements the rtems_message_queue_create directive.  The
     
    10098 *  message queue in ID.
    10199 */
    102 
    103100rtems_status_code rtems_message_queue_create(
    104101  rtems_name       name,
     
    109106);
    110107
    111 /*
    112  *  rtems_message_queue_ident
    113  *
    114  *  DESCRIPTION:
     108/**
     109 *  @brief rtems_message_queue_ident
    115110 *
    116111 *  This routine implements the rtems_message_queue_ident directive.
     
    122117 *  encompass all nodes.
    123118 */
    124 
    125119rtems_status_code rtems_message_queue_ident(
    126120  rtems_name    name,
     
    129123);
    130124
    131 /*
    132  *  rtems_message_queue_delete
    133  *
    134  *  DESCRIPTION:
     125/**
     126 *  @brief rtems_message_queue_delete
    135127 *
    136128 *  This routine implements the rtems_message_queue_delete directive.  The
    137129 *  message queue indicated by ID is deleted.
    138130 */
    139 
    140131rtems_status_code rtems_message_queue_delete(
    141132  Objects_Id id
    142133);
    143134
    144 /*
    145  *  rtems_message_queue_send
    146  *
    147  *  DESCRIPTION:
     135/**
     136 *  @brief rtems_message_queue_send
    148137 *
    149138 *  This routine implements the rtems_message_queue_send directive.
     
    157146 *  chain of pending messages for this message queue.
    158147 */
    159 
    160148rtems_status_code rtems_message_queue_send(
    161149  Objects_Id            id,
     
    164152);
    165153
    166 /*
    167  *  rtems_message_queue_urgent
    168  *
    169  *  DESCRIPTION:
     154/**
     155 *  @brief rtems_message_queue_urgent
    170156 *
    171157 *  This routine implements the rtems_message_queue_urgent directive.
     
    175161 *  than at the REAR.
    176162 */
    177 
    178163rtems_status_code rtems_message_queue_urgent(
    179164  Objects_Id            id,
     
    182167);
    183168
    184 /*
    185  *  rtems_message_queue_broadcast
    186  *
    187  *  DESCRIPTION:
     169/**
     170 *  @brief rtems_message_queue_broadcast
    188171 *
    189172 *  This routine implements the rtems_message_queue_broadcast directive.
     
    192175 *  If no tasks are waiting, then the message buffer will not be queued.
    193176 */
    194 
    195177rtems_status_code rtems_message_queue_broadcast(
    196178  Objects_Id            id,
     
    200182);
    201183
    202 /*
    203  *  rtems_message_queue_receive
    204  *
    205  *  DESCRIPTION:
     184/**
     185 *  @brief rtems_message_queue_receive
    206186 *
    207187 *  This routine implements the rtems_message_queue_receive directive.
     
    213193 *  optionally, timeout clock ticks have passed.
    214194 */
    215 
    216195rtems_status_code rtems_message_queue_receive(
    217196  Objects_Id            id,
     
    222201);
    223202
    224 /*
    225  *  rtems_message_queue_flush
    226  *
    227  *  DESCRIPTION:
     203/**
     204 *  @brief rtems_message_queue_flush
    228205 *
    229206 *  This routine implements the rtems_message_queue_flush directive.
     
    232209 *  chain.  The number of messages flushed is returned in COUNT.
    233210 */
    234 
    235211rtems_status_code rtems_message_queue_flush(
    236212  Objects_Id  id,
     
    238214);
    239215
    240 /*
    241  *  rtems_message_queue_get_number_pending
    242  *
    243  *  DESCRIPTION:
     216/**
     217 *  @brief rtems_message_queue_get_number_pending
    244218 *
    245219 *  This routine implements the rtems_message_queue_get_number_pending
     
    248222 *  chain.  The number of messages pending is returned in COUNT.
    249223 */
    250 
    251224rtems_status_code rtems_message_queue_get_number_pending(
    252225  Objects_Id  id,
     
    255228
    256229
    257 /*
    258  *  _Message_queue_Submit
    259  *
    260  *  DESCRIPTION:
     230/**
     231 *  @brief Message_queue_Submit
    261232 *
    262233 *  This routine implements the directives rtems_message_queue_send
     
    267238 *  which will be inserted at the front of the queue.
    268239 */
    269 
    270240rtems_status_code _Message_queue_Submit(
    271241  Objects_Id                  id,
     
    275245);
    276246
    277 /*
    278  *  _Message_queue_Allocate
    279  *
    280  *  DESCRIPTION:
     247/**
     248 *  @brief Message_queue_Allocate
    281249 *
    282250 *  This function allocates a message queue control block from
    283251 *  the inactive chain of free message queue control blocks.
    284252 */
    285 
    286253Message_queue_Control *_Message_queue_Allocate (
    287254    uint32_t            count,
     
    289256);
    290257
    291 /*
    292  *  _Message_queue_Translate_core_message_queue_return_code
    293  *
    294  *  DESCRIPTION:
     258/**
     259 *  @brief Message_queue_Translate_core_message_queue_return_code
    295260 *
    296261 *  This function returns a RTEMS status code based on the core message queue
    297262 *  status code specified.
    298263 */
    299 
    300264rtems_status_code _Message_queue_Translate_core_message_queue_return_code (
    301265  uint32_t   the_message_queue_status
    302266);
    303267
    304 /*
    305  *
    306  *  _Message_queue_Core_message_queue_mp_support
     268#if defined(RTEMS_MULTIPROCESSING)
     269/**
     270 *  @brief Message_queue_Core_message_queue_mp_support
    307271 *
    308272 *  Input parameters:
     
    312276 *  Output parameters: NONE
    313277 */
    314 
    315 #if defined(RTEMS_MULTIPROCESSING)
    316278void  _Message_queue_Core_message_queue_mp_support (
    317279  Thread_Control *the_thread,
  • cpukit/rtems/include/rtems/rtems/modes.h

    r6be8a83 r067a96a  
    11/**
    22 * @file rtems/rtems/modes.h
     3 *
     4 *  This include file contains all constants and structures associated
     5 *  with the RTEMS thread and RTEMS_ASR modes.
    36 */
    47
    5 /*
    6  *  This include file contains all constants and structures associated
    7  *  with the RTEMS thread and RTEMS_ASR modes.
    8  *
    9  *  COPYRIGHT (c) 1989-1999.
     8/*  COPYRIGHT (c) 1989-1999.
    109 *  On-Line Applications Research Corporation (OAR).
    1110 *
     
    2019#define _RTEMS_RTEMS_MODES_H
    2120
     21/**
     22 *  @defgroup ClassicModes Classic API Modes
     23 *
     24 *  This encapsulates functionality which XXX
     25 */
     26/**@{*/
     27
    2228#ifdef __cplusplus
    2329extern "C" {
     
    2632#include <rtems/score/isr.h>
    2733
    28 /*
     34/**
    2935 *  The following type defines the control block used to manage
    3036 *  each a mode set.
    3137 */
    32 
    3338typedef uint32_t   Modes_Control;
    3439
    35 /*
     40/**
    3641 *  The following constants define the individual modes and masks
    3742 *  which may be used to compose a mode set and to alter modes.
    3843 */
    39 
    4044#define RTEMS_ALL_MODE_MASKS     0x0000ffff
    4145
     
    5761#define RTEMS_NO_ASR       0x00000400     /* disable RTEMS_ASR              */
    5862
    59 /*
     63/**
    6064 *  The number of bits for interrupt levels is CPU dependent.
    6165 *  RTEMS supports 0 to 256 levels in bits 0-7 of the mode.
    6266 */
    6367
    64 /*PAGE
    65  *
    66  *  RTEMS_INTERRUPT_LEVEL
    67  *
    68  *  DESCRIPTION:
     68/**
     69 *  @brief RTEMS_INTERRUPT_LEVEL
    6970 *
    7071 *  This function returns the processor dependent interrupt
    7172 *  level which corresponds to the requested interrupt level.
    7273 *
    73  * NOTE: RTEMS supports 256 interrupt levels using the least
    74  *       significant eight bits of MODES.CONTROL.  On any
    75  *       particular CPU, fewer than 256 levels may be supported.
     74 *  @note RTEMS supports 256 interrupt levels using the least
     75 *        significant eight bits of MODES.CONTROL.  On any
     76 *        particular CPU, fewer than 256 levels may be supported.
    7677 */
    77 
    7878#define RTEMS_INTERRUPT_LEVEL( _mode_set ) \
    7979  ( (_mode_set) & RTEMS_INTERRUPT_MASK )
  • cpukit/rtems/include/rtems/rtems/mp.h

    r6be8a83 r067a96a  
    11/**
    22 * @file rtems/rtems/mp.h
     3 *
     4 *  This include file contains all the constants and structures associated
     5 *  with the Multiprocessing Manager.
    36 */
    47
    5 /*
    6  *  This include file contains all the constants and structures associated
    7  *  with the Multiprocessing Manager.
    8  *
    9  *  COPYRIGHT (c) 1989-1999.
     8/*  COPYRIGHT (c) 1989-1999.
    109 *  On-Line Applications Research Corporation (OAR).
    1110 *
     
    2019#define _RTEMS_RTEMS_MP_H
    2120
     21/**
     22 *  @defgroup ClassicMP Classic API Multiprocessing
     23 *
     24 *  This encapsulates functionality which XXX
     25 */
     26/**@{*/
     27
    2228#ifdef __cplusplus
    2329extern "C" {
    2430#endif
    2531
    26 /*
    27  *
    28  *  _Multiprocessing_Manager_initialization
    29  *
    30  *  DESCRIPTION:
     32/**
     33 *  @brief Multiprocessing_Manager_initialization
    3134 *
    3235 *  This routine performs the initialization necessary for this manager.
    3336 */
    34 
    3537void _Multiprocessing_Manager_initialization ( void );
    3638
    37 /*
    38  *
    39  *  rtems_multiprocessing_announce
    40  *
    41  *  DESCRIPTION:
     39/**
     40 *  @brief rtems_multiprocessing_announce
    4241 *
    4342 *  This routine implements the MULTIPROCESSING_ANNOUNCE directive.
     
    4544 *  has been received.
    4645 */
    47 
    4846void rtems_multiprocessing_announce ( void );
    4947
     
    5250#endif
    5351
     52/**@}*/
     53
    5454#endif
    5555/*  end of include file */
  • cpukit/rtems/include/rtems/rtems/msgmp.h

    r6be8a83 r067a96a  
    11/**
    22 * @file rtems/rtems/msgmp.h
     3 *
     4 *  This include file contains all the constants and structures associated
     5 *  with the Multiprocessing Support in the Message Manager.
    36 */
    47
    5 /*
    6  *  This include file contains all the constants and structures associated
    7  *  with the Multiprocessing Support in the Message Manager.
    8  *
    9  *  COPYRIGHT (c) 1989-1999.
     8/*  COPYRIGHT (c) 1989-1999.
    109 *  On-Line Applications Research Corporation (OAR).
    1110 *
     
    3130#include <rtems/score/watchdog.h>
    3231
    33 /*
     32/**
     33 *  @defgroup ClassicMsgMP Classic API Message Queue MP Support
     34 *
     35 *  This encapsulates functionality which XXX
     36 */
     37/**{*/
     38
     39/**
    3440 *  The following enumerated type defines the list of
    3541 *  remote message queue operations.
    3642 */
    37 
    3843typedef enum {
    3944  MESSAGE_QUEUE_MP_ANNOUNCE_CREATE             =  0,
     
    5459}   Message_queue_MP_Remote_operations;
    5560
    56 /*
     61/**
    5762 *  The following data structure defines the packet used to perform
    5863 *  remote message queue operations.
    5964 */
    60 
    6165typedef struct {
    6266  rtems_packet_prefix                Prefix;
     
    7175}   Message_queue_MP_Packet;
    7276
    73 /*
    74  *  _Message_queue_MP_Send_process_packet
    75  *
    76  *  DESCRIPTION:
     77/**
     78 *  @brief _Message_queue_MP_Send_process_packet
    7779 *
    7880 *  This routine performs a remote procedure call so that a
    7981 *  process operation can be performed on another node.
    8082 */
    81 
    8283void _Message_queue_MP_Send_process_packet (
    8384  Message_queue_MP_Remote_operations operation,
     
    8788);
    8889
    89 /*
    90  *  _Message_queue_MP_Send_request_packet
    91  *
    92  *  DESCRIPTION:
     90/**
     91 *  @brief _Message_queue_MP_Send_request_packet
    9392 *
    9493 *  This routine performs a remote procedure call so that a
    9594 *  directive operation can be initiated on another node.
    9695 */
    97 
    9896rtems_status_code _Message_queue_MP_Send_request_packet (
    9997  Message_queue_MP_Remote_operations  operation,
     
    105103);
    106104
    107 /*
    108  *  _Message_queue_MP_Send_response_packet
    109  *
    110  *  DESCRIPTION:
     105/**
     106 *  @brief _Message_queue_MP_Send_response_packet
    111107 *
    112108 *  This routine performs a remote procedure call so that a
    113109 *  directive can be performed on another node.
    114110 */
    115 
    116111void _Message_queue_MP_Send_response_packet (
    117112  Message_queue_MP_Remote_operations  operation,
     
    120115);
    121116
    122 /*
     117/**
    123118 *
    124  *  _Message_queue_MP_Process_packet
    125  *
    126  *  DESCRIPTION:
     119 @brief *  _Message_queue_MP_Process_packet
    127120 *
    128121 *  This routine performs the actions specific to this package for
    129122 *  the request from another node.
    130123 */
    131 
    132124void _Message_queue_MP_Process_packet (
    133125  rtems_packet_prefix *the_packet_prefix
    134126);
    135127
    136 /*
    137  *  _Message_queue_MP_Send_object_was_deleted
    138  *
    139  *  DESCRIPTION:
     128/**
     129 *  @brief _Message_queue_MP_Send_object_was_deleted
    140130 *
    141131 *  This routine is invoked indirectly by the thread queue
     
    143133 *  the remote node must be informed of this.
    144134 */
    145 
    146135void _Message_queue_MP_Send_object_was_deleted (
    147136  Thread_Control *the_proxy
    148137);
    149138
    150 /*
    151  *  _Message_queue_MP_Send_extract_proxy
    152  *
    153  *  DESCRIPTION:
     139/**
     140 *  @brief _Message_queue_MP_Send_extract_proxy
    154141 *
    155142 *  This routine is invoked when a task is deleted and it
     
    157144 *  the remote node must be informed of this.
    158145 */
    159 
    160146void _Message_queue_MP_Send_extract_proxy (
    161147  void           *argument
    162148);
    163149
    164 /*
    165  *  _Message_queue_MP_Get_packet
    166  *
    167  *  DESCRIPTION:
     150/**
     151 *  @brief _Message_queue_MP_Get_packet
    168152 *
    169153 *  This function is used to obtain a message queue mp packet.
    170154 */
    171 
    172155Message_queue_MP_Packet *_Message_queue_MP_Get_packet ( void );
    173156
     
    176159#endif
    177160
     161/**@}*/
     162
    178163#endif
    179164/* end of file */
  • cpukit/rtems/include/rtems/rtems/object.h

    r6be8a83 r067a96a  
    11/**
    2  * @file rtems/classinfo.h
    3  */
    4  
    5 /*
    6  *  COPYRIGHT (c) 1989-2008.
     2 * @file rtems/rtems/object.h
     3 */
     4
     5/*  COPYRIGHT (c) 1989-2008.
    76 *  On-Line Applications Research Corporation (OAR).
    87 *
     
    2524#include <rtems/rtems/status.h>
    2625#include <rtems/rtems/types.h>
     26
     27/**
     28 *  @defgroup ClassicClassInfo Classic API Class Information
     29 *
     30 *  This encapsulates functionality which XXX
     31 */
     32/**@{*/
    2733
    2834/**
     
    326332#endif
    327333
     334/**@}*/
     335
    328336#endif
    329337/* end of include file */
  • cpukit/rtems/include/rtems/rtems/options.h

    r6be8a83 r067a96a  
    11/**
    22 * @file rtems/rtems/options.h
     3 *
     4 *  This include file contains information which defines the
     5 *  options available on many directives.
    36 */
    47
    5 /*
    6  *  This include file contains information which defines the
    7  *  options available on many directives.
    8  *
    9  *  COPYRIGHT (c) 1989-1999.
     8/*  COPYRIGHT (c) 1989-1999.
    109 *  On-Line Applications Research Corporation (OAR).
    1110 *
     
    2423#endif
    2524
    26 /*
     25/**
     26 *  @defgroup ClassicOptions Classic API Options
     27 *
     28 *  This encapsulates functionality which XXX
     29 */
     30/**@{*/
     31
     32/**
    2733 *  The following type defines the control block used to manage
    2834 *  option sets.
    2935 */
    30 
    3136typedef uint32_t   rtems_option;
    3237
    33 /*
     38/**
    3439 *  The following constants define the individual options which may
    3540 *  be used to compose an option set.
    3641 */
    37 
    3842#define RTEMS_DEFAULT_OPTIONS   0x00000000
    3943
  • cpukit/rtems/include/rtems/rtems/part.h

    r6be8a83 r067a96a  
    11/**
    22 * @file rtems/rtems/part.h
    3  */
    4 
    5 /*
     3 *
    64 *  This include file contains all the constants and structures associated
    75 *  with the Partition Manager.  This manager provides facilities to
     
    119 *  Directives provided are:
    1210 *
    13  *     + create a partition
    14  *     + get an ID of a partition
    15  *     + delete a partition
    16  *     + get a buffer from a partition
    17  *     + return a buffer to a partition
    18  *
    19  *  COPYRIGHT (c) 1989-2007.
     11 *     - create a partition
     12 *     - get an ID of a partition
     13 *     - delete a partition
     14 *     - get a buffer from a partition
     15 *     - return a buffer to a partition
     16 */
     17
     18/*  COPYRIGHT (c) 1989-2007.
    2019 *  On-Line Applications Research Corporation (OAR).
    2120 *
     
    4544#include <rtems/rtems/types.h>
    4645
    47 /*
     46/**
     47 *  @defgroup ClassicPart Classic API Partition
     48 *
     49 *  This encapsulates functionality which XXX
     50 */
     51/**@{*/
     52
     53/**
    4854 *  The following defines the control block used to manage each partition.
    4955 */
    50 
    5156typedef struct {
    5257  Objects_Control     Object;
     
    5964}   Partition_Control;
    6065
    61 /*
     66/**
    6267 *  The following defines the information control block used to
    6368 *  manage this class of objects.
    6469 */
    65 
    6670RTEMS_PART_EXTERN Objects_Information _Partition_Information;
    6771
    68 /*
    69  *  _Partition_Manager_initialization
    70  *
    71  *  DESCRIPTION:
     72/**
     73 *  @brief Partition_Manager_initialization
    7274 *
    7375 *  This routine performs the initialization necessary for this manager.
    7476 */
    75 
    7677void _Partition_Manager_initialization(
    7778  uint32_t   maximum_partitions
    7879);
    7980
    80 /*
    81  *  rtems_partition_create
    82  *
    83  *  DESCRIPTION:
     81/**
     82 *  @brief rtems_partition_create
    8483 *
    8584 *  This routine implements the rtems_partition_create directive.  The
     
    9190 *  created partition in ID.
    9291 */
    93 
    9492rtems_status_code rtems_partition_create(
    9593  rtems_name          name,
     
    10199);
    102100
    103 /*
    104  *  rtems_partition_ident
    105  *
    106  *  DESCRIPTION:
     101/**
     102 *  @brief rtems_partition_ident
    107103 *
    108104 *  This routine implements the rtems_partition_ident directive.
     
    114110 *  encompass all nodes.
    115111 */
    116 
    117112rtems_status_code rtems_partition_ident(
    118113  rtems_name    name,
     
    121116);
    122117
    123 /*
    124  *  rtems_partition_delete
    125  *
    126  *  DESCRIPTION:
     118/**
     119 *  @brief rtems_partition_delete
    127120 *
    128121 *  This routine implements the rtems_partition_delete directive.  The
    129122 *  partition indicated by ID is deleted.
    130123 */
    131 
    132124rtems_status_code rtems_partition_delete(
    133125  Objects_Id id
    134126);
    135127
    136 /*
    137  *  rtems_partition_get_buffer
    138  *
    139  *  DESCRIPTION:
     128/**
     129 *  @brief rtems_partition_get_buffer
    140130 *
    141131 *  This routine implements the rtems_partition_get_buffer directive.  It
     
    143133 *  If a buffer is allocated, its address is returned in buffer.
    144134 */
    145 
    146135rtems_status_code rtems_partition_get_buffer(
    147136  Objects_Id  id,
     
    149138);
    150139
    151 /*
    152  *  rtems_partition_return_buffer
    153  *
    154  *  DESCRIPTION:
     140/**
     141 *  @brief rtems_partition_return_buffer
    155142 *
    156143 *  This routine implements the rtems_partition_return_buffer directive.  It
     
    158145 *  have been previously allocated from the same partition.
    159146 */
    160 
    161147rtems_status_code rtems_partition_return_buffer(
    162148  Objects_Id  id,
     
    175161#endif
    176162
     163/**@}*/
     164
    177165#endif
    178166/* end of include file */
  • cpukit/rtems/include/rtems/rtems/partmp.h

    r6be8a83 r067a96a  
    11/**
    22 * @file rtems/rtems/partmp.h
     3 *
     4 *  This include file contains all the constants and structures associated
     5 *  with the Multiprocessing Support in the Partition Manager.
    36 */
    47
    5 /*
    6  *  This include file contains all the constants and structures associated
    7  *  with the Multiprocessing Support in the Partition Manager.
    8  *
    9  *  COPYRIGHT (c) 1989-1999.
     8/*  COPYRIGHT (c) 1989-1999.
    109 *  On-Line Applications Research Corporation (OAR).
    1110 *
     
    3130#include <rtems/rtems/part.h>
    3231
    33 /*
     32/**
     33 *  @defgroup ClassicPartMP Classic API Partition MP Support
     34 *
     35 *  This encapsulates functionality which XXX
     36 */
     37/**{*/
     38
     39/**
    3440 *  The following enumerated type defines the list of
    3541 *  remote partition operations.
    3642 */
    37 
    3843typedef enum {
    3944  PARTITION_MP_ANNOUNCE_CREATE        =  0,
     
    4651}   Partition_MP_Remote_operations;
    4752
    48 /*
     53/**
    4954 *  The following data structure defines the packet used to perform
    5055 *  remote partition operations.
    5156 */
    52 
    5357typedef struct {
    5458  rtems_packet_prefix             Prefix;
     
    5963}   Partition_MP_Packet;
    6064
    61 /*
    62  *  _Partition_MP_Send_process_packet
    63  *
    64  *  DESCRIPTION:
     65/**
     66 *  @brief Partition_MP_Send_process_packet
    6567 *
    6668 *  This routine performs a remote procedure call so that a
    6769 *  process operation can be performed on another node.
    6870 */
    69 
    7071void _Partition_MP_Send_process_packet (
    7172  Partition_MP_Remote_operations operation,
     
    7576);
    7677
    77 /*
    78  *  _Partition_MP_Send_request_packet
    79  *
    80  *  DESCRIPTION:
     78/**
     79 *  @brief Partition_MP_Send_request_packet
    8180 *
    8281 *  This routine performs a remote procedure call so that a
    8382 *  directive operation can be initiated on another node.
    8483 */
    85 
    8684rtems_status_code _Partition_MP_Send_request_packet (
    8785  Partition_MP_Remote_operations  operation,
     
    9088);
    9189
    92 /*
    93  *  _Partition_MP_Send_response_packet
    94  *
    95  *  DESCRIPTION:
     90/**
     91 *  @brief Partition_MP_Send_response_packet
    9692 *
    9793 *  This routine performs a remote procedure call so that a
    9894 *  directive can be performed on another node.
    9995 */
    100 
    10196void _Partition_MP_Send_response_packet (
    10297  Partition_MP_Remote_operations  operation,
     
    105100);
    106101
    107 /*
     102/**
    108103 *
    109  *  _Partition_MP_Process_packet
    110  *
    111  *  DESCRIPTION:
     104 *  @brief Partition_MP_Process_packet
    112105 *
    113106 *  This routine performs the actions specific to this package for
    114107 *  the request from another node.
    115108 */
    116 
    117109void _Partition_MP_Process_packet (
    118110  rtems_packet_prefix *the_packet_prefix
    119111);
    120112
    121 /*
    122  *  _Partition_MP_Send_object_was_deleted
    123  *
    124  *  DESCRIPTION:
     113/**
     114 *  @brief Partition_MP_Send_object_was_deleted
    125115 *
    126116 *  This routine is invoked indirectly by the thread queue
     
    131121 *  cannot be deleted when buffers are in use.
    132122 */
     123#warning "Why is there no prototype for Partition_MP_Send_object_was_deleted"
    133124
    134 /*
    135  *  _Partition_MP_Send_extract_proxy
    136  *
    137  *  DESCRIPTION:
     125/**
     126 *  @brief Partition_MP_Send_extract_proxy
    138127 *
    139128 *  This routine is invoked when a task is deleted and it
     
    141130 *  the remote node must be informed of this.
    142131 */
    143 
    144132void _Partition_MP_Send_extract_proxy (
    145133  void           *argument
    146134);
    147135
    148 /*
    149  *  _Partition_MP_Get_packet
    150  *
    151  *  DESCRIPTION:
     136/**
     137 *  @brief Partition_MP_Get_packet
    152138 *
    153139 *  This function is used to obtain a partition mp packet.
    154140 */
    155 
    156141Partition_MP_Packet *_Partition_MP_Get_packet ( void );
    157142
     
    160145#endif
    161146
     147/**@}*/
     148
    162149#endif
    163150/* end of file */
  • cpukit/rtems/include/rtems/rtems/ratemon.h

    r6be8a83 r067a96a  
    11/**
    22 * @file rtems/rtems/ratemon.h
    3  */
    4 
    5 /*
     3 *
    64 *  This include file contains all the constants, structures, and
    75 *  prototypes associated with the Rate Monotonic Manager.  This manager
     
    108 *  Directives provided are:
    119 *
    12  *     + create a rate monotonic timer
    13  *     + cancel a period
    14  *     + delete a rate monotonic timer
    15  *     + conclude current and start the next period
    16  *     + obtain status information on a period
    17  *
    18  *  COPYRIGHT (c) 1989-2007.
     10 *     - create a rate monotonic timer
     11 *     - cancel a period
     12 *     - delete a rate monotonic timer
     13 *     - conclude current and start the next period
     14 *     - obtain status information on a period
     15 */
     16
     17/*  COPYRIGHT (c) 1989-2007.
    1918 *  On-Line Applications Research Corporation (OAR).
    2019 *
     
    3534#include <rtems/bspIo.h>
    3635
     36/**
     37 *  @defgroup ClassicRateMon Classic API Rate Monotonic
     38 *
     39 *  This encapsulates functionality which XXX
     40 */
     41/**@{*/
     42
    3743#ifdef __cplusplus
    3844extern "C" {
     
    4450 */
    4551#ifndef __RTEMS_USE_TICKS_RATE_MONOTONIC_STATISTICS__
    46   /*
     52  /**
    4753   *  Enable the nanosecond accurate statistics
    4854   *
     
    6167#include <string.h>
    6268
    63 /*
     69/**
    6470 *  The following enumerated type defines the states in which a
    6571 *  period may be.
    6672 */
    67 
    6873typedef enum {
    6974  RATE_MONOTONIC_INACTIVE,               /* off chain, never initialized */
     
    7681}   rtems_rate_monotonic_period_states;
    7782
    78 /*
     83/**
    7984 *  The following constant is the interval passed to the rate_monontonic_period
    8085 *  directive to obtain status information.
    8186 */
    82 
    8387#define RTEMS_PERIOD_STATUS       WATCHDOG_NO_TIMEOUT
    8488
    85 /*
     89/**
    8690 *  The following defines the statistics kept on each period instance.
    8791 */
    88 
    8992typedef struct {
    9093  uint32_t     count;
     
    110113}  rtems_rate_monotonic_period_statistics;
    111114
    112 /*
     115/**
    113116 *  The following defines the period status structure.
    114117 */
    115 
    116118typedef struct {
    117119  Objects_Id                          owner;
     
    129131}  rtems_rate_monotonic_period_status;
    130132
    131 /*
     133/**
    132134 *  The following structure defines the control block used to manage
    133135 *  each period.
    134136 */
    135 
    136137typedef struct {
    137138  Objects_Control                         Object;
     
    155156RTEMS_RATEMON_EXTERN Objects_Information _Rate_monotonic_Information;
    156157
    157 /*
     158/**
    158159 *  _Rate_monotonic_Manager_initialization
    159160 *
    160  *  DESCRIPTION:
    161  *
    162161 *  This routine performs the initialization necessary for this manager.
    163162 */
    164 
    165163void _Rate_monotonic_Manager_initialization(
    166164  uint32_t   maximum_periods
    167165);
    168166
    169 /*
    170  *  rtems_rate_monotonic_create
    171  *
    172  *  DESCRIPTION:
     167/**
     168 *  @brief rtems_rate_monotonic_create
    173169 *
    174170 *  This routine implements the rate_monotonic_create directive.  The
     
    176172 *  created period in ID.
    177173 */
    178 
    179174rtems_status_code rtems_rate_monotonic_create(
    180175  rtems_name    name,
     
    182177);
    183178
    184 /*
    185  *  rtems_rate_monotonic_ident
    186  *
    187  *  DESCRIPTION:
     179/**
     180 *  @brief rtems_rate_monotonic_ident
    188181 *
    189182 *  This routine implements the rtems_rate_monotonic_ident directive.
     
    192185 *  to which the ID belongs is arbitrary.
    193186 */
    194 
    195187rtems_status_code rtems_rate_monotonic_ident(
    196188  rtems_name    name,
     
    198190);
    199191
    200 /*
    201  *  rtems_rate_monotonic_cancel
    202  *
    203  *  DESCRIPTION:
     192/**
     193 *  @brief rtems_rate_monotonic_cancel
    204194 *
    205195 *  This routine implements the rtems_rate_monotonic_cancel directive.  This
     
    207197 *  run.
    208198 */
    209 
    210199rtems_status_code rtems_rate_monotonic_cancel(
    211200  Objects_Id id
    212201);
    213202
    214 /*
    215  *  rtems_rate_monotonic_delete
    216  *
    217  *  DESCRIPTION:
     203/**
     204 *  @brief rtems_rate_monotonic_delete
    218205 *
    219206 *  This routine implements the rtems_rate_monotonic_delete directive.  The
    220207 *  period indicated by ID is deleted.
    221208 */
    222 
    223209rtems_status_code rtems_rate_monotonic_delete(
    224210  Objects_Id id
    225211);
    226212
    227 /*
    228  *  rtems_rate_monotonic_get_status
    229  *
    230  *  DESCRIPTION:
     213/**
     214 *  @brief rtems_rate_monotonic_get_status
    231215 *
    232216 *  This routine implements the rtems_rate_monotonic_get_status directive.
     
    234218 *
    235219 */
    236 
    237220rtems_status_code rtems_rate_monotonic_get_status(
    238221  Objects_Id                           id,
     
    240223);
    241224
    242 /*
    243  *  rtems_rate_monotonic_get_statistics
    244  *
    245  *  DESCRIPTION:
     225/**
     226 *  @brief rtems_rate_monotonic_get_statistics
    246227 *
    247228 *  This routine implements the rtems_rate_monotonic_get_statistics directive.
    248229 *  Statistics gathered from the use of this period are returned.
    249230 */
    250 
    251231rtems_status_code rtems_rate_monotonic_get_statistics(
    252232  Objects_Id                              id,
     
    254234);
    255235
    256 /*
    257  *  rtems_rate_monotonic_reset_statistics
    258  *
    259  *  DESCRIPTION:
     236/**
     237 *  @brief rtems_rate_monotonic_reset_statistics
    260238 *
    261239 *  This directive allows a thread to reset the statistics information
     
    266244);
    267245
    268 /*
    269  *  rtems_rate_monotonic_reset_all_statistics
    270  *
    271  *  DESCRIPTION:
     246/**
     247 *  @brief rtems_rate_monotonic_reset_all_statistics
    272248 *
    273249 *  This directive allows a thread to reset the statistics information
     
    276252void rtems_rate_monotonic_reset_all_statistics( void );
    277253
    278 /*
    279  *  rtems_rate_monotonic_report_statistics
    280  *
    281  *  DESCRIPTION:
     254/**
     255 *  @brief rtems_rate_monotonic_report_statistics
    282256 *
    283257 *  This directive allows a thread to print the statistics information
     
    289263);
    290264
    291 /*
    292  *  rtems_rate_monotonic_report_statistics
    293  *
    294  *  DESCRIPTION:
     265/**
     266 *  @brief rtems_rate_monotonic_report_statistics
    295267 *
    296268 *  This directive allows a thread to print the statistics information
     
    299271void rtems_rate_monotonic_report_statistics( void );
    300272
    301 /*
    302  *  rtems_rate_monotonic_period
    303  *
    304  *  DESCRIPTION:
     273/**
     274 *  @brief rtems_rate_monotonic_period
    305275 *
    306276 *  This routine implements the rtems_rate_monotonic_period directive.  When
     
    309279 *  result is set to indicate the current state of the period.
    310280 */
    311 
    312281rtems_status_code rtems_rate_monotonic_period(
    313282  Objects_Id      id,
     
    315284);
    316285
    317 /*
    318  *  _Rate_monotonic_Timeout
    319  *
    320  *  DESCRIPTION:
     286/**
     287 *  @brief _Rate_monotonic_Timeout
    321288 *
    322289 *  This routine is invoked when the period represented
     
    327294 *  state and not restarted.
    328295 */
    329 
    330296void _Rate_monotonic_Timeout(
    331297  Objects_Id  id,
     
    333299);
    334300
    335 /*
    336  *  _Rate_monotonic_Reset_statistics
    337  *
    338  *  DESCRIPTION:
     301/**
     302 *  @brief _Rate_monotonic_Reset_statistics
    339303 *
    340304 *  This method resets the statistics information for a period instance.
    341305 */
    342 
    343306#ifdef RTEMS_ENABLE_NANOSECOND_RATE_MONOTONIC_STATISTICS
    344307  #define _Rate_monotonic_Reset_wall_time_statistics( _the_period ) \
     
    382345#endif
    383346
     347/**@}*/
     348
    384349#endif
    385350/* end of include file */
  • cpukit/rtems/include/rtems/rtems/region.h

    r6be8a83 r067a96a  
    11/**
    22 * @file rtems/rtems/region.h
    3  */
    4 
    5 /*
     3 *
    64 *  This include file contains all the constants and structures associated
    75 *  with the Region Manager.  This manager provides facilities to dynamically
     
    108 *  Directives provided are:
    119 *
    12  *     + create a region
    13  *     + get an ID of a region
    14  *     + delete a region
    15  *     + get a segment from a region
    16  *     + return a segment to a region
    17  *
    18  *  COPYRIGHT (c) 1989-2007.
     10 *     - create a region
     11 *     - get an ID of a region
     12 *     - delete a region
     13 *     - get a segment from a region
     14 *     - return a segment to a region
     15 */
     16
     17/*  COPYRIGHT (c) 1989-2007.
    1918 *  On-Line Applications Research Corporation (OAR).
    2019 *
     
    2827#ifndef _RTEMS_RTEMS_REGION_H
    2928#define _RTEMS_RTEMS_REGION_H
    30 
    31 #ifndef RTEMS_REGION_EXTERN
    32 #define RTEMS_REGION_EXTERN extern
    33 #endif
    34 
    35 #ifdef __cplusplus
    36 extern "C" {
    37 #endif
    3829
    3930#include <stddef.h>
     
    4940#include <rtems/rtems/types.h>
    5041
    51 /*
     42/**
     43 *  @defgroup ClassicRegion Classic API Region
     44 *
     45 *  This encapsulates functionality which XXX
     46 */
     47/**@{*/
     48
     49#ifndef RTEMS_REGION_EXTERN
     50#define RTEMS_REGION_EXTERN extern
     51#endif
     52
     53#ifdef __cplusplus
     54extern "C" {
     55#endif
     56
     57/**
    5258 *  The following records define the control block used to manage
    5359 *  each region.
     
    6672}  Region_Control;
    6773
    68 /*
     74/**
    6975 *  The following defines the information control block used to
    7076 *  manage this class of objects.
    7177 */
    72 
    7378RTEMS_REGION_EXTERN Objects_Information _Region_Information;
    7479
    75 /*
    76  *  _Region_Manager_initialization
    77  *
    78  *  DESCRIPTION:
     80/**
     81 *  @brief _Region_Manager_initialization
    7982 *
    8083 *  This routine performs the initialization necessary for this manager.
    8184 */
    82 
    8385void _Region_Manager_initialization(
    8486  uint32_t   maximum_regions
    8587);
    8688
    87 /*
    88  *  rtems_region_create
    89  *
    90  *  DESCRIPTION:
     89/**
     90 *  @brief rtems_region_create
    9191 *
    9292 *  This routine implements the rtems_region_create directive.  The
     
    9898 *  id of the created region in ID.
    9999 */
    100 
    101100rtems_status_code rtems_region_create(
    102101  rtems_name          name,
     
    108107);
    109108
    110 /*
    111  *  rtems_region_extend
    112  *
    113  *  DESCRIPTION:
     109/**
     110 *  @brief rtems_region_extend
    114111 *
    115112 *  This routine implements the rtems_region_extend directive.  The
     
    118115 *  the memory starting at starting_address.
    119116 */
    120 
    121117rtems_status_code rtems_region_extend(
    122118  Objects_Id          id,
     
    125121);
    126122
    127 /*
    128  *  rtems_region_ident
    129  *
    130  *  DESCRIPTION:
     123/**
     124 *  @brief rtems_region_ident
    131125 *
    132126 *  This routine implements the rtems_region_ident directive.
     
    135129 *  to which the ID belongs is arbitrary.
    136130 */
    137 
    138131rtems_status_code rtems_region_ident(
    139132  rtems_name    name,
     
    141134);
    142135
    143 /*
    144  *  rtems_region_get_information
    145  *
    146  *  DESCRIPTION:
     136/**
     137 *  @brief rtems_region_get_information
    147138 *
    148139 *  This routine implements the rtems_region_get_information directive.
     
    150141 *  this region.
    151142 */
    152 
    153143rtems_status_code rtems_region_get_information(
    154144  Objects_Id              id,
     
    156146);
    157147
    158 /*
    159  *  rtems_region_get_free_information
    160  *
    161  *  DESCRIPTION:
     148/**
     149 *  @brief rtems_region_get_free_information
    162150 *
    163151 *  This routine implements the rtems_region_get_free_information directive.
     
    165153 *  heap associated with this region.
    166154 */
    167 
    168155rtems_status_code rtems_region_get_free_information(
    169156  Objects_Id              id,
     
    171158);
    172159
    173 /*
    174  *  rtems_region_delete
    175  *
    176  *  DESCRIPTION:
     160/**
     161 *  @brief rtems_region_delete
    177162 *
    178163 *  This routine implements the rtems_region_delete directive.  The
    179164 *  region indicated by ID is deleted.
    180165 */
    181 
    182166rtems_status_code rtems_region_delete(
    183167  Objects_Id id
    184168);
    185169
    186 /*
    187  *  rtems_region_get_segment
    188  *
    189  *  DESCRIPTION:
     170/**
     171 *  @brief rtems_region_get_segment
    190172 *
    191173 *  This routine implements the rtems_region_get_segment directive.  It
     
    197179 *  immediately is based on the no_wait option in the option_set.
    198180 */
    199 
    200181rtems_status_code rtems_region_get_segment(
    201182  Objects_Id         id,
     
    206187);
    207188
    208 /*
    209  *  rtems_region_get_segment_size
    210  *
    211  *  DESCRIPTION:
     189/**
     190 *  @brief rtems_region_get_segment_size
    212191 *
    213192 *  This routine implements the rtems_region_get_segment_size directive.  It
    214193 *  returns the size in bytes of the specified user memory area.
    215194 */
    216 
    217195rtems_status_code rtems_region_get_segment_size(
    218196  Objects_Id         id,
     
    221199);
    222200
    223 /*
    224  *  rtems_region_return_segment
    225  *
    226  *  DESCRIPTION:
     201/**
     202 *  @brief rtems_region_return_segment
    227203 *
    228204 *  This routine implements the rtems_region_return_segment directive.  It
     
    234210 *  satisfied.
    235211 */
    236 
    237212rtems_status_code rtems_region_return_segment(
    238213  Objects_Id  id,
     
    240215);
    241216
    242 /*
    243  *  rtems_region_resize_segment
    244  *
    245  *  DESCRIPTION:
     217/**
     218 *  @brief rtems_region_resize_segment
    246219 *
    247220 *  This routine implements the rtems_region_resize_segment directive.  It
     
    262235 *  segment.
    263236 */
    264 
    265237rtems_status_code rtems_region_resize_segment(
    266238  Objects_Id  id,
     
    272244#ifndef __RTEMS_APPLICATION__
    273245#include <rtems/rtems/region.inl>
     246/**
     247 *  @brief Region_Process_queue
     248 *
     249 *  This is a helper routine which is invoked any time memory is
     250 *  freed.  It looks at the set of waiting tasks and attempts to
     251 *  satisfy all outstanding requests.
     252 */
    274253extern void _Region_Process_queue(Region_Control *the_region);
    275 #endif
     254
     255#endif
     256
    276257#if defined(RTEMS_MULTIPROCESSING)
    277258#include <rtems/rtems/regionmp.h>
    278259#endif
    279260
    280 /*
    281  *  _Region_Debug_Walk
    282  *
    283  *  DESCRIPTION:
     261/**
     262 *  @brief _Region_Debug_Walk
    284263 *
    285264 *  This routine is invoked to verify the integrity of a heap associated
    286265 *  with the_region.
    287266 */
    288 
    289267#ifdef RTEMS_DEBUG
    290268
     
    305283#endif
    306284
     285/**@}*/
     286
    307287#endif
    308288/* end of include file */
  • cpukit/rtems/include/rtems/rtems/regionmp.h

    r6be8a83 r067a96a  
    11/**
    22 * @file rtems/rtems/regionmp.h
     3 *
     4 *  This include file contains all the constants and structures associated
     5 *  with the Multiprocessing Support in the Region Manager.
    36 */
    47
    5 /*
    6  *  This include file contains all the constants and structures associated
    7  *  with the Multiprocessing Support in the Region Manager.
    8  *
    9  *  COPYRIGHT (c) 1989-1999.
     8/*  COPYRIGHT (c) 1989-1999.
    109 *  On-Line Applications Research Corporation (OAR).
    1110 *
     
    3130#include <rtems/rtems/region.h>
    3231
    33 /*
     32/**
     33 *  @defgroup ClassicRegionMP Classic API Region MP Support
     34 *
     35 *  This encapsulates functionality which XXX
     36 */
     37/**@{*/
     38
     39/**
    3440 *  The following enumerated type defines the list of
    3541 *  remote region operations.
    3642 */
    37 
    3843typedef enum {
    3944  REGION_MP_ANNOUNCE_CREATE         =  0,
     
    4651}   Region_MP_Remote_operations;
    4752
    48 /*
     53/**
    4954 *  The following data structure defines the packet used to perform
    5055 *  remote region operations.
    5156 */
    52 
    5357typedef struct {
    5458  rtems_packet_prefix          Prefix;
     
    6165}   Region_MP_Packet;
    6266
    63 /*
    64  *  _Region_MP_Send_process_packet
    65  *
    66  *  DESCRIPTION:
     67/**
     68 *  @brief _Region_MP_Send_process_packet
    6769 *
    6870 *  This routine performs a remote procedure call so that a
    6971 *  process operation can be performed on another node.
    7072 */
    71 
    7273void _Region_MP_Send_process_packet (
    7374  Region_MP_Remote_operations operation,
     
    7778);
    7879
    79 /*
    80  *  _Region_MP_Send_request_packet
    81  *
    82  *  DESCRIPTION:
     80/**
     81 *  @brief _Region_MP_Send_request_packet
    8382 *
    8483 *  This routine performs a remote procedure call so that a
    8584 *  directive operation can be initiated on another node.
    8685 */
    87 
    8886rtems_status_code _Region_MP_Send_request_packet (
    8987  Region_MP_Remote_operations  operation,
     
    9593);
    9694
    97 /*
    98  *  _Region_MP_Send_response_packet
    99  *
    100  *  DESCRIPTION:
     95/**
     96 *  @brief _Region_MP_Send_response_packet
    10197 *
    10298 *  This routine performs a remote procedure call so that a
    10399 *  directive can be performed on another node.
    104100 */
    105 
    106101void _Region_MP_Send_response_packet (
    107102  Region_MP_Remote_operations  operation,
     
    110105);
    111106
    112 /*
    113  *
    114  *  _Region_MP_Process_packet
    115  *
    116  *  DESCRIPTION:
     107/**
     108 *  @brief _Region_MP_Process_packet
    117109 *
    118110 *  This routine performs the actions specific to this package for
    119111 *  the request from another node.
    120112 */
    121 
    122113void _Region_MP_Process_packet (
    123114  rtems_packet_prefix *the_packet_prefix
     
    125116
    126117/*
    127  *  _Region_MP_Send_object_was_deleted
    128  *
    129  *  DESCRIPTION:
     118 *  @brief _Region_MP_Send_object_was_deleted
    130119 *
    131120 *  This routine is invoked indirectly by the thread queue
     
    137126 */
    138127
    139 /*
    140  *  _Region_MP_Send_extract_proxy
    141  *
    142  *  DESCRIPTION:
     128/**
     129 *  @brief _Region_MP_Send_extract_proxy
    143130 *
    144131 *  This routine is invoked when a task is deleted and it
     
    146133 *  the remote node must be informed of this.
    147134 */
    148 
    149135void _Region_MP_Send_extract_proxy (
    150136  void           *argument
    151137);
    152138
    153 /*
    154  *  _Region_MP_Get_packet
    155  *
    156  *  DESCRIPTION:
     139/**
     140 *  @brief _Region_MP_Get_packet
    157141 *
    158142 *  This function is used to obtain a region mp packet.
    159143 */
    160 
    161144Region_MP_Packet *_Region_MP_Get_packet ( void );
    162145
     
    165148#endif
    166149
     150/**@}*/
     151
    167152#endif
    168153/* end of file */
  • cpukit/rtems/include/rtems/rtems/rtemsapi.h

    r6be8a83 r067a96a  
    11/**
    22 * @file rtems/rtems/rtemsapi.h
     3 *
     4 *  RTEMS API Support
    35 */
    46
    5 /*
    6  *  RTEMS API Support
    7  *
    8  *  COPYRIGHT (c) 1989-1999.
     7/*  COPYRIGHT (c) 1989-1999.
    98 *  On-Line Applications Research Corporation (OAR).
    109 *
     
    2120#include <rtems/config.h>
    2221
    23 /*PAGE
     22/**
     23 *  @defgroup ClassicRTEMS Classic RTEMS Support
    2424 *
     25 *  This encapsulates functionality which XXX
     26 */
     27/**@{*/
     28
     29/**
    2530 *  _RTEMS_API_Initialize
    2631 *
     
    2934 *  from the configuration_table.
    3035 */
    31 
    3236void _RTEMS_API_Initialize(
    3337  rtems_configuration_table *configuration_table
    3438);
    3539
     40/**@}*/
     41
    3642#endif
    3743/* end of include file */
  • cpukit/rtems/include/rtems/rtems/sem.h

    r6be8a83 r067a96a  
    11/**
    22 * @file rtems/rtems/sem.h
    3  */
    4 
    5 /*
     3 *
    64 *  This include file contains all the constants and structures associated
    75 *  with the Semaphore Manager.  This manager utilizes standard Dijkstra
     
    119 *  Directives provided are:
    1210 *
    13  *     + create a semaphore
    14  *     + get an ID of a semaphore
    15  *     + delete a semaphore
    16  *     + acquire a semaphore
    17  *     + release a semaphore
    18  *
    19  *  COPYRIGHT (c) 1989-2007.
     11 *     - create a semaphore
     12 *     - get an ID of a semaphore
     13 *     - delete a semaphore
     14 *     - acquire a semaphore
     15 *     - release a semaphore
     16 */
     17
     18/*  COPYRIGHT (c) 1989-2007.
    2019 *  On-Line Applications Research Corporation (OAR).
    2120 *
     
    4645#include <rtems/score/coresem.h>
    4746
    48 /*
     47/**
     48 *  @defgroup ClassicSem Classic API Semaphore
     49 *
     50 *  This encapsulates functionality which XXX
     51 */
     52/**@{*/
     53
     54/**
    4955 *  The following defines the control block used to manage each semaphore.
    5056 */
    51 
    5257typedef struct {
    5358  Objects_Control          Object;
     
    5964}   Semaphore_Control;
    6065
    61 /*
     66/**
    6267 *  The following defines the information control block used to manage
    6368 *  this class of objects.
    6469 */
    65 
    6670RTEMS_SEM_EXTERN Objects_Information  _Semaphore_Information;
    6771
    68 /*
    69  *  _Semaphore_Manager_initialization
    70  *
    71  *  DESCRIPTION:
     72/**
     73 *  @brief Semaphore_Manager_initialization
    7274 *
    7375 *  This routine performs the initialization necessary for this manager.
    7476 */
    75 
    7677void _Semaphore_Manager_initialization(
    7778  uint32_t   maximum_semaphores
    7879);
    7980
    80 /*
    81  *  rtems_semaphore_create
    82  *
    83  *  DESCRIPTION:
     81/**
     82 *  @brief rtems_semaphore_create
    8483 *
    8584 *  This routine implements the rtems_semaphore_create directive.  The
     
    8988 *  discipline.  It returns the id of the created semaphore in ID.
    9089 */
    91 
    9290rtems_status_code rtems_semaphore_create(
    9391  rtems_name           name,
     
    9896);
    9997
    100 /*
    101  *  rtems_semaphore_ident
    102  *
    103  *  DESCRIPTION:
     98/**
     99 *  @brief rtems_semaphore_ident
    104100 *
    105101 *  This routine implements the rtems_semaphore_ident directive.
     
    111107 *  encompass all nodes.
    112108 */
    113 
    114109rtems_status_code rtems_semaphore_ident(
    115110  rtems_name    name,
     
    118113);
    119114
    120 /*
    121  *  rtems_semaphore_delete
    122  *
    123  *  DESCRIPTION:
     115/**
     116 *  @brief rtems_semaphore_delete
    124117 *
    125118 *  This routine implements the rtems_semaphore_delete directive.  The
    126119 *  semaphore indicated by ID is deleted.
    127120 */
    128 
    129121rtems_status_code rtems_semaphore_delete(
    130122  rtems_id   id
    131123);
    132124
    133 /*
    134  *  rtems_semaphore_obtain
    135  *
    136  *  DESCRIPTION:
     125/**
     126 *  @brief rtems_semaphore_obtain
    137127 *
    138128 *  This routine implements the rtems_semaphore_obtain directive.  It
     
    144134 *  is based on the RTEMS_NO_WAIT option in the option_set.
    145135 */
    146 
    147136rtems_status_code rtems_semaphore_obtain(
    148137  rtems_id       id,
     
    151140);
    152141
    153 /*
    154  *  rtems_semaphore_release
    155  *
    156  *  DESCRIPTION:
     142/**
     143 *  @brief rtems_semaphore_release
    157144 *
    158145 *  This routine implements the rtems_semaphore_release directive.  It
     
    162149 *  will be returned to the semaphore.
    163150 */
    164 
    165151rtems_status_code rtems_semaphore_release(
    166152  rtems_id   id
    167153);
    168154
    169 /*
    170  *  rtems_semaphore_flush
    171  *
    172  *  This directive allows a thread to flush the threads
     155/**
     156 *  @brief rtems_semaphore_flush
    173157 *  pending on the semaphore.
    174158 */
    175 
    176159rtems_status_code rtems_semaphore_flush(
    177160  rtems_id         id
    178161);
    179162
    180 /*
    181  *  _Semaphore_Seize
    182  *
    183  *  DESCRIPTION:
     163/**
     164 *  @brief _Semaphore_Seize
    184165 *
    185166 *  This routine attempts to receive a unit from the_semaphore.
     
    188169 *  is blocked until a unit becomes available.
    189170 */
    190 
    191171boolean _Semaphore_Seize(
    192172  Semaphore_Control *the_semaphore,
     
    194174);
    195175
    196 /*
    197  *  _Semaphore_Translate_core_mutex_return_code
    198  *
    199  *  DESCRIPTION:
     176/**
     177 *  @brief _Semaphore_Translate_core_mutex_return_code
    200178 *
    201179 *  This function returns a RTEMS status code based on the mutex
    202180 *  status code specified.
    203181 */
    204 
    205182rtems_status_code _Semaphore_Translate_core_mutex_return_code (
    206183  uint32_t   the_mutex_status
    207184);
    208185
    209 /*
    210  *  _Semaphore_Translate_core_semaphore_return_code
    211  *
    212  *  DESCRIPTION:
     186/**
     187 *  @brief _Semaphore_Translate_core_semaphore_return_code
    213188 *
    214189 *  This function returns a RTEMS status code based on the semaphore
    215190 *  status code specified.
    216191 */
    217 
    218192rtems_status_code _Semaphore_Translate_core_semaphore_return_code (
    219193  uint32_t   the_mutex_status
    220194);
    221195
    222 /*PAGE
    223  *
    224  *  _Semaphore_Core_mutex_mp_support
    225  *
    226  *  DESCRIPTION:
    227  *
    228  *  This function processes the global actions necessary for remote
    229  *  accesses to a global semaphore based on a core mutex.  This function
    230  *  is called by the core.
    231  */
    232 
    233 #if defined(RTEMS_MULTIPROCESSING)
    234 void  _Semaphore_Core_mutex_mp_support (
    235   Thread_Control *the_thread,
    236   rtems_id        id
    237 );
    238 #endif
    239 
    240 /*PAGE
    241  *
    242  *  _Semaphore_Core_mp_support
    243  *
    244  *  DESCRIPTION:
    245  *
    246  *  This function processes the global actions necessary for remote
    247  *  accesses to a global semaphore based on a core semaphore.  This function
    248  *  is called by the core.
    249  */
    250 
    251 void  _Semaphore_Core_semaphore_mp_support (
    252   Thread_Control *the_thread,
    253   rtems_id        id
    254 );
    255 
    256 /*PAGE
    257  *
    258  *  _POSIX_Semaphore_MP_support
    259  *
    260  *  DESCRIPTION:
    261  *
    262  *  XXX
    263  */
    264 
    265 void _POSIX_Semaphore_MP_support(
    266   Thread_Control *the_thread,
    267   Objects_Id      id
    268 );
    269 
    270196#ifndef __RTEMS_APPLICATION__
    271197#include <rtems/rtems/sem.inl>
     
    279205#endif
    280206
     207/**@}*/
     208
    281209#endif
    282210/*  end of include file */
  • cpukit/rtems/include/rtems/rtems/semmp.h

    r6be8a83 r067a96a  
    11/**
    22 * @file rtems/rtems/semmp.h
     3 *
     4 *  This include file contains all the constants and structures associated
     5 *  with the Multiprocessing Support in the Semaphore Manager.
    36 */
    47
    5 /*
    6  *  This include file contains all the constants and structures associated
    7  *  with the Multiprocessing Support in the Semaphore Manager.
    8  *
    9  *  COPYRIGHT (c) 1989-1999.
     8/*  COPYRIGHT (c) 1989-1999.
    109 *  On-Line Applications Research Corporation (OAR).
    1110 *
     
    3130#include <rtems/score/watchdog.h>
    3231
    33 /*
     32/**
     33 *  @defgroup ClassicSEM Classic API Semaphore MP Support
     34 *
     35 *  This encapsulates functionality which XXX
     36 */
     37/**@{*/
     38
     39/**
    3440 *  The following enumerated type defines the list of
    3541 *  remote semaphore operations.
    3642 */
    37 
    3843typedef enum {
    3944  SEMAPHORE_MP_ANNOUNCE_CREATE  =  0,
     
    4651}   Semaphore_MP_Remote_operations;
    4752
    48 /*
     53/**
    4954 *  The following data structure defines the packet used to perform
    5055 *  remote semaphore operations.
    5156 */
    52 
    5357typedef struct {
    5458  rtems_packet_prefix             Prefix;
     
    5963}   Semaphore_MP_Packet;
    6064
    61 /*
    62  *  _Semaphore_MP_Send_process_packet
    63  *
    64  *  DESCRIPTION:
     65/**
     66 *  @brief Semaphore_MP_Send_process_packet
    6567 *
    6668 *  This routine performs a remote procedure call so that a
    6769 *  process operation can be performed on another node.
    6870 */
    69 
    7071void _Semaphore_MP_Send_process_packet (
    7172  Semaphore_MP_Remote_operations operation,
     
    7576);
    7677
    77 /*
    78  *  _Semaphore_MP_Send_request_packet
    79  *
    80  *  DESCRIPTION:
     78/**
     79 *  @brief Semaphore_MP_Send_request_packet
    8180 *
    8281 *  This routine performs a remote procedure call so that a
    8382 *  directive operation can be initiated on another node.
    8483 */
    85 
    8684rtems_status_code _Semaphore_MP_Send_request_packet (
    8785  Semaphore_MP_Remote_operations operation,
     
    9189);
    9290
    93 /*
    94  *  _Semaphore_MP_Send_response_packet
    95  *
    96  *  DESCRIPTION:
     91/**
     92 *  @brief Semaphore_MP_Send_response_packet
    9793 *
    9894 *  This routine performs a remote procedure call so that a
    9995 *  directive can be performed on another node.
    10096 */
    101 
    10297void _Semaphore_MP_Send_response_packet (
    10398  Semaphore_MP_Remote_operations  operation,
     
    106101);
    107102
    108 /*
    109  *
    110  *  _Semaphore_MP_Process_packet
    111  *
    112  *  DESCRIPTION:
     103/**
     104 *  @brief Semaphore_MP_Process_packet
    113105 *
    114106 *  This routine performs the actions specific to this package for
    115107 *  the request from another node.
    116108 */
    117 
    118109void _Semaphore_MP_Process_packet (
    119110  rtems_packet_prefix *the_packet_prefix
    120111);
    121112
    122 /*
    123  *  _Semaphore_MP_Send_object_was_deleted
    124  *
    125  *  DESCRIPTION:
     113/**
     114 *  @brief Semaphore_MP_Send_object_was_deleted
    126115 *
    127116 *  This routine is invoked indirectly by the thread queue
     
    129118 *  the remote node must be informed of this.
    130119 */
    131 
    132120void _Semaphore_MP_Send_object_was_deleted (
    133121  Thread_Control *the_proxy
    134122);
    135123
    136 /*
    137  *  _Semaphore_MP_Send_extract_proxy
    138  *
    139  *  DESCRIPTION:
     124/**
     125 *  @brief Semaphore_MP_Send_extract_proxy
    140126 *
    141127 *  This routine is invoked when a task is deleted and it
     
    143129 *  the remote node must be informed of this.
    144130 */
    145 
    146131void _Semaphore_MP_Send_extract_proxy (
    147132  void           *argument
    148133);
    149134
    150 /*
    151  *  _Semaphore_MP_Get_packet
    152  *
    153  *  DESCRIPTION:
     135/**
     136 *  @brief Semaphore_MP_Get_packet
    154137 *
    155138 *  This function is used to obtain a semaphore mp packet.
    156139 */
     140Semaphore_MP_Packet *_Semaphore_MP_Get_packet ( void );
    157141
    158 Semaphore_MP_Packet *_Semaphore_MP_Get_packet ( void );
     142/**
     143 * @brief _Semaphore_Core_mutex_mp_support
     144 *
     145 *  This function processes the global actions necessary for remote
     146 *  accesses to a global semaphore based on a core mutex.  This function
     147 *  is called by the core.
     148 */
     149void  _Semaphore_Core_mutex_mp_support (
     150  Thread_Control *the_thread,
     151  rtems_id        id
     152);
     153
     154/**
     155 *  @brief Semaphore_Core_mp_support
     156 *
     157 *  This function processes the global actions necessary for remote
     158 *  accesses to a global semaphore based on a core semaphore.  This function
     159 *  is called by the core.
     160 */
     161void  _Semaphore_Core_semaphore_mp_support (
     162  Thread_Control *the_thread,
     163  rtems_id        id
     164);
    159165
    160166#ifdef __cplusplus
  • cpukit/rtems/include/rtems/rtems/signal.h

    r6be8a83 r067a96a  
    11/**
    22 * @file rtems/rtems/signal.h
    3  */
    4 
    5 /*
     3 *
    64 *  This include file contains all the constants and structures associated
    75 *  with the Signal Manager.   This manager provides capabilities required
     
    1210 *     + establish an asynchronous signal routine
    1311 *     + send a signal set to a task
    14  *
    15  *  COPYRIGHT (c) 1989-1999.
     12 */
     13
     14/*  COPYRIGHT (c) 1989-1999.
    1615 *  On-Line Applications Research Corporation (OAR).
    1716 *
     
    2625#define _RTEMS_RTEMS_SIGNAL_H
    2726
    28 #ifdef __cplusplus
    29 extern "C" {
    30 #endif
     27/**
     28 *  @defgroup ClassicSignal Classic API Signal
     29 *
     30 *  This encapsulates functionality which XXX
     31 */
     32/**@{*/
    3133
    3234#include <rtems/rtems/asr.h>
     
    3638#include <rtems/rtems/types.h>
    3739
    38 /*
    39  *  _Signal_Manager_initialization
    40  *
    41  *  DESCRIPTION:
     40#ifdef __cplusplus
     41extern "C" {
     42#endif
     43/**
     44 *  @brief _Signal_Manager_initialization
    4245 *
    4346 *  This routine performs the initialization necessary for this manager.
    4447 */
    45 
    4648void _Signal_Manager_initialization( void );
    4749
    48 /*
    49  *  rtems_signal_catch
    50  *
    51  *  DESCRIPTION:
     50/**
     51 *  @brief rtems_signal_catch
    5252 *
    5353 *  This routine implements the rtems_signal_catch directive.  This directive
     
    5656 *  mode of mode_set.
    5757 */
    58 
    5958rtems_status_code rtems_signal_catch(
    6059  rtems_asr_entry   asr_handler,
     
    6261);
    6362
    64 /*
    65  *  rtems_signal_send
    66  *
    67  *  DESCRIPTION:
     63/**
     64 *  @brief rtems_signal_send
    6865 *
    6966 *  This routine implements the rtems_signal_send directive.  This directive
    7067 *  sends the signal_set to the task specified by ID.
    7168 */
    72 
    7369rtems_status_code rtems_signal_send(
    7470  Objects_Id             id,
     
    8480#endif
    8581
     82/**@}*/
     83
    8684#endif
    8785/* end of include file */
  • cpukit/rtems/include/rtems/rtems/signalmp.h

    r6be8a83 r067a96a  
    11/**
    22 * @file rtems/rtems/signalmp.h
     3 *
     4 *  This include file contains all the constants and structures associated
     5 *  with the Multiprocessing Support in the Signal Manager.
    36 */
    47
    5 /*
    6  *  This include file contains all the constants and structures associated
    7  *  with the Multiprocessing Support in the Signal Manager.
    8  *
    9  *  COPYRIGHT (c) 1989-1999.
     8/*  COPYRIGHT (c) 1989-1999.
    109 *  On-Line Applications Research Corporation (OAR).
    1110 *
     
    3029#include <rtems/score/watchdog.h>
    3130
    32 /*
     31/**
     32 *  @defgroup ClassicSignalMP Classic API Signal MP Support
     33 *
     34 *  This encapsulates functionality which XXX
     35 */
     36/**{*/
     37
     38/**
    3339 *  The following enumerated type defines the list of
    3440 *  remote signal operations.
    3541 */
    36 
    3742typedef enum {
    3843  SIGNAL_MP_SEND_REQUEST  = 0,
     
    4045}   Signal_MP_Remote_operations;
    4146
    42 /*
     47/**
    4348 *  The following data structure defines the packet used to perform
    4449 *  remote signal operations.
    4550 */
    46 
    4751typedef struct {
    4852  rtems_packet_prefix          Prefix;
     
    5256
    5357/*
    54  *  _Signal_MP_Send_process_packet
    55  *
    56  *  DESCRIPTION:
     58 *  @brief Signal_MP_Send_process_packet
    5759 *
    5860 *  This routine performs a remote procedure call so that a
     
    6365 */
    6466
    65 /*
    66  *  _Signal_MP_Send_request_packet
    67  *
    68  *  DESCRIPTION:
     67/**
     68 *  @brief Signal_MP_Send_request_packet
    6969 *
    7070 *  This routine performs a remote procedure call so that a
    7171 *  directive operation can be initiated on another node.
    7272 */
    73 
    7473rtems_status_code _Signal_MP_Send_request_packet (
    7574  Signal_MP_Remote_operations operation,
     
    7877);
    7978
    80 /*
    81  *  _Signal_MP_Send_response_packet
    82  *
    83  *  DESCRIPTION:
     79/**
     80 *  @brief Signal_MP_Send_response_packet
    8481 *
    8582 *  This routine performs a remote procedure call so that a
    8683 *  directive can be performed on another node.
    8784 */
    88 
    8985void _Signal_MP_Send_response_packet (
    9086  Signal_MP_Remote_operations  operation,
     
    9288);
    9389
    94 /*
    95  *
    96  *  _Signal_MP_Process_packet
    97  *
    98  *  DESCRIPTION:
     90/**
     91 *  @brief Signal_MP_Process_packet
    9992 *
    10093 *  This routine performs the actions specific to this package for
    10194 *  the request from another node.
    10295 */
    103 
    10496void _Signal_MP_Process_packet (
    10597  rtems_packet_prefix *the_packet_prefix
     
    10799
    108100/*
    109  *  _Signal_MP_Send_object_was_deleted
    110  *
    111  *  DESCRIPTION:
     101 *  @brief Signal_MP_Send_object_was_deleted
    112102 *
    113103 *  This routine is invoked indirectly by the thread queue
     
    120110
    121111/*
    122  *  _Signal_MP_Send_extract_proxy
    123  *
    124  *  DESCRIPTION:
     112 *  @brief Signal_MP_Send_extract_proxy
    125113 *
    126114 *  This routine is invoked when a task is deleted and it
     
    132120 */
    133121
    134 /*
    135  *  _Signal_MP_Get_packet
    136  *
    137  *  DESCRIPTION:
     122/**
     123 *  @brief Signal_MP_Get_packet
    138124 *
    139125 *  This function is used to obtain a signal mp packet.
    140126 */
    141 
    142127Signal_MP_Packet *_Signal_MP_Get_packet ( void );
    143128
     
    146131#endif
    147132
     133/**@}*/
     134
    148135#endif
    149136/* end of file */
  • cpukit/rtems/include/rtems/rtems/status.h

    r6be8a83 r067a96a  
    11/**
    22 * @file rtems/rtems/status.h
     3 *
     4 *  This include file contains the status codes returned from the
     5 *  executive directives.
    36 */
    47
    5 /*
    6  *  This include file contains the status codes returned from the
    7  *  executive directives.
    8  *
    9  *  COPYRIGHT (c) 1989-1999.
     8/*  COPYRIGHT (c) 1989-1999.
    109 *  On-Line Applications Research Corporation (OAR).
    1110 *
     
    1918#ifndef _RTEMS_RTEMS_STATUS_H
    2019#define _RTEMS_RTEMS_STATUS_H
     20
     21/**
     22 *  @defgroup ClassicStatus Classic API Status
     23 *
     24 *  This encapsulates functionality which XXX
     25 */
     26/**@{*/
    2127
    2228#ifdef __cplusplus
     
    7884 *  Applications are allowed to use the macros to compare status codes.
    7985 */
    80 
    8186#include <rtems/rtems/status.inl>
    8287
     
    8590#endif
    8691
     92/**@}*/
     93
    8794#endif
    8895/* end of include file */
  • cpukit/rtems/include/rtems/rtems/support.h

    r6be8a83 r067a96a  
    11/**
    22 * @file rtems/rtems/support.h
     3 *
     4 *  This include file contains information about support functions for
     5 *  the RTEMS API.
    36 */
    47
    5 /*
    6  *  This include file contains information about support functions for
    7  *  the RTEMS API.
    8  *
    9  *  COPYRIGHT (c) 1989-2008.
     8/*  COPYRIGHT (c) 1989-2008.
    109 *  On-Line Applications Research Corporation (OAR).
    1110 *
     
    2625#include <rtems/rtems/types.h>
    2726
    28 /**  @brief milliseconds to microseconds
     27/**
     28 *  @defgroup ClassicSupport Classic API Support
     29 *
     30 *  This encapsulates functionality which XXX
     31 */
     32/**@{*/
     33
     34/**
     35 *  @brief milliseconds to microseconds
    2936 *
    3037 *  This is the public milliseconds to microseconds conversion.
     
    3340        TOD_MILLISECONDS_TO_MICROSECONDS(_ms)
    3441
    35 /** @brief milliseconds to ticks
     42/**
     43 *  @brief milliseconds to ticks
    3644 *
    3745 *  This is the public milliseconds to ticks conversion.
     
    4048        TOD_MILLISECONDS_TO_TICKS(_ms)
    4149
    42 /** @brief microseconds to ticks
     50/**
     51 *  @brief microseconds to ticks
     52 *
    4353 *  This is the public microseconds to tick conversion.
    4454 */
     
    4656        TOD_MICROSECONDS_TO_TICKS(_ms)
    4757
    48 /** @brief get workspace information
     58/**
     59 *  @brief get workspace information
    4960 *
    5061 *  This returns information about the heap that is used as
     
    5970);
    6071
    61 /** @brief get workspace information
     72/**
     73 *  @brief get workspace information
    6274 *
    6375 *  This returns information about the heap that is used as
     
    7486);
    7587
    76 /** @brief free workspace
     88/**
     89 * @brief free workspace
    7790 *
    7891 *  This frees the workspace that was allocated from   
     
    95108#endif
    96109
     110/**@}*/
     111
    97112#endif
    98113/* end of include file */
  • cpukit/rtems/include/rtems/rtems/taskmp.h

    r6be8a83 r067a96a  
    11/**
    22 * @file rtems/rtems/taskmp.h
     3 *
     4 *  This include file contains all the constants and structures associated
     5 *  with the multiprocessing support in the task manager.
    36 */
    47
    5 /*
    6  *  This include file contains all the constants and structures associated
    7  *  with the multiprocessing support in the task manager.
    8  *
    9  *  COPYRIGHT (c) 1989-1999.
     8/*  COPYRIGHT (c) 1989-1999.
    109 *  On-Line Applications Research Corporation (OAR).
    1110 *
     
    2019#define _RTEMS_RTEMS_TASKMP_H
    2120
    22 #ifdef __cplusplus
    23 extern "C" {
    24 #endif
    25 
    2621#include <rtems/score/mppkt.h>
    2722#include <rtems/score/object.h>
     
    3126#include <rtems/score/thread.h>
    3227
    33 /*
     28/**
     29 *  @defgroup ClassicTaskMP Classic API Task MP Support
     30 *
     31 *  This encapsulates functionality which XXX
     32 */
     33/**@{*/
     34
     35#ifdef __cplusplus
     36extern "C" {
     37#endif
     38/**
    3439 *  The following enumerated type defines the list of
    3540 *  remote task operations.
    3641 */
    37 
    3842typedef enum {
    3943  RTEMS_TASKS_MP_ANNOUNCE_CREATE       =  0,
     
    5155}   RTEMS_tasks_MP_Remote_operations;
    5256
    53 /*
     57/**
    5458 *  The following data structure defines the packet used to perform
    5559 *  remote task operations.
    5660 */
    57 
    5861typedef struct {
    5962  rtems_packet_prefix               Prefix;
     
    6568}   RTEMS_tasks_MP_Packet;
    6669
    67 /*
    68  *  _RTEMS_tasks_MP_Send_process_packet
    69  *
    70  *  DESCRIPTION:
     70/**
     71 *  @brief _RTEMS_tasks_MP_Send_process_packet
    7172 *
    7273 *  This routine performs a remote procedure call so that a
    7374 *  process operation can be performed on another node.
    7475 */
    75 
    7676void _RTEMS_tasks_MP_Send_process_packet (
    7777  RTEMS_tasks_MP_Remote_operations operation,
     
    8080);
    8181
    82 /*
    83  *  _RTEMS_tasks_MP_Send_request_packet
    84  *
    85  *  DESCRIPTION:
     82/**
     83 *  @brief _RTEMS_tasks_MP_Send_request_packet
    8684 *
    8785 *  This routine performs a remote procedure call so that a
    8886 *  directive operation can be initiated on another node.
    8987 */
    90 
    9188rtems_status_code _RTEMS_tasks_MP_Send_request_packet (
    9289  RTEMS_tasks_MP_Remote_operations operation,
     
    9794);
    9895
    99 /*
    100  *  _RTEMS_tasks_MP_Send_response_packet
    101  *
    102  *  DESCRIPTION:
     96/**
     97 *  @brief _RTEMS_tasks_MP_Send_response_packet
    10398 *
    10499 *  This routine performs a remote procedure call so that a
    105100 *  directive can be performed on another node.
    106101 */
    107 
    108102void _RTEMS_tasks_MP_Send_response_packet (
    109103  RTEMS_tasks_MP_Remote_operations  operation,
     
    111105);
    112106
    113 /*
    114  *
    115  *  _RTEMS_tasks_MP_Process_packet
    116  *
    117  *  DESCRIPTION:
     107/**
     108 *  @brief _RTEMS_tasks_MP_Process_packet
    118109 *
    119110 *  This routine performs the actions specific to this package for
    120111 *  the request from another node.
    121112 */
    122 
    123113void _RTEMS_tasks_MP_Process_packet (
    124114  rtems_packet_prefix *the_packet_prefix
    125115);
    126116
    127 /*
    128  *  _RTEMS_tasks_MP_Send_object_was_deleted
    129  *
    130  *  DESCRIPTION:
     117/**
     118 *  @brief _RTEMS_tasks_MP_Send_object_was_deleted
    131119 *
    132120 *  This routine is invoked indirectly by the thread queue
     
    141129 *  _RTEMS_tasks_MP_Send_extract_proxy
    142130 *
    143  *  DESCRIPTION:
    144  *
    145131 *  This routine is invoked when a task is deleted and it
    146132 *  has a proxy which must be removed from a thread queue and
     
    152138 */
    153139
    154 /*
    155  *  _RTEMS_tasks_MP_Get_packet
    156  *
    157  *  DESCRIPTION:
     140/**
     141 *  @brief _RTEMS_tasks_MP_Get_packet
    158142 *
    159143 *  This function is used to obtain a task mp packet.
    160144 */
    161 
    162145RTEMS_tasks_MP_Packet *_RTEMS_tasks_MP_Get_packet ( void );
    163146
     
    166149#endif
    167150
     151/**@}*/
     152
    168153#endif
    169154/* end of file */
  • cpukit/rtems/include/rtems/rtems/tasks.h

    r6be8a83 r067a96a  
    11/**
    22 * @file rtems/rtems/tasks.h
    3  */
    4 
    5 /*
     3 *
    64 *  This include file contains all constants and structures associated
    75 *  with RTEMS tasks.  This manager provides a comprehensive set of directives
     
    108 *  Directives provided are:
    119 *
    12  *     + create a task
    13  *     + get an ID of a task
    14  *     + start a task
    15  *     + restart a task
    16  *     + delete a task
    17  *     + suspend a task
    18  *     + resume a task
    19  *     + set a task's priority
    20  *     + change the current task's mode
    21  *     + get a task notepad entry
    22  *     + set a task notepad entry
    23  *     + wake up after interval
    24  *     + wake up when specified
    25  *
    26  *  COPYRIGHT (c) 1989-2007.
     10 *     - create a task
     11 *     - get an ID of a task
     12 *     - start a task
     13 *     - restart a task
     14 *     - delete a task
     15 *     - suspend a task
     16 *     - resume a task
     17 *     - set a task's priority
     18 *     - change the current task's mode
     19 *     - get a task notepad entry
     20 *     - set a task notepad entry
     21 *     - wake up after interval
     22 *     - wake up when specified
     23 */
     24
     25/*  COPYRIGHT (c) 1989-2007.
    2726 *  On-Line Applications Research Corporation (OAR).
    2827 *
     
    3635#ifndef _RTEMS_RTEMS_TASKS_H
    3736#define _RTEMS_RTEMS_TASKS_H
    38 
    39 #ifndef RTEMS_TASKS_EXTERN
    40 #define RTEMS_TASKS_EXTERN extern
    41 #endif
    42 
    43 #ifdef __cplusplus
    44 extern "C" {
    45 #endif
    4637
    4738#include <rtems/score/object.h>
     
    5445#include <rtems/rtems/status.h>
    5546
    56 /*
     47#ifndef RTEMS_TASKS_EXTERN
     48#define RTEMS_TASKS_EXTERN extern
     49#endif
     50
     51/**
     52 *  @defgroup ClassicTasks Classic API Tasks
     53 *
     54 *  This encapsulates functionality which X XX
     55 */
     56/**@{*/
     57
     58#ifdef __cplusplus
     59extern "C" {
     60#endif
     61
     62/**
    5763 *  Constant to be used as the ID of current task
    5864 */
    59 
    6065#define RTEMS_SELF                OBJECTS_ID_OF_SELF
    6166
    62 /*
     67/**
    6368 *  This constant is passed to the rtems_task_wake_after directive as the
    6469 *  interval when a task wishes to yield the CPU.
    6570 */
    66 
    6771#define RTEMS_YIELD_PROCESSOR WATCHDOG_NO_TIMEOUT
    6872
    69 /*
     73/**
    7074 *  Define the type for an RTEMS API task priority.
    7175 */
    72 
    7376typedef Priority_Control rtems_task_priority;
    7477
     
    7881#define RTEMS_MAXIMUM_PRIORITY      PRIORITY_MAXIMUM
    7982
    80 /*
     83/**
    8184 *  The following constant is passed to rtems_task_set_priority when the
    8285 *  caller wants to obtain the current priority.
    8386 */
    84 
    8587#define RTEMS_CURRENT_PRIORITY      PRIORITY_MINIMUM
    8688
    87 /*
    88  *  Notepads constants (indices into notepad array)
    89  */
    90 
    91 #define RTEMS_NOTEPAD_FIRST 0             /* lowest numbered notepad */
    92 #define RTEMS_NOTEPAD_0    0              /* notepad location 0  */
    93 #define RTEMS_NOTEPAD_1    1              /* notepad location 1  */
    94 #define RTEMS_NOTEPAD_2    2              /* notepad location 2  */
    95 #define RTEMS_NOTEPAD_3    3              /* notepad location 3  */
    96 #define RTEMS_NOTEPAD_4    4              /* notepad location 4  */
    97 #define RTEMS_NOTEPAD_5    5              /* notepad location 5  */
    98 #define RTEMS_NOTEPAD_6    6              /* notepad location 6  */
    99 #define RTEMS_NOTEPAD_7    7              /* notepad location 7  */
    100 #define RTEMS_NOTEPAD_8    8              /* notepad location 8  */
    101 #define RTEMS_NOTEPAD_9    9              /* notepad location 9  */
    102 #define RTEMS_NOTEPAD_10   10             /* notepad location 10 */
    103 #define RTEMS_NOTEPAD_11   11             /* notepad location 11 */
    104 #define RTEMS_NOTEPAD_12   12             /* notepad location 12 */
    105 #define RTEMS_NOTEPAD_13   13             /* notepad location 13 */
    106 #define RTEMS_NOTEPAD_14   14             /* notepad location 14 */
    107 #define RTEMS_NOTEPAD_15   15             /* notepad location 15 */
    108 #define RTEMS_NOTEPAD_LAST RTEMS_NOTEPAD_15     /* highest numbered notepad */
     89/** This is used to indicate the lowest numbered notepad */
     90#define RTEMS_NOTEPAD_FIRST 0
     91/** This is used to indicate the notepad location 0. */
     92#define RTEMS_NOTEPAD_0    0
     93/** This is used to indicate the notepad location 1. */
     94#define RTEMS_NOTEPAD_1    1
     95/** This is used to indicate the notepad location 2. */
     96#define RTEMS_NOTEPAD_2    2
     97/** This is used to indicate the notepad location 3. */
     98#define RTEMS_NOTEPAD_3    3
     99/** This is used to indicate the notepad location 4. */
     100#define RTEMS_NOTEPAD_4    4
     101/** This is used to indicate the notepad location 5. */
     102#define RTEMS_NOTEPAD_5    5
     103/** This is used to indicate the notepad location 6. */
     104#define RTEMS_NOTEPAD_6    6
     105/** This is used to indicate the notepad location 7. */
     106#define RTEMS_NOTEPAD_7    7
     107/** This is used to indicate the notepad location 8. */
     108#define RTEMS_NOTEPAD_8    8
     109/** This is used to indicate the notepad location 9. */
     110#define RTEMS_NOTEPAD_9    9
     111/** This is used to indicate the notepad location 10. */
     112#define RTEMS_NOTEPAD_10   10
     113/** This is used to indicate the notepad location 11. */
     114#define RTEMS_NOTEPAD_11   11
     115/** This is used to indicate the notepad location 12. */
     116#define RTEMS_NOTEPAD_12   12
     117/** This is used to indicate the notepad location 13. */
     118#define RTEMS_NOTEPAD_13   13
     119/** This is used to indicate the notepad location 14. */
     120#define RTEMS_NOTEPAD_14   14
     121/** This is used to indicate the notepad location 15. */
     122#define RTEMS_NOTEPAD_15   15
     123/** This is used to indicate the highest numbered notepad. */
     124#define RTEMS_NOTEPAD_LAST RTEMS_NOTEPAD_15
    109125
    110126#define RTEMS_NUMBER_NOTEPADS  (RTEMS_NOTEPAD_LAST+1)
    111127
    112 /*
     128/**
    113129 *  External API name for Thread_Control
    114130 */
    115 
    116131typedef Thread_Control rtems_tcb;
    117132
    118 /*
     133/**
    119134 *  The following defines the "return type" of an RTEMS task.
    120135 */
    121 
    122136typedef void rtems_task;
    123137
    124 /*
     138/**
    125139 *  The following defines the argument to an RTEMS task.
    126140 */
    127 
    128141typedef uintptr_t   rtems_task_argument;
    129142
    130 /*
     143/**
    131144 *  The following defines the type for the entry point of an RTEMS task.
    132145 */
    133 
    134146typedef rtems_task ( *rtems_task_entry )(
    135147                      rtems_task_argument
    136148                   );
    137149
    138 /*
     150/**
    139151 *  The following records define the Initialization Tasks Table.
    140152 *  Each entry contains the information required by RTEMS to
     
    142154 *  initialization time.
    143155 */
    144 
    145156typedef struct {
    146157  rtems_name            name;              /* task name */
     
    153164} rtems_initialization_tasks_table;
    154165
    155 /*
     166/**
    156167 *  This is the API specific information required by each thread for
    157168 *  the RTEMS API to function correctly.
    158169 */
    159 
    160 
    161170typedef struct {
    162171  uint32_t                 Notepads[ RTEMS_NUMBER_NOTEPADS ];
     
    170179 *  manage this class of objects.
    171180 */
    172 
    173181RTEMS_TASKS_EXTERN Objects_Information _RTEMS_tasks_Information;
    174182
    175 /*
    176  *  _RTEMS_tasks_Manager_initialization
    177  *
    178  *  DESCRIPTION:
     183/**
     184 *  @brief _RTEMS_tasks_Manager_initialization
    179185 *
    180186 *  This routine initializes all Task Manager related data structures.
    181187 */
    182 
    183188void _RTEMS_tasks_Manager_initialization(
    184189  uint32_t     maximum_tasks
    185190);
    186191
    187 /*
    188  *  rtems_task_create
    189  *
    190  *  DESCRIPTION:
     192/**
     193 *  @brief rtems_task_create
    191194 *
    192195 *  This routine implements the rtems_task_create directive.  The task
     
    197200 *  id of the created task in ID.
    198201 */
    199 
    200202rtems_status_code rtems_task_create(
    201203  rtems_name           name,
     
    207209);
    208210
    209 /*
    210  *  rtems_task_ident
    211  *
    212  *  DESCRIPTION:
     211/**
     212 *  @brief rtems_task_ident
    213213 *
    214214 *  This routine implements the rtems_task_ident directive.
     
    220220 *  encompass all nodes.
    221221 */
    222 
    223222rtems_status_code rtems_task_ident(
    224223  rtems_name    name,
     
    227226);
    228227
    229 /*
    230  *  rtems_task_delete
    231  *
    232  *  DESCRIPTION:
     228/**
     229 *  @brief rtems_task_delete
    233230 *
    234231 *  This routine implements the rtems_task_delete directive.  The
    235232 *  task indicated by ID is deleted.
    236233 */
    237 
    238234rtems_status_code rtems_task_delete(
    239235  Objects_Id id
    240236);
    241237
    242 /*
    243  *  rtems_task_get_note
    244  *
    245  *  DESCRIPTION:
     238/**
     239 *  @brief rtems_task_get_note
    246240 *
    247241 *  This routine implements the rtems_task_get_note directive.  The
     
    249243 *  is returned in note.
    250244 */
    251 
    252245rtems_status_code rtems_task_get_note(
    253246  Objects_Id  id,
     
    256249);
    257250
    258 /*
    259  *  rtems_task_set_note
    260  *
    261  *  DESCRIPTION:
     251/**
     252 *  @brief rtems_task_set_note
    262253 *
    263254 *  This routine implements the rtems_task_set_note directive.  The
     
    265256 *  is returned in note.
    266257 */
    267 
    268258rtems_status_code rtems_task_set_note(
    269259  Objects_Id id,
     
    272262);
    273263
    274 /*
    275  *  rtems_task_mode
    276  *
    277  *  DESCRIPTION:
     264/**
     265 *  @brief rtems_task_mode
    278266 *
    279267 *  This routine implements the rtems_task_mode directive.  The current
     
    282270 *  returned in mode_set.
    283271 */
    284 
    285272rtems_status_code rtems_task_mode(
    286273  rtems_mode  mode_set,
     
    289276);
    290277
    291 /*
    292  *  rtems_task_restart
    293  *
    294  *  DESCRIPTION:
     278/**
     279 *  @brief rtems_task_restart
    295280 *
    296281 *  This routine implements the rtems_task_restart directive.  The
     
    298283 *  point with the new argument.
    299284 */
    300 
    301285rtems_status_code rtems_task_restart(
    302286  Objects_Id id,
     
    304288);
    305289
    306 /*
    307  *  rtems_task_suspend
    308  *
    309  *  DESCRIPTION:
     290/**
     291 *  @brief rtems_task_suspend
    310292 *
    311293 *  This routine implements the rtems_task_suspend directive.  The
    312294 *  SUSPENDED state is set for task associated with ID.
    313295 */
    314 
    315296rtems_status_code rtems_task_suspend(
    316297  Objects_Id id
    317298);
    318299
    319 /*
    320  *  rtems_task_resume
    321  *
    322  *  DESCRIPTION:
     300/**
     301 *  @brief rtems_task_resume
    323302 *
    324303 *  This routine implements the rtems_task_resume Directive.  The
    325304 *  SUSPENDED state is cleared for task associated with ID.
    326305 */
    327 
    328306rtems_status_code rtems_task_resume(
    329307  Objects_Id id
    330308);
    331309
    332 /*
    333  *  rtems_task_set_priority
    334  *
    335  *  DESCRIPTION:
     310/**
     311 *  @brief rtems_task_set_priority
    336312 *
    337313 *  This routine implements the rtems_task_set_priority directive.  The
     
    340316 *  in old_priority.
    341317 */
    342 
    343318rtems_status_code rtems_task_set_priority(
    344319  Objects_Id           id,
     
    347322);
    348323
    349 /*
    350  *  rtems_task_start
    351  *
    352  *  DESCRIPTION:
     324/**
     325 *  @brief rtems_task_start
    353326 *
    354327 *  This routine implements the rtems_task_start directive.  The
     
    356329 *  set to entry_point with the initial argument.
    357330 */
    358 
    359331rtems_status_code rtems_task_start(
    360332  Objects_Id   id,
     
    363335);
    364336
    365 /*
    366  *  rtems_task_wake_when
    367  *
    368  *  DESCRIPTION:
     337/**
     338 *  @brief rtems_task_wake_when
    369339 *
    370340 *  This routine implements the rtems_task_wake_when directive.  The
     
    372342 *  equal to that indicated by time_buffer.
    373343 */
    374 
    375344rtems_status_code rtems_task_wake_when(
    376345  rtems_time_of_day *time_buffer
    377346);
    378347
    379 /*
    380  *  rtems_task_wake_after
    381  *
    382  *  DESCRIPTION:
     348/**
     349 *  @brief rtems_task_wake_after
    383350 *
    384351 *  This routine implements the rtems_task_wake_after directive.  The
     
    386353 *  ticks have occurred.
    387354 */
    388 
    389355rtems_status_code rtems_task_wake_after(
    390356  rtems_interval  ticks
    391357);
    392358
    393 /*
    394  *  rtems_task_is_suspended
    395  *
     359/**
     360 *  @brief rtems_task_is_suspended
     361 
    396362 *  This directive returns a status indicating whether or not
    397363 *  the specified task is suspended.
    398364 */
    399 
    400365rtems_status_code rtems_task_is_suspended(
    401366  Objects_Id id
    402367);
    403368
    404 /*
    405  *  rtems_task_variable_add
     369/**
     370 *  @brief rtems_task_variable_add
    406371 *
    407372 *  This directive adds a per task variable.
    408373 */
    409 
    410374rtems_status_code rtems_task_variable_add(
    411375  rtems_id  tid,
     
    414378);
    415379
    416 /*
    417  *  rtems_task_variable_get
     380/**
     381 *  @brief rtems_task_variable_get
    418382 *
    419383 *  This directive gets the value of a task variable.
    420384 */
    421 
    422385rtems_status_code rtems_task_variable_get(
    423386  rtems_id tid,
     
    426389);
    427390
    428 /*
    429  *  rtems_task_variable_delete
     391/**
     392 *  @brief rtems_task_variable_delete
    430393 *
    431394 *  This directive removes a per task variable.
    432395 */
    433 
    434396rtems_status_code rtems_task_variable_delete(
    435397  rtems_id  tid,
     
    437399);
    438400
    439 /*
    440  *  rtems_task_self
     401/**
     402 *  @brief rtems_task_self
    441403 *
    442404 *  This directive returns the ID of the currently executing task.
    443405 */
    444 
    445406rtems_id rtems_task_self(void);
    446407
    447 /*
    448  *  _RTEMS_tasks_Initialize_user_tasks
     408/**
     409 *  @brief _RTEMS_tasks_Initialize_user_tasks
    449410 *
    450411 *  This routine creates and starts all configured user
     
    455416 *  Output parameters:  NONE
    456417 */
    457 
    458418void _RTEMS_tasks_Initialize_user_tasks( void );
    459419
    460 /*
    461  *  _RTEMS_Tasks_Invoke_task_variable_dtor(
     420/**
     421 *  @brief _RTEMS_Tasks_Invoke_task_variable_dtor(
    462422 *
    463423 *  This routine invokes the optional user provided destructor on the
     
    468428 *  Output parameters:  NONE
    469429 */
    470 
    471430void _RTEMS_Tasks_Invoke_task_variable_dtor(
    472431  Thread_Control        *the_thread,
     
    485444#endif
    486445
     446/**@}*/
     447
    487448#endif
    488449/* end of include file */
  • cpukit/rtems/include/rtems/rtems/timer.h

    r6be8a83 r067a96a  
    11/**
    22 * @file rtems/rtems/timer.h
    3  */
    4 
    5 /*
     3 *
    64 *  This include file contains all the constants, structures, and
    75 *  prototypes associated with the Timer Manager.  This manager provides
     
    119 *  Directives provided are:
    1210 *
    13  *     + create a timer
    14  *     + get an ID of a timer
    15  *     + delete a timer
    16  *     + set timer to fire in context of clock tick
     11 *     - create a timer
     12 *     - get an ID of a timer
     13 *     - delete a timer
     14 *     - set timer to fire in context of clock tick
    1715 *        - after a number of ticks have passed
    1816 *        - when a specified date and time has been reached
    19  *     + initiate the timer server task
    20  *     + set timer to fire in context of the timer server task
     17 *     - initiate the timer server task
     18 *     - set timer to fire in context of the timer server task
    2119 *        - after a number of ticks have passed
    2220 *        - when a specified date and time has been reached
    23  *     + reset a timer
    24  *     + cancel a time
    25  *
    26  *  COPYRIGHT (c) 1989-2007.
     21 *     - reset a timer
     22 *     - cancel a time
     23 */
     24
     25/*  COPYRIGHT (c) 1989-2007.
    2726 *  On-Line Applications Research Corporation (OAR).
    2827 *
     
    5150#include <rtems/rtems/attr.h>
    5251
    53 /*
     52/**
     53 *  @defgroup ClassicTimer Classic API Timer
     54 *
     55 *  This encapsulates functionality which XXX
     56 */
     57/**@{*/
     58
     59/**
    5460 *  The following enumerated type details the classes to which a timer
    5561 *  may belong.
    5662 */
    57 
    5863typedef enum {
    5964  TIMER_INTERVAL,
     
    6469} Timer_Classes;
    6570
    66 /*
     71/**
    6772 *  The following types define a pointer to a timer service routine.
    6873 */
    69 
    7074typedef void rtems_timer_service_routine;
    7175
     
    7579             );
    7680
    77 /*
     81/**
    7882 *  The following defines the information control block used to manage
    7983 *  this class of objects.
    8084 */
    81 
    8285RTEMS_TIMER_EXTERN Objects_Information  _Timer_Information;
    8386
    84 /*
     87/**
    8588 *  Pointer to TCB of the Timer Server.  This is NULL before the
    8689 *  server is executing and task-based timers are not allowed to be
    8790 *  initiated until the server is started.
    8891 */
    89 
    9092RTEMS_TIMER_EXTERN Thread_Control *_Timer_Server;
    9193
    92 /*
     94/**
    9395 *  The following chains contain the list of interval timers that are
    9496 *  executed in the context of the Timer Server.
     
    101103 *        in the same file as _Timer_Server_body.
    102104 */
    103 
    104105extern Chain_Control _Timer_Ticks_chain;
    105106extern Chain_Control _Timer_Seconds_chain;
    106107
    107 /*
     108/**
    108109 *  The following records define the control block used to manage
    109110 *  each timer.
    110111 */
    111 
    112112typedef struct {
    113113  Objects_Control  Object;
     
    116116}   Timer_Control;
    117117
    118 /*
    119  *  _Timer_Manager_initialization
    120  *
    121  *  DESCRIPTION:
     118/**
     119 *  @brief _Timer_Manager_initialization
    122120 *
    123121 *  This routine performs the initialization necessary for this manager.
    124122 */
    125 
    126123void _Timer_Manager_initialization(
    127124  uint32_t   maximum_timers
    128125);
    129126
    130 /*
    131  *  _Timer_Server_body
    132  *
    133  *  DESCRIPTION:
     127/**
     128 *  @brief _Timer_Server_body
    134129 *
    135130 *  This is the server for task based timers.  This task executes whenever
     
    138133 *  by the application before task-based timers may be initiated.
    139134 */
    140 
    141135Thread _Timer_Server_body(
    142136  uint32_t   ignored
    143137);
    144138
    145 /*
    146  *  rtems_timer_create
    147  *
    148  *  DESCRIPTION:
     139/**
     140 *  @brief rtems_timer_create
    149141 *
    150142 *  This routine implements the rtems_timer_create directive.  The
     
    152144 *  created timer in ID.
    153145 */
    154 
    155146rtems_status_code rtems_timer_create(
    156147  rtems_name    name,
     
    158149);
    159150
    160 /*
    161  *  rtems_timer_ident
    162  *
    163  *  DESCRIPTION:
     151/**
     152 *  @brief rtems_timer_ident
    164153 *
    165154 *  This routine implements the rtems_timer_ident directive.
     
    168157 *  to which the ID belongs is arbitrary.
    169158 */
    170 
    171159rtems_status_code rtems_timer_ident(
    172160  rtems_name    name,
     
    174162);
    175163
    176 /*
    177  *  rtems_timer_cancel
    178  *
    179  *  DESCRIPTION:
     164/**
     165 *  @brief rtems_timer_cancel
    180166 *
    181167 *  This routine implements the rtems_timer_cancel directive.  It is used
    182168 *  to stop the timer associated with ID from firing.
    183169 */
    184 
    185170rtems_status_code rtems_timer_cancel(
    186171  Objects_Id id
    187172);
    188173
    189 /*
    190  *  rtems_timer_delete
    191  *
    192  *  DESCRIPTION:
     174/**
     175 *  @brief rtems_timer_delete
    193176 *
    194177 *  This routine implements the rtems_timer_delete directive.  The
    195178 *  timer indicated by ID is deleted.
    196179 */
    197 
    198180rtems_status_code rtems_timer_delete(
    199181  Objects_Id id
    200182);
    201183
    202 /*
    203  *  rtems_timer_fire_after
    204  *
    205  *  DESCRIPTION:
     184/**
     185 *  @brief rtems_timer_fire_after
    206186 *
    207187 *  This routine implements the rtems_timer_fire_after directive.  It
     
    211191 *  part of servicing a periodic interupt.
    212192 */
    213 
    214193rtems_status_code rtems_timer_fire_after(
    215194  Objects_Id                         id,
     
    219198);
    220199
    221 /*
    222  *  rtems_timer_server_fire_after
    223  *
    224  *  DESCRIPTION:
     200/**
     201 *  @brief rtems_timer_server_fire_after
    225202 *
    226203 *  This routine implements the rtems_timer_server_fire_after directive.  It
     
    230207 *  clock tick interrupt.
    231208 */
    232 
    233209rtems_status_code rtems_timer_server_fire_after(
    234210  Objects_Id                         id,
     
    238214);
    239215
    240 /*
    241  *  rtems_timer_fire_when
    242  *
    243  *  DESCRIPTION:
     216/**
     217 *  @brief rtems_timer_fire_when
    244218 *
    245219 *  This routine implements the rtems_timer_fire_when directive.  It
     
    249223 *  part of servicing a periodic interupt.
    250224 */
    251 
    252225rtems_status_code rtems_timer_fire_when(
    253226  Objects_Id                          id,
     
    257230);
    258231
    259 /*
    260  *  rtems_timer_server_fire_when
    261  *
    262  *  DESCRIPTION:
     232/**
     233 *  @brief rtems_timer_server_fire_when
    263234 *
    264235 *  This routine implements the rtems_timer_server_fire_when directive.  It
     
    268239 *  clock tick interrupt.
    269240 */
    270 
    271241rtems_status_code rtems_timer_server_fire_when(
    272242  Objects_Id                          id,
     
    276246);
    277247
    278 /*
    279  *  rtems_timer_reset
    280  *
    281  *  DESCRIPTION:
     248/**
     249 *  @brief rtems_timer_reset
    282250 *
    283251 *  This routine implements the rtems_timer_reset directive.  It is used
     
    286254 *  were used to initiate this timer.
    287255 */
    288 
    289256rtems_status_code rtems_timer_reset(
    290257  Objects_Id id
    291258);
    292259
    293 /*
    294  *  rtems_timer_initiate_server
    295  *
    296  *  DESCRIPTION:
     260/**
     261 *  @brief rtems_timer_initiate_server
    297262 *
    298263 *  This routine implements the rtems_timer_initiate_server directive.
     
    300265 *  It must be invoked before any task-based timers can be initiated.
    301266 */
    302 
    303 #define RTEMS_TIMER_SERVER_DEFAULT_PRIORITY -1
    304 
    305267rtems_status_code rtems_timer_initiate_server(
    306268  uint32_t             priority,
     
    309271);
    310272
    311 /*
    312  *  rtems_timer_get_information
    313  *
    314  *  DESCRIPTION:
    315  *
    316  *  This routine implements the rtems_timer_get_information directive.
    317  *  This directive returns information about the timer.
    318  */
    319 
     273/**
     274 *  This is the default value for the priority of the Timer Server.
     275 *  When given this priority, a special high priority not accessible
     276 *  via the Classic API is used.
     277 */
     278#define RTEMS_TIMER_SERVER_DEFAULT_PRIORITY -1
     279
     280/**
     281 *  This is the structure filled in by the timer get information
     282 *  service.
     283 */
    320284typedef struct {
    321285  Timer_Classes      the_class;
     
    325289} rtems_timer_information;
    326290
     291/**
     292 *  @brief rtems_timer_get_information
     293 *
     294 *  This routine implements the rtems_timer_get_information directive.
     295 *  This directive returns information about the timer.
     296 */
    327297rtems_status_code rtems_timer_get_information(
    328298  Objects_Id               id,
     
    330300);
    331301
    332 /*
     302/**
    333303 *  Macros and routines that expose the mechanisms required to service
    334304 *  the Timer Server timer.  These stop the timer, synchronize it with
    335305 *  the current time, and restart it.
    336306 */
    337 
    338307extern Watchdog_Control _Timer_Seconds_timer;
    339308
     
    344313      _Watchdog_Remove( &_Timer_Seconds_timer );
    345314
     315/**
     316 *  This is a helper function which processes the ticks chain when
     317 *  needed.  It advances time for the ticks chain which results in
     318 *  timers firing.
     319 */
    346320void _Timer_Server_process_ticks_chain(void);
     321
     322/**
     323 *  This is a helper function which processes the seconds chain when
     324 *  needed.  It advances time for the seconds chain which results in
     325 *  timers firing.
     326 */
    347327void _Timer_Server_process_seconds_chain(void);
    348328
     
    371351#endif
    372352
     353/**@}*/
     354
    373355#endif
    374356/* end of include file */
  • cpukit/rtems/include/rtems/rtems/types.h

    r6be8a83 r067a96a  
    11/**
    22 * @file rtems/rtems/types.h
     3 *
     4 *  This include file defines the types used by the RTEMS API.
    35 */
    46
    5 /*
    6  *  This include file defines the types used by the RTEMS API.
    7  *
    8  *  COPYRIGHT (c) 1989-1999.
     7/*  COPYRIGHT (c) 1989-1999.
    98 *  On-Line Applications Research Corporation (OAR).
    109 *
     
    1817#ifndef _RTEMS_RTEMS_TYPES_H
    1918#define _RTEMS_RTEMS_TYPES_H
     19
     20/**
     21 *  @defgroup ClassicTypes Classic API Types
     22 *
     23 *  This encapsulates functionality which XXX
     24 */
     25/**@{*/
    2026
    2127#ifdef __cplusplus
     
    5157typedef CPU_Interrupt_frame        rtems_interrupt_frame;
    5258
    53 /*
     59/**
    5460 *  Region information block
    5561 */
    56 
    5762typedef Heap_Information_block region_information_block;
    5863
    59 /*
     64/**
    6065 *  Time related
    6166 */
    62 
    6367typedef Watchdog_Interval rtems_interval;
    64 
    6568
    6669/**
     
    8790}   rtems_time_of_day;
    8891
    89 /*
     92/**
    9093 *  Define the type for an RTEMS API task mode.
    9194 */
    92 
    9395typedef Modes_Control rtems_mode;
    9496
     
    9698 *  MPCI related entries
    9799 */
    98 
    99100#if defined(RTEMS_MULTIPROCESSING)
    100101typedef MP_packet_Classes          rtems_mp_packet_classes;
     
    116117#endif
    117118
     119/**@}*/
     120
    118121#endif
    119122/* end of include file */
  • cpukit/rtems/inline/rtems/rtems/asr.inl

    r6be8a83 r067a96a  
    11/**
    22 * @file rtems/rtems/asr.inl
     3 *
     4 *  This include file contains the implemenation of all routines
     5 *  associated with the asynchronous signal handler which are inlined.
    36 */
    47
    5 /*
    6  *  This include file contains the implemenation of all routines
    7  *  associated with the asynchronous signal handler which are inlined.
    8  *
    9  *  COPYRIGHT (c) 1989-1999.
     8/*  COPYRIGHT (c) 1989-1999.
    109 *  On-Line Applications Research Corporation (OAR).
    1110 *
     
    2221#include <rtems/score/isr.h>
    2322
    24 /*PAGE
    25  *
    26  *  _ASR_Initialize
    27  *
    28  *  DESCRIPTION:
     23/**
     24 *  @addtogroup ClassicASR
     25 *  @{
     26 */
     27
     28/**
     29 *  @brief ASR_Initialize
    2930 *
    3031 *  This routine initializes the given RTEMS_ASR information record.
    3132 */
    32 
    3333RTEMS_INLINE_ROUTINE void _ASR_Initialize (
    3434  ASR_Information *information
     
    4343}
    4444
    45 /*PAGE
    46  *
    47  *  _ASR_Swap_signals
    48  *
    49  *  DESCRIPTION:
     45/**
     46 *  @brief ASR_Swap_signals
    5047 *
    5148 *  This routine atomically swaps the pending and posted signal
     
    5350 *  way that the RTEMS_ASR disable/enable flag changes.
    5451 */
    55 
    5652RTEMS_INLINE_ROUTINE void _ASR_Swap_signals (
    5753  ASR_Information *information
     
    6864}
    6965
    70 /*PAGE
    71  *
    72  *  _ASR_Is_null_handler
    73  *
    74  *  DESCRIPTION:
     66/**
     67 *  @brief ASR_Is_null_handler
    7568 *
    7669 *  This function returns TRUE if the given asr_handler is NULL and
    7770 *  FALSE otherwise.
    7871 */
    79 
    8072RTEMS_INLINE_ROUTINE boolean _ASR_Is_null_handler (
    8173  rtems_asr_entry asr_handler
     
    8577}
    8678
    87 /*PAGE
    88  *
    89  *  _ASR_Are_signals_pending
    90  *
    91  *  DESCRIPTION:
     79/**
     80 *  @brief ASR_Are_signals_pending
    9281 *
    9382 *  This function returns TRUE if there are signals pending in the
    9483 *  given RTEMS_ASR information record and FALSE otherwise.
    9584 */
    96 
    9785RTEMS_INLINE_ROUTINE boolean _ASR_Are_signals_pending (
    9886  ASR_Information *information
     
    10290}
    10391
    104 /*PAGE
    105  *
    106  *  _ASR_Post_signals
    107  *
    108  *  DESCRIPTION:
     92/**
     93 *  @brief ASR_Post_signals
    10994 *
    11095 *  This routine posts the given signals into the signal_set
     
    11398 *  NOTE:  This must be implemented as a macro.
    11499 */
    115 
    116100RTEMS_INLINE_ROUTINE void _ASR_Post_signals(
    117101  rtems_signal_set  signals,
     
    126110}
    127111
     112/**@}*/
    128113
    129114#endif
  • cpukit/rtems/inline/rtems/rtems/attr.inl

    r6be8a83 r067a96a  
    11/**
    22 * @file rtems/rtems/attr.inl
     3 *
     4 *  This include file contains all of the inlined routines associated
     5 *  with attributes.
    36 */
    47
    58/*
    6  *  This include file contains all of the inlined routines associated
    7  *  with attributes.
    8  *
    99 *  COPYRIGHT (c) 1989-1999.
    1010 *  On-Line Applications Research Corporation (OAR).
     
    2020#define _RTEMS_RTEMS_ATTR_INL
    2121
    22 /*PAGE
    23  *
    24  *  _Attributes_Set
    25  *
    26  *  DESCRIPTION:
     22/**
     23 *  @addtogroup ClassicAttributes
     24 *  @{
     25 */
     26
     27/**
     28 *  @brief Attributes_Set