Changeset 35a07c4 in rtems


Ignore:
Timestamp:
Apr 11, 2019, 6:17:17 AM (2 months ago)
Author:
Andreas Dachsberger <andreas.dachsberger@…>
Branches:
master
Children:
acdb99eb
Parents:
1d6e6b1f
git-author:
Andreas Dachsberger <andreas.dachsberger@…> (04/11/19 06:17:17)
git-committer:
Sebastian Huber <sebastian.huber@…> (05/13/19 05:42:04)
Message:

doxygen: score: adjust doc in priorityimpl.h to doxygen guidelines

Update #3706.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • cpukit/include/rtems/score/priorityimpl.h

    r1d6e6b1f r35a07c4  
     1/**
     2 * @file
     3 *
     4 * @ingroup RTEMSScorePriority
     5 *
     6 * @brief Priority Handler API Implementation.
     7 */
     8
    19/*
    210 * Copyright (c) 2016 embedded brains GmbH.  All rights reserved.
     
    2331#endif /* __cplusplus */
    2432
     33/**
     34 * @addtogroup RTEMSScorePriority
     35 *
     36 * @{
     37 */
     38
     39/**
     40 * @brief Initializes the priority actions empty.
     41 *
     42 * @param[out] actions The actions to be initialized empty.
     43 */
    2544RTEMS_INLINE_ROUTINE void _Priority_Actions_initialize_empty(
    2645  Priority_Actions *actions
     
    3049}
    3150
     51/**
     52 * @brief Initializes the priority actions with the given information.
     53 *
     54 * @param[out] actions The actions to be initialized.
     55 * @param aggregation The aggregation for the @a actions to be initialized.
     56 * @param node The action node for the @a actions to be initialized.
     57 * @param type The action type for the @a actions to be initialized.
     58 */
    3259RTEMS_INLINE_ROUTINE void _Priority_Actions_initialize_one(
    3360  Priority_Actions     *actions,
     
    4673}
    4774
     75/**
     76 * @brief Checks if the priority actions is empty.
     77 *
     78 * @param actions The priority actions to check if it is empty.
     79 *
     80 * @retval true The priority actions @a actions is empty.
     81 * @retval false The priority actions @a actions is empty.
     82 */
    4883RTEMS_INLINE_ROUTINE bool _Priority_Actions_is_empty(
    4984  const Priority_Actions *actions
     
    5388}
    5489
     90/**
     91 * @brief Checks if the priority actions is valid.
     92 *
     93 * @param aggregation The aggregation of the priority action.
     94 *
     95 * @retval true The @a aggregation is valid.
     96 * @retval false The @a aggregation is not valid.
     97 */
    5598RTEMS_INLINE_ROUTINE bool _Priority_Actions_is_valid(
    5699  const Priority_Aggregation *aggregation
     
    65108}
    66109
     110/**
     111 * @brief Moves the priority actions' actions.
     112 *
     113 * @param[in, out] actions The priority actions to move the actions away from.
     114 *
     115 * @return The former actions of @a actions that were moved.
     116 */
    67117RTEMS_INLINE_ROUTINE Priority_Aggregation *_Priority_Actions_move(
    68118  Priority_Actions *actions
     
    77127}
    78128
     129/**
     130 * @brief Adds actions to the priority actions' actions.
     131 *
     132 * @param[in, out] actions The priority actions to add actions to.
     133 * @param[out] aggregation The actions to add to @a actions.
     134 */
    79135RTEMS_INLINE_ROUTINE void _Priority_Actions_add(
    80136  Priority_Actions     *actions,
     
    92148}
    93149
     150/**
     151 * @brief Initializes the priority node to the given priority.
     152 *
     153 * @param[out] node The priority node to be initialized.
     154 * @param priority The priority to initialize @a node to.
     155 */
    94156RTEMS_INLINE_ROUTINE void _Priority_Node_initialize(
    95157  Priority_Node    *node,
     
    101163}
    102164
     165/**
     166 * @brief Sets the priority of the priority node to the given priority.
     167 *
     168 * @param[out] node The priority node to set the priority of.
     169 * @param priority The new priority for @a node.
     170 */
    103171RTEMS_INLINE_ROUTINE void _Priority_Node_set_priority(
    104172  Priority_Node    *node,
     
    109177}
    110178
     179/**
     180 * @brief Sets the priority node inactive.
     181 *
     182 * @param[in, out] node The priority node to set inactive.
     183 */
    111184RTEMS_INLINE_ROUTINE void _Priority_Node_set_inactive(
    112185  Priority_Node *node
     
    116189}
    117190
     191/**
     192 * @brief Checks if the priority node is active.
     193 *
     194 * @param node The priority node that shall be verified if it is active.
     195 *
     196 * @retval true The priority node is active.
     197 * @retval false The priority node is inactive.
     198 */
    118199RTEMS_INLINE_ROUTINE bool _Priority_Node_is_active(
    119200  const Priority_Node *node
     
    123204}
    124205
     206/**
     207 * @brief Initializes the priority aggregation empty.
     208 *
     209 * @param[out] aggregation The priority aggregaton to initialize empty.
     210 */
    125211RTEMS_INLINE_ROUTINE void _Priority_Initialize_empty(
    126212  Priority_Aggregation *aggregation
     
    138224}
    139225
     226/**
     227 * @brief Initializes the priority aggregation with the given information.
     228 *
     229 * @param[out] aggregation The priority aggregaton to initialize.
     230 * @param node The priority node to initialize @a aggregation with.
     231 */
    140232RTEMS_INLINE_ROUTINE void _Priority_Initialize_one(
    141233  Priority_Aggregation *aggregation,
     
    154246}
    155247
     248/**
     249 * @brief Checks if the priority aggregation is empty.
     250 *
     251 * @param aggregation The priority aggregation that shall be verified if it is empty.
     252 *
     253 * @retval true The priority aggregation is empty.
     254 * @retval false The priority aggregation is not empty.
     255 */
    156256RTEMS_INLINE_ROUTINE bool _Priority_Is_empty(
    157257  const Priority_Aggregation *aggregation
     
    161261}
    162262
     263/**
     264 * @brief Gets the priority aggregation's priority.
     265 *
     266 * @param aggregation The priority aggregation to get the priority from.
     267 *
     268 * @return The priority of @a aggregation.
     269 */
    163270RTEMS_INLINE_ROUTINE Priority_Control _Priority_Get_priority(
    164271  const Priority_Aggregation *aggregation
     
    168275}
    169276
     277/**
     278 * @brief Gets the priority aggregation's scheduler.
     279 *
     280 * @param aggregation The priority aggregation to get the scheduler from.
     281 *
     282 * @return The scheduler of @a aggregation.
     283 */
    170284RTEMS_INLINE_ROUTINE const Scheduler_Control *_Priority_Get_scheduler(
    171285  const Priority_Aggregation *aggregation
     
    179293}
    180294
     295/**
     296 * @brief Gets the minimum node of the priority aggregation
     297 *
     298 * @param aggregation The priority aggregation to get the minimum node from.
     299 *
     300 * @return The minimum node of @a aggregation
     301 */
    181302RTEMS_INLINE_ROUTINE Priority_Node *_Priority_Get_minimum_node(
    182303  const Priority_Aggregation *aggregation
     
    186307}
    187308
     309/**
     310 * @brief Sets the action node of the priority aggregation.
     311 *
     312 * @param[out] aggregation The priority aggregation to set the action node of.
     313 * @param node The new priority node for @a aggregation.
     314 */
    188315RTEMS_INLINE_ROUTINE void _Priority_Set_action_node(
    189316  Priority_Aggregation *aggregation,
     
    194321}
    195322
     323/**
     324 * @brief Sets the action type of the priority aggregation.
     325 *
     326 * @param[out] aggregation The priority aggregation to set the action type of.
     327 * @param type The new action type for @a aggregation.
     328 */
    196329RTEMS_INLINE_ROUTINE void _Priority_Set_action_type(
    197330  Priority_Aggregation *aggregation,
     
    202335}
    203336
     337/**
     338 * @brief Sets the action type and action node of the priority aggregation.
     339 *
     340 * @param[out] aggregation The priority aggregation to set the action type
     341 *      and action node of.
     342 * @param node The new action node for @a aggregation.
     343 * @param type The new action type for @a aggregation.
     344 */
    204345RTEMS_INLINE_ROUTINE void _Priority_Set_action(
    205346  Priority_Aggregation *aggregation,
     
    212353}
    213354
     355/**
     356 * @brief Gets the next action of the priority aggregation.
     357 *
     358 * @param aggregation The priority aggregation to get the next action of.
     359 *
     360 * @retval next_action The next action of @a aggregation if RTEMS_SMP is defined.
     361 * @retval NULL RTEMS_SMP is not defined.
     362 */
    214363RTEMS_INLINE_ROUTINE Priority_Aggregation *_Priority_Get_next_action(
    215364  const Priority_Aggregation *aggregation
     
    224373}
    225374
     375/**
     376 * @brief Compares two priorities.
     377 *
     378 * @param left The priority control on the left hand side of the comparison.
     379 * @param right THe RBTree_Node to get the priority for the comparison from.
     380 *
     381 * @retval true The priority on the left hand side of the comparison is smaller.
     382 * @retval false The priority on the left hand side of the comparison is greater of equal.
     383 */
    226384RTEMS_INLINE_ROUTINE bool _Priority_Less(
    227385  const void        *left,
     
    238396}
    239397
     398/**
     399 * @brief Inserts the node with the given priority into the
     400 *      priority aggregation's contributors.
     401 *
     402 * This method does not handle the case that @a node was the minimal node.
     403 *
     404 * @param[in, out] aggregation The aggregation to insert the node in its contributors.
     405 * @param[in] node The node to insert in the contributors.
     406 * @param priority The priority control for the inserted node.
     407 *
     408 * @retval true The inserted node with its priority is the minimum of the RBTree.
     409 * @retval false The inserted node with its priority is not the minimum of the RBTree.
     410 */
    240411RTEMS_INLINE_ROUTINE bool _Priority_Plain_insert(
    241412  Priority_Aggregation *aggregation,
     
    252423}
    253424
     425/**
     426 * @brief Extracts the priority node from the aggregation.
     427 *
     428 * This method does not handle the case that @a node was the minimal node.
     429 *
     430 * @param[in,  out] aggregation The aggregation to extract the node from.
     431 * @param node The node to be extracted.
     432 */
    254433RTEMS_INLINE_ROUTINE void _Priority_Plain_extract(
    255434  Priority_Aggregation *aggregation,
     
    260439}
    261440
     441/**
     442 * @brief Updates the priority of the node in the aggregation.
     443 *
     444 * It first extracts the node and inserts it again, with the new @a node priority as key.
     445 *   This method does not handle the case that @a node was the minimal node.
     446 *
     447 * @param[in, out] aggregation The aggregation to change the node in.
     448 * @param node The node that has a new priority and will be reinserted in the aggregation.
     449 */
    262450RTEMS_INLINE_ROUTINE void _Priority_Plain_changed(
    263451  Priority_Aggregation *aggregation,
     
    288476);
    289477
     478/**
     479 * @brief Does nothing.
     480 *
     481 * This method does nothing.
     482 *
     483 * @param aggregation Is ignored by the method.
     484 * @param prepend_it Is ignored by the method.
     485 * @param actions Is ignored by the method.
     486 * @param arg Is ignored by the method.
     487 */
    290488RTEMS_INLINE_ROUTINE void _Priority_Change_nothing(
    291489  Priority_Aggregation *aggregation,
     
    301499}
    302500
     501/**
     502 * @brief Does nothing.
     503 *
     504 * This method does nothing.
     505 *
     506 * @param aggregation Is ignored by the method.
     507 * @param actions Is ignored by the method.
     508 * @param arg Is ignored by the method.
     509 */
    303510RTEMS_INLINE_ROUTINE void _Priority_Remove_nothing(
    304511  Priority_Aggregation *aggregation,
     
    312519}
    313520
     521/**
     522 * @brief Inserts the node in a nonempty aggregation and handles change if
     523 *      the node is the new minimum.
     524 *
     525 * @param[in, out] aggregation The aggregation to insert the node into.
     526 * @param node The node to be inserted.  The node's priority is used as a key.
     527 * @param actions Parameter for @a change that is used if the node is the new
     528 *      minimum.
     529 * @param change The priority change handler that is called in the case that
     530 *      the new node is the minimum of the aggregation.
     531 * @param arg Arguments for @a change that is used if the node is the new
     532 *      minimum.
     533 */
    314534RTEMS_INLINE_ROUTINE void _Priority_Non_empty_insert(
    315535  Priority_Aggregation    *aggregation,
     
    331551}
    332552
     553/**
     554 * @brief
     555 *
     556 * @param[in, out] aggregation The aggregation to insert the node in.
     557 * @param node The node to be inserted.  The node's priority is used as key.
     558 * @param actions Priority actions for the case that the aggregation was empty before
     559 *      the insert or the node is the new minimum.
     560 * @param add Is called in the case that @a aggregation was empty before the insert.
     561 * @param change Is called in the case that @a aggregation was nonempty before the
     562 *      insert and @a node is the new minimum of the aggregation.
     563 * @param arg The arguments for @a change.
     564 */
    333565RTEMS_INLINE_ROUTINE void _Priority_Insert(
    334566  Priority_Aggregation    *aggregation,
     
    348580}
    349581
     582/**
     583 * @brief Extracts the node from the aggregation.
     584 *
     585 * This method extracts the node from the aggregation and handles the
     586 * cases that @a aggregation is empty after the extraction, or that
     587 * @a node was the minimal node in @a aggregation by calling remove (if
     588 * empty) or change (if @a node was the minimal node).
     589 *
     590 * @param[in, out] aggregation The aggregation to extract the @a node from.
     591 * @param node The node to extract from @a aggregation.
     592 * @param actions The actions for the cases that the aggregation is empty
     593 *      after the extraction, or the minimal node was extracted.
     594 * @param remove Is called in the case that the aggregation is empty after
     595 *      the extraction.
     596 * @param change Is called in the case that the minimal node was extracted.
     597 * @param arg The arguments for @a remove and @a change.
     598 */
    350599RTEMS_INLINE_ROUTINE void _Priority_Extract(
    351600  Priority_Aggregation    *aggregation,
     
    373622}
    374623
     624/**
     625 * @brief Extracts the node from the aggregation.
     626 *
     627 * This method extracts the node from the aggregation and handles the
     628 * case that @a node was the minimal node in @a aggregation by calling
     629 * change (if @a node was the minimal node).
     630 *
     631 * @param[in, out] aggregation The aggregation to extract the @a node from.
     632 * @param node The node to extract from @a aggregation.
     633 * @param actions The actions for the case that the minimal node was extracted.
     634 * @param change Is called in the case that the minimal node was extracted.
     635 * @param arg The arguments for @a change.
     636 */
    375637RTEMS_INLINE_ROUTINE void _Priority_Extract_non_empty(
    376638  Priority_Aggregation    *aggregation,
     
    394656}
    395657
     658/**
     659 * @brief Updates the priority of the node in the aggregation.
     660 *
     661 * This method handles the case that @a node was the minimal node in
     662 * @a aggregation.
     663 *
     664 * @param[in, out] aggregation The aggregation to change the node in.
     665 * @param node The node that has a new priority and will be reinserted in the aggregation.
     666 * @param prepend_it Indicates whether @a change should prepend if the minimal priority is
     667 *      incorrectly set after the change.
     668 * @param actions The actions for the case that the minimal priority is incorrectly set
     669 *      after the change.
     670 * @param change Is called if the minimal priority is incorrectly set after the change.
     671 * @param arg The arguments for @a change.
     672 */
    396673RTEMS_INLINE_ROUTINE void _Priority_Changed(
    397674  Priority_Aggregation    *aggregation,
     
    415692}
    416693
     694/**
     695 * @brief Replaces one node by another.
     696 *
     697 * The new node has the priority of the old node.
     698 *
     699 * @param[in, out] aggregation The aggregation to replace @a victim by @a replacement in.
     700 * @param victim The node that will be replaced.
     701 * @param[out] replacement The node that replaces @a victim.  It obtains its priority
     702 *      from @a victim.
     703 */
    417704RTEMS_INLINE_ROUTINE void _Priority_Replace(
    418705  Priority_Aggregation *aggregation,
     
    429716}
    430717
     718/** @} */
     719
    431720#ifdef __cplusplus
    432721}
Note: See TracChangeset for help on using the changeset viewer.