Changeset 2ad3d02 in rtems


Ignore:
Timestamp:
Apr 28, 2008, 6:21:01 PM (13 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.10, 4.11, 4.9, 5, master
Children:
2870240
Parents:
86101e3
Message:

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

  • rtems/include/rtems.h, rtems/include/rtems/rtems/ratemon.h, rtems/include/rtems/rtems/status.h, rtems/include/rtems/rtems/tasks.h, rtems/include/rtems/rtems/timer.h, rtems/inline/rtems/rtems/sem.inl: More Doxygen warnings removed.
Location:
cpukit
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • cpukit/ChangeLog

    r86101e3 r2ad3d02  
     12008-04-28      Joel Sherrill <joel.sherrill@oarcorp.com>
     2
     3        * rtems/include/rtems.h, rtems/include/rtems/rtems/ratemon.h,
     4        rtems/include/rtems/rtems/status.h,
     5        rtems/include/rtems/rtems/tasks.h, rtems/include/rtems/rtems/timer.h,
     6        rtems/inline/rtems/rtems/sem.inl: More Doxygen warnings removed.
     7
    182008-04-28      Daron Chabot <daron.chabot@usask.ca>
    29
  • cpukit/rtems/include/rtems.h

    r86101e3 r2ad3d02  
    3232#endif
    3333
    34 /*
     34#if (!defined(__RTEMS_VIOLATE_KERNEL_VISIBILITY__)) && \
     35    (!defined(__RTEMS_INSIDE__))
     36/**
     37 *  @brief Compiling RTEMS Application Macro
     38 *
    3539 *  Unless told otherwise, the RTEMS include files will hide some stuff
    3640 *  from normal application code.  Defining this crosses a boundary which
     
    4044 */
    4145
    42 #if (!defined(__RTEMS_VIOLATE_KERNEL_VISIBILITY__)) && (!defined(__RTEMS_INSIDE__))
    4346#define __RTEMS_APPLICATION__
    4447#endif
     
    7780#include <rtems/score/sysstate.h>
    7881
     82/**
     83 *  This constant indicates whether this processor variant has
     84 *  hardware floating point support.
     85 */
    7986#define RTEMS_HAS_HARDWARE_FP CPU_HARDWARE_FP
    8087
    81 /**
     88/*
    8289 *  The following define the constants which may be used in name searches.
    8390 */
     91
     92/**
     93 * This constant indicates that the search is across all nodes.
     94 */
    8495#define RTEMS_SEARCH_ALL_NODES   OBJECTS_SEARCH_ALL_NODES
     96
     97/**
     98 *  This constant indicates that the search is across all nodes
     99 *  except the one the call is made from.
     100 */
    85101#define RTEMS_SEARCH_OTHER_NODES OBJECTS_SEARCH_OTHER_NODES
     102
     103/**
     104 *  This constant indicates that the search is to be restricted
     105 *  to the local node.
     106 */
    86107#define RTEMS_SEARCH_LOCAL_NODE  OBJECTS_SEARCH_LOCAL_NODE
     108
     109/**
     110 *  This constant indicates that the caller wants to obtain the
     111 *  name of the currently executing thread.
     112 *
     113 *  @note This constant is only meaningful when obtaining the name
     114 *        of a task.
     115 */
    87116#define RTEMS_WHO_AM_I           OBJECTS_WHO_AM_I
    88117
    89 /**
     118/*
    90119 * Parameters and return id's for _Objects_Get_next
    91120 */
     121
     122/**
     123 *  This constant is the lowest valid valid for the index portion
     124 *  of an object Id.
     125 */
    92126#define RTEMS_OBJECT_ID_INITIAL_INDEX        OBJECTS_ID_INITIAL_INDEX
     127
     128/**
     129 *  This constant is the maximum valid valid for the index portion
     130 *  of an object Id.
     131 */
    93132#define RTEMS_OBJECT_ID_FINAL_INDEX          OBJECTS_ID_FINAL_INDEX
    94 #define RTEMS_OBJECT_ID_INITIAL(api, class, node) OBJECTS_ID_INITIAL(api, class, node)
    95133
     134/**
     135 *  This method returns the Id of the object with the lowest
     136 *  valid index valud.
     137 *
     138 *  @param[in] _api is the API of the object
     139 *  @param[in] _class is the Object Class of the object
     140 *  @param[in] _node is the node where the object resides
     141 */
     142#define RTEMS_OBJECT_ID_INITIAL(_api, _class, _node) \
     143   OBJECTS_ID_INITIAL(_api, _class, _node)
     144
     145/**
     146 *  This constant is the maximum valid object Id.
     147 */
    96148#define RTEMS_OBJECT_ID_FINAL                OBJECTS_ID_FINAL
    97149
  • cpukit/rtems/include/rtems/rtems/ratemon.h

    r86101e3 r2ad3d02  
    159159  rtems_rate_monotonic_period_statistics  Statistics;
    160160}   Rate_monotonic_Control;
    161 
     161 
     162/**
     163 *  @brief Rate Monotonic Period Class Management Structure
     164 *
     165 *  This instance of Objects_Information is used to manage the
     166 *  set of rate monotonic period instances.
     167 */
    162168RTEMS_RATEMON_EXTERN Objects_Information _Rate_monotonic_Information;
    163169
     
    321327#endif
    322328
     329/**
     330 *  @brief Rate_monotonic_Reset_cpu_use_statistics
     331 *
     332 *  This helper method resets the period CPU usage statistics structure.
     333 */
    323334#ifdef RTEMS_ENABLE_NANOSECOND_CPU_USAGE_STATISTICS
    324335  #define _Rate_monotonic_Reset_cpu_use_statistics( _the_period ) \
     
    332343#endif
    333344
     345/**
     346 *  @brief Rate_monotonic_Reset_statistics
     347 *
     348 *  This helper method resets the period wall time statistics structure.
     349 */
    334350#define _Rate_monotonic_Reset_statistics( _the_period ) \
    335351  do { \
  • cpukit/rtems/include/rtems/rtems/status.h

    r86101e3 r2ad3d02  
    3030#endif
    3131
    32 /* types */
    33 
    34 /* enumerated constants */
    35 
     32/**
     33 *  @brief Classic API Status
     34 *
     35 *  This enumerates the possible status values returned b
     36 *  Classic API directives.
     37 */
    3638typedef enum {
    37   RTEMS_SUCCESSFUL               =  0, /* successful completion */
    38   RTEMS_TASK_EXITTED             =  1, /* returned from a thread */
    39   RTEMS_MP_NOT_CONFIGURED        =  2, /* multiprocessing not configured */
    40   RTEMS_INVALID_NAME             =  3, /* invalid object name */
    41   RTEMS_INVALID_ID               =  4, /* invalid object id */
    42   RTEMS_TOO_MANY                 =  5, /* too many */
    43   RTEMS_TIMEOUT                  =  6, /* timed out waiting */
    44   RTEMS_OBJECT_WAS_DELETED       =  7, /* object deleted while waiting */
    45   RTEMS_INVALID_SIZE             =  8, /* specified size was invalid */
    46   RTEMS_INVALID_ADDRESS          =  9, /* address specified is invalid */
    47   RTEMS_INVALID_NUMBER           = 10, /* number was invalid */
    48   RTEMS_NOT_DEFINED              = 11, /* item has not been initialized */
    49   RTEMS_RESOURCE_IN_USE          = 12, /* resources still outstanding */
    50   RTEMS_UNSATISFIED              = 13, /* request not satisfied */
    51   RTEMS_INCORRECT_STATE          = 14, /* thread is in wrong state */
    52   RTEMS_ALREADY_SUSPENDED        = 15, /* thread already in state */
    53   RTEMS_ILLEGAL_ON_SELF          = 16, /* illegal on calling thread */
    54   RTEMS_ILLEGAL_ON_REMOTE_OBJECT = 17, /* illegal for remote object */
    55   RTEMS_CALLED_FROM_ISR          = 18, /* called from wrong environment */
    56   RTEMS_INVALID_PRIORITY         = 19, /* invalid thread priority */
    57   RTEMS_INVALID_CLOCK            = 20, /* invalid date/time */
    58   RTEMS_INVALID_NODE             = 21, /* invalid node id */
    59   RTEMS_NOT_CONFIGURED           = 22, /* directive not configured */
    60   RTEMS_NOT_OWNER_OF_RESOURCE    = 23, /* not owner of resource */
    61   RTEMS_NOT_IMPLEMENTED          = 24, /* directive not implemented */
    62   RTEMS_INTERNAL_ERROR           = 25, /* RTEMS inconsistency detected */
    63   RTEMS_NO_MEMORY                = 26, /* could not get enough memory */
    64   RTEMS_IO_ERROR                 = 27, /* driver IO error */
    65   RTEMS_PROXY_BLOCKING           = 28  /* internal error only */
     39  /**
     40   *  This is the status to indicate successful completion.
     41   */
     42  RTEMS_SUCCESSFUL               =  0,
     43  /**
     44   *  This is the status to indicate that a thread exited.
     45   */
     46  RTEMS_TASK_EXITTED             =  1,
     47  /**
     48   *  This is the status to indicate multiprocessing is not configured.
     49   */
     50  RTEMS_MP_NOT_CONFIGURED        =  2,
     51  /**
     52   *  This is the status to indicate that the object name was invalid.
     53   */
     54  RTEMS_INVALID_NAME             =  3,
     55  /**
     56   *  This is the status to indicate that the object Id was invalid.
     57   */
     58  RTEMS_INVALID_ID               =  4,
     59  /**
     60   *  This is the status to indicate you have attempted to create too many
     61   *  instances of a particular object class.
     62   */
     63  RTEMS_TOO_MANY                 =  5,
     64  /**
     65   *  This is the status to indicate that a blocking directive timed out.
     66   */
     67  RTEMS_TIMEOUT                  =  6,
     68  /**
     69   *  This is the status to indicate the the object was deleted
     70   *  while the task was blocked waiting.
     71   */
     72  RTEMS_OBJECT_WAS_DELETED       =  7,
     73  /**
     74   *  This is the status to indicate that the specified size was invalid.
     75   */
     76  RTEMS_INVALID_SIZE             =  8,
     77  /**
     78   *  This is the status to indicate that the specified address is invalid.
     79   */
     80  RTEMS_INVALID_ADDRESS          =  9,
     81  /**
     82   *  This is the status to indicate that the specified number was invalid.
     83   */
     84  RTEMS_INVALID_NUMBER           = 10,
     85  /**
     86   *  This is the status to indicate that the item has not been initialized.
     87   */
     88  RTEMS_NOT_DEFINED              = 11,
     89  /**
     90   *  This is the status to indicate that the object still has
     91   *  resources in use.
     92   */
     93  RTEMS_RESOURCE_IN_USE          = 12,
     94  /**
     95   *  This is the status to indicate that the request was not satisfied.
     96   */
     97  RTEMS_UNSATISFIED              = 13,
     98  /**
     99   *  This is the status to indicate that a thread is in wrong state
     100   *  was in the wrong execution state for the requested operation.
     101   */
     102  RTEMS_INCORRECT_STATE          = 14,
     103  /**
     104   *  This is the status to indicate thread was already suspended.
     105   */
     106  RTEMS_ALREADY_SUSPENDED        = 15,
     107  /**
     108   *  This is the status to indicate that the operation is illegal
     109   *  on calling thread.
     110   */
     111  RTEMS_ILLEGAL_ON_SELF          = 16,
     112  /**
     113   *  This is the status to indicate illegal for remote object.
     114   */
     115  RTEMS_ILLEGAL_ON_REMOTE_OBJECT = 17,
     116  /**
     117   *  This is the status to indicate that the operation should not be
     118   *  called from from this excecution environment.
     119   */
     120  RTEMS_CALLED_FROM_ISR          = 18,
     121  /**
     122   *  This is the status to indicate that an invalid thread priority
     123   *  was provided.
     124   */
     125  RTEMS_INVALID_PRIORITY         = 19,
     126  /**
     127   *  This is the status to indicate that the specified date/time was invalid.
     128   */
     129  RTEMS_INVALID_CLOCK            = 20,
     130  /**
     131   *  This is the status to indicate that the specified node Id was invalid.
     132   */
     133  RTEMS_INVALID_NODE             = 21,
     134  /**
     135   *  This is the status to indicate that the directive was not configured.
     136   */
     137  RTEMS_NOT_CONFIGURED           = 22,
     138  /**
     139   *  This is the status to indicate that the caller is not the
     140   *  owner of the resource.
     141   */
     142  RTEMS_NOT_OWNER_OF_RESOURCE    = 23,
     143  /**
     144   *  This is the status to indicate the the directive or requested
     145   *  portion of the directive is not implemented.  This is a hint
     146   *  that you have stumbled across an opportunity to submit code
     147   *  to the RTEMS Project.
     148   */
     149  RTEMS_NOT_IMPLEMENTED          = 24,
     150  /**
     151   *  This is the status to indicate that an internal RTEMS inconsistency
     152   *  was detected.
     153   */
     154  RTEMS_INTERNAL_ERROR           = 25,
     155  /**
     156   *  This is the status to indicate that the directive attempted to allocate
     157   *  memory but was unable to do so.
     158   */
     159  RTEMS_NO_MEMORY                = 26,
     160  /**
     161   *  This is the status to indicate an driver IO error.
     162   */
     163  RTEMS_IO_ERROR                 = 27,
     164  /**
     165   *  This is the status is used internally to RTEMS when performing
     166   *  operations on behalf of remote tasks.  This is referred to as
     167   *  proxying operations and this status indicates that the operation
     168   *  could not be completed immediately and the "proxy is blocking."
     169   *
     170   *  @note This status will @b NOT be returned to the user.
     171   */
     172  RTEMS_PROXY_BLOCKING           = 28,
    66173} rtems_status_code;
    67174
     175/**
     176 *  This is the lowest valid value for a Classic API status code.
     177 */
    68178#define RTEMS_STATUS_CODES_FIRST RTEMS_SUCCESSFUL
     179
     180/**
     181 *  This is the highest valid value for a Classic API status code.
     182 */
    69183#define RTEMS_STATUS_CODES_LAST  RTEMS_PROXY_BLOCKING
    70184
    71 extern rtems_status_code _Status_Object_name_errors_to_status[];
    72 
     185/**
     186 *  This array is used to map SuperCore Object Handler return
     187 *  codes to Classic API status codes.
     188 */
    73189#ifdef RTEMS_API_INIT
    74190rtems_status_code _Status_Object_name_errors_to_status[] = {
    75   RTEMS_SUCCESSFUL,      /* OBJECTS_SUCCESSFUL */
    76   RTEMS_INVALID_NAME,    /* OBJECTS_INVALID_NAME */
    77   RTEMS_INVALID_ADDRESS, /* OBJECTS_INVALID_ADDRESS */
    78   RTEMS_INVALID_ID,      /* OBJECTS_INVALID_ID */
    79   RTEMS_INVALID_NODE     /* OBJECTS_INVALID_NODE */
     191  /** This maps OBJECTS_SUCCESSFUL to RTEMS_SUCCESSFUL. */
     192  RTEMS_SUCCESSFUL,
     193  /** This maps OBJECTS_INVALID_NAME to RTEMS_INVALID_NAME. */
     194  RTEMS_INVALID_NAME,
     195  /** This maps OBJECTS_INVALID_ADDRESS to RTEMS_INVALID_NAME. */
     196  RTEMS_INVALID_ADDRESS,
     197  /** This maps OBJECTS_INVALID_ID to RTEMS_INVALID_ADDRESS. */
     198  RTEMS_INVALID_ID,
     199  /** This maps OBJECTS_INVALID_NODE to RTEMS_INVALID_NODE. */
     200  RTEMS_INVALID_NODE
    80201};
     202#else
     203extern rtems_status_code _Status_Object_name_errors_to_status[];
    81204#endif
    82205
  • cpukit/rtems/include/rtems/rtems/tasks.h

    r86101e3 r2ad3d02  
    8282typedef Priority_Control rtems_task_priority;
    8383
     84/**
     85 *  This is the constant used with the rtems_task_set_priority
     86 *  directive to indicate that the caller wants to obtain its
     87 *  current priority rather than set it as the name of the
     88 *  directive indicates.
     89 */
    8490#define RTEMS_NO_PRIORITY           RTEMS_CURRENT_PRIORITY
    8591
     92/**
     93 *  This constant is the least valid value for a Classic API
     94 *  task priority.
     95 */
    8696#define RTEMS_MINIMUM_PRIORITY      (PRIORITY_MINIMUM + 1)
     97
     98/**
     99 *  This constant is the maximum valid value for a Classic API
     100 *  task priority.
     101 *
     102 *  @note This is actually the priority of the IDLE thread so
     103 *        using this priority will result in having a task
     104 *        which never executes.  This could be useful if you
     105 *        want to ensure that a task does not executes during
     106 *        certain operations such as a system mode change.
     107 */
    87108#define RTEMS_MAXIMUM_PRIORITY      PRIORITY_MAXIMUM
    88109
     
    130151#define RTEMS_NOTEPAD_LAST RTEMS_NOTEPAD_15
    131152
     153/** This is used to indicate the number of notepads available. */
    132154#define RTEMS_NUMBER_NOTEPADS  (RTEMS_NOTEPAD_LAST+1)
    133155
     
    181203}  RTEMS_API_Control;
    182204
    183 /*
    184  *  The following defines the information control block used to
     205/**
     206 *  The following instantiates the information control block used to
    185207 *  manage this class of objects.
    186208 */
  • cpukit/rtems/include/rtems/rtems/timer.h

    r86101e3 r2ad3d02  
    313313extern Watchdog_Control _Timer_Seconds_timer;
    314314
     315/**
     316 *  This method is used to temporaril
    315317#define _Timer_Server_stop_ticks_timer() \
    316318      _Watchdog_Remove( &_Timer_Server->Timer )
  • cpukit/rtems/inline/rtems/rtems/sem.inl

    r86101e3 r2ad3d02  
    6868}
    6969
     70/**
     71 *  @brief Semaphore_Get (Interrupts disabled)
     72 *
     73 *  This function maps semaphore IDs to semaphore control blocks.
     74 *  If ID corresponds to a local semaphore, then it returns
     75 *  the_semaphore control pointer which maps to ID and location
     76 *  is set to OBJECTS_LOCAL.  if the semaphore ID is global and
     77 *  resides on a remote node, then location is set to OBJECTS_REMOTE,
     78 *  and the_semaphore is undefined.  Otherwise, location is set
     79 *  to OBJECTS_ERROR and the_semaphore is undefined.
     80 */
    7081RTEMS_INLINE_ROUTINE Semaphore_Control *_Semaphore_Get_interrupt_disable (
    7182  Objects_Id         id,
Note: See TracChangeset for help on using the changeset viewer.