forked from Imagelibrary/rtems
score: Doxygen Clean Up Task #18
http://www.google-melange.com/gci/task/view/google/gci2012/8137204
This commit is contained in:
committed by
Gedare Bloom
parent
f12ef23941
commit
d8134178de
@@ -1,5 +1,7 @@
|
|||||||
/**
|
/**
|
||||||
* @file rtems/score/address.inl
|
* @file
|
||||||
|
*
|
||||||
|
* @brief Inlined Routines Associated with Addresses
|
||||||
*
|
*
|
||||||
* This include file contains the bodies of the routines
|
* This include file contains the bodies of the routines
|
||||||
* about addresses which are inlined.
|
* about addresses which are inlined.
|
||||||
@@ -25,10 +27,12 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @addtogroup ScoreAddress
|
* @addtogroup ScoreAddress
|
||||||
|
*
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/** @brief Add Offset to Address
|
/**
|
||||||
|
* @brief Add offset to an address.
|
||||||
*
|
*
|
||||||
* This function is used to add an @a offset to a @a base address.
|
* This function is used to add an @a offset to a @a base address.
|
||||||
* It returns the resulting address. This address is typically
|
* It returns the resulting address. This address is typically
|
||||||
@@ -48,7 +52,8 @@ RTEMS_INLINE_ROUTINE void *_Addresses_Add_offset (
|
|||||||
return (void *)((uintptr_t)base + offset);
|
return (void *)((uintptr_t)base + offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @brief Subtract Offset from Offset
|
/**
|
||||||
|
* @brief Subtract offset from offset.
|
||||||
*
|
*
|
||||||
* This function is used to subtract an @a offset from a @a base
|
* This function is used to subtract an @a offset from a @a base
|
||||||
* address. It returns the resulting address. This address is
|
* address. It returns the resulting address. This address is
|
||||||
@@ -68,7 +73,8 @@ RTEMS_INLINE_ROUTINE void *_Addresses_Subtract_offset (
|
|||||||
return (void *)((uintptr_t)base - offset);
|
return (void *)((uintptr_t)base - offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @brief Subtract Two Offsets
|
/**
|
||||||
|
* @brief Subtract two offsets.
|
||||||
*
|
*
|
||||||
* This function is used to subtract two addresses. It returns the
|
* This function is used to subtract two addresses. It returns the
|
||||||
* resulting offset.
|
* resulting offset.
|
||||||
@@ -89,7 +95,8 @@ RTEMS_INLINE_ROUTINE int32_t _Addresses_Subtract (
|
|||||||
return (int32_t) ((const char *) left - (const char *) right);
|
return (int32_t) ((const char *) left - (const char *) right);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @brief Is Address Aligned
|
/**
|
||||||
|
* @brief Is address aligned.
|
||||||
*
|
*
|
||||||
* This function returns true if the given address is correctly
|
* This function returns true if the given address is correctly
|
||||||
* aligned for this processor and false otherwise. Proper alignment
|
* aligned for this processor and false otherwise. Proper alignment
|
||||||
@@ -97,8 +104,8 @@ RTEMS_INLINE_ROUTINE int32_t _Addresses_Subtract (
|
|||||||
*
|
*
|
||||||
* @param[in] address is the address being checked for alignment.
|
* @param[in] address is the address being checked for alignment.
|
||||||
*
|
*
|
||||||
* @return This method returns true if the address is aligned and
|
* @retval true The @a address is aligned.
|
||||||
* false otherwise.
|
* @retval false The @a address is not aligned.
|
||||||
*/
|
*/
|
||||||
RTEMS_INLINE_ROUTINE bool _Addresses_Is_aligned (
|
RTEMS_INLINE_ROUTINE bool _Addresses_Is_aligned (
|
||||||
const void *address
|
const void *address
|
||||||
@@ -111,7 +118,8 @@ RTEMS_INLINE_ROUTINE bool _Addresses_Is_aligned (
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @brief Is Address In Range
|
/**
|
||||||
|
* @brief Is address in range.
|
||||||
*
|
*
|
||||||
* This function returns true if the given address is within the
|
* This function returns true if the given address is within the
|
||||||
* memory range specified and false otherwise. base is the address
|
* memory range specified and false otherwise. base is the address
|
||||||
@@ -123,8 +131,8 @@ RTEMS_INLINE_ROUTINE bool _Addresses_Is_aligned (
|
|||||||
* @param[in] base is the lowest address of the range to check against.
|
* @param[in] base is the lowest address of the range to check against.
|
||||||
* @param[in] limit is the highest address of the range to check against.
|
* @param[in] limit is the highest address of the range to check against.
|
||||||
*
|
*
|
||||||
* @return This method returns true if the given @a address is within the
|
* @retval true The @a address is within the memory range specified
|
||||||
* memory range specified and false otherwise.
|
* @retval false The @a address is not within the memory range specified.
|
||||||
*/
|
*/
|
||||||
RTEMS_INLINE_ROUTINE bool _Addresses_Is_in_range (
|
RTEMS_INLINE_ROUTINE bool _Addresses_Is_in_range (
|
||||||
const void *address,
|
const void *address,
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
/**
|
/**
|
||||||
* @file rtems/score/coremutex.inl
|
* @file
|
||||||
|
*
|
||||||
|
* @brief Inlined Routines Associated with the CORE Mutexes
|
||||||
*
|
*
|
||||||
* This include file contains all of the inlined routines associated
|
* This include file contains all of the inlined routines associated
|
||||||
* with the CORE mutexes.
|
* with the CORE mutexes.
|
||||||
@@ -23,18 +25,20 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @addtogroup ScoreMutex
|
* @addtogroup ScoreMutex
|
||||||
|
*
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Is Mutex Locked
|
* @brief Is mutex locked.
|
||||||
*
|
*
|
||||||
* This routine returns true if the mutex specified is locked and false
|
* This routine returns true if the mutex specified is locked and false
|
||||||
* otherwise.
|
* otherwise.
|
||||||
*
|
*
|
||||||
* @param[in] the_mutex is the mutex to check
|
* @param[in] the_mutex is the mutex to check.
|
||||||
*
|
*
|
||||||
* @return This method returns true if the mutex is locked.
|
* @retval true The mutex is locked.
|
||||||
|
* @retval false The mutex is not locked.
|
||||||
*/
|
*/
|
||||||
RTEMS_INLINE_ROUTINE bool _CORE_mutex_Is_locked(
|
RTEMS_INLINE_ROUTINE bool _CORE_mutex_Is_locked(
|
||||||
CORE_mutex_Control *the_mutex
|
CORE_mutex_Control *the_mutex
|
||||||
@@ -44,14 +48,15 @@ RTEMS_INLINE_ROUTINE bool _CORE_mutex_Is_locked(
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Does Core Mutex Use FIFO Blocking
|
* @brief Does core mutex use FIFO blocking.
|
||||||
*
|
*
|
||||||
* This routine returns true if the mutex's wait discipline is FIFO and false
|
* This routine returns true if the mutex's wait discipline is FIFO and false
|
||||||
* otherwise.
|
* otherwise.
|
||||||
*
|
*
|
||||||
* @param[in] the_attribute is the attribute set of the mutex
|
* @param[in] the_attribute is the attribute set of the mutex.
|
||||||
*
|
*
|
||||||
* @return This method returns true if the mutex is using FIFO blocking order.
|
* @retval true The mutex is using FIFO blocking order.
|
||||||
|
* @retval false The mutex is not using FIFO blocking order.
|
||||||
*/
|
*/
|
||||||
RTEMS_INLINE_ROUTINE bool _CORE_mutex_Is_fifo(
|
RTEMS_INLINE_ROUTINE bool _CORE_mutex_Is_fifo(
|
||||||
CORE_mutex_Attributes *the_attribute
|
CORE_mutex_Attributes *the_attribute
|
||||||
@@ -61,15 +66,16 @@ RTEMS_INLINE_ROUTINE bool _CORE_mutex_Is_fifo(
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Doex Core Mutex Use Priority Blocking
|
* @brief Doex core mutex use priority blocking.
|
||||||
*
|
*
|
||||||
* This routine returns true if the mutex's wait discipline is PRIORITY and
|
* This routine returns true if the mutex's wait discipline is PRIORITY and
|
||||||
* false otherwise.
|
* false otherwise.
|
||||||
*
|
*
|
||||||
* @param[in] the_attribute is the attribute set of the mutex
|
* @param[in] the_attribute is the attribute set of the mutex.
|
||||||
|
*
|
||||||
|
* @retval true The mutex is using priority blocking order.
|
||||||
|
* @retval false The mutex is not using priority blocking order.
|
||||||
*
|
*
|
||||||
* @return This method returns true if the mutex is using
|
|
||||||
* priority blocking order.
|
|
||||||
*/
|
*/
|
||||||
RTEMS_INLINE_ROUTINE bool _CORE_mutex_Is_priority(
|
RTEMS_INLINE_ROUTINE bool _CORE_mutex_Is_priority(
|
||||||
CORE_mutex_Attributes *the_attribute
|
CORE_mutex_Attributes *the_attribute
|
||||||
@@ -79,15 +85,15 @@ RTEMS_INLINE_ROUTINE bool _CORE_mutex_Is_priority(
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Does Mutex Use Priority Inheritance
|
* @brief Does mutex use priority inheritance.
|
||||||
*
|
*
|
||||||
* This routine returns true if the mutex's wait discipline is
|
* This routine returns true if the mutex's wait discipline is
|
||||||
* INHERIT_PRIORITY and false otherwise.
|
* INHERIT_PRIORITY and false otherwise.
|
||||||
*
|
*
|
||||||
* @param[in] the_attribute is the attribute set of the mutex
|
* @param[in] the_attribute is the attribute set of the mutex.
|
||||||
*
|
*
|
||||||
* @return This method returns true if the mutex is using priority
|
* @retval true The mutex is using priority inheritance.
|
||||||
* inheritance.
|
* @retval false The mutex is not using priority inheritance.
|
||||||
*/
|
*/
|
||||||
RTEMS_INLINE_ROUTINE bool _CORE_mutex_Is_inherit_priority(
|
RTEMS_INLINE_ROUTINE bool _CORE_mutex_Is_inherit_priority(
|
||||||
CORE_mutex_Attributes *the_attribute
|
CORE_mutex_Attributes *the_attribute
|
||||||
@@ -97,14 +103,15 @@ RTEMS_INLINE_ROUTINE bool _CORE_mutex_Is_inherit_priority(
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Does Mutex Use Priority Ceiling
|
* @brief Does mutex use priority ceiling.
|
||||||
*
|
*
|
||||||
* This routine returns true if the mutex's wait discipline is
|
* This routine returns true if the mutex's wait discipline is
|
||||||
* PRIORITY_CEILING and false otherwise.
|
* PRIORITY_CEILING and false otherwise.
|
||||||
*
|
*
|
||||||
* @param[in] the_attribute is the attribute set of the mutex
|
* @param[in] the_attribute is the attribute set of the mutex.
|
||||||
* @return This method returns true if the mutex is using priority
|
*
|
||||||
* ceiling.
|
* @retval true The mutex is using priority ceiling.
|
||||||
|
* @retval false The mutex is not using priority ceiling.
|
||||||
*/
|
*/
|
||||||
RTEMS_INLINE_ROUTINE bool _CORE_mutex_Is_priority_ceiling(
|
RTEMS_INLINE_ROUTINE bool _CORE_mutex_Is_priority_ceiling(
|
||||||
CORE_mutex_Attributes *the_attribute
|
CORE_mutex_Attributes *the_attribute
|
||||||
|
|||||||
@@ -1,9 +1,7 @@
|
|||||||
/**
|
/**
|
||||||
* @file
|
* @file
|
||||||
*
|
*
|
||||||
* @ingroup ScoreHeap
|
* @brief Heap Handler API
|
||||||
*
|
|
||||||
* @brief Heap Handler API.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -201,7 +199,8 @@ RTEMS_INLINE_ROUTINE bool _Heap_Is_block_in_heap(
|
|||||||
*
|
*
|
||||||
* The next block of the last block will be the first block. Since the first
|
* The next block of the last block will be the first block. Since the first
|
||||||
* block indicates that the previous block is used, this ensures that the last
|
* block indicates that the previous block is used, this ensures that the last
|
||||||
* block appears as used for the _Heap_Is_used() and _Heap_Is_free() functions.
|
* block appears as used for the _Heap_Is_used() and _Heap_Is_free()
|
||||||
|
* functions.
|
||||||
*
|
*
|
||||||
* This feature will be used to terminate the scattered heap area list. See
|
* This feature will be used to terminate the scattered heap area list. See
|
||||||
* also _Heap_Extend().
|
* also _Heap_Extend().
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
/**
|
/**
|
||||||
* @file rtems/score/priority.inl
|
* @file
|
||||||
|
*
|
||||||
|
* @brief Inlined Routines in the Priority Handler
|
||||||
*
|
*
|
||||||
* This file contains the static inline implementation of all inlined
|
* This file contains the static inline implementation of all inlined
|
||||||
* routines in the Priority Handler.
|
* routines in the Priority Handler.
|
||||||
@@ -23,6 +25,7 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @addtogroup ScorePriority
|
* @addtogroup ScorePriority
|
||||||
|
*
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
/**
|
/**
|
||||||
* @file rtems/score/prioritybitmap.inl
|
* @file
|
||||||
|
*
|
||||||
|
* @brief Inlined Routines in the Priority Handler Bit Map Implementation
|
||||||
*
|
*
|
||||||
* This file contains the static inline implementation of all inlined
|
* This file contains the static inline implementation of all inlined
|
||||||
* routines in the Priority Handler bit map implementation
|
* routines in the Priority Handler bit map implementation
|
||||||
@@ -23,6 +25,7 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @addtogroup ScorePriority
|
* @addtogroup ScorePriority
|
||||||
|
*
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
/**
|
/**
|
||||||
* @file rtems/score/rbtree.inl
|
* @file
|
||||||
|
*
|
||||||
|
* @brief Inlined Routines Associated with Red-Black Trees
|
||||||
*
|
*
|
||||||
* This include file contains the bodies of the routines which are
|
* This include file contains the bodies of the routines which are
|
||||||
* associated with Red-Black Trees and inlined.
|
* associated with Red-Black Trees and inlined.
|
||||||
@@ -26,11 +28,12 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @addtogroup ScoreRBTree
|
* @addtogroup ScoreRBTree
|
||||||
|
*
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Get the direction opposite to @a the_dir
|
* @brief Get the direction opposite to @a the_dir.
|
||||||
*/
|
*/
|
||||||
RTEMS_INLINE_ROUTINE RBTree_Direction _RBTree_Opposite_direction(
|
RTEMS_INLINE_ROUTINE RBTree_Direction _RBTree_Opposite_direction(
|
||||||
RBTree_Direction the_dir
|
RBTree_Direction the_dir
|
||||||
@@ -39,7 +42,8 @@ RTEMS_INLINE_ROUTINE RBTree_Direction _RBTree_Opposite_direction(
|
|||||||
return (RBTree_Direction) !((int) the_dir);
|
return (RBTree_Direction) !((int) the_dir);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @brief Set off rbtree
|
/**
|
||||||
|
* @brief Set off RBtree.
|
||||||
*
|
*
|
||||||
* This function sets the parent and child fields of the @a node to NULL
|
* This function sets the parent and child fields of the @a node to NULL
|
||||||
* indicating the @a node is not part of a rbtree.
|
* indicating the @a node is not part of a rbtree.
|
||||||
@@ -52,7 +56,8 @@ RTEMS_INLINE_ROUTINE void _RBTree_Set_off_rbtree(
|
|||||||
node->parent = node->child[RBT_LEFT] = node->child[RBT_RIGHT] = NULL;
|
node->parent = node->child[RBT_LEFT] = node->child[RBT_RIGHT] = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @brief Is the Node off RBTree
|
/**
|
||||||
|
* @brief Is the node off RBTree.
|
||||||
*
|
*
|
||||||
* This function returns true if the @a node is not on a rbtree. A @a node is
|
* This function returns true if the @a node is not on a rbtree. A @a node is
|
||||||
* off rbtree if the parent and child fields are set to NULL.
|
* off rbtree if the parent and child fields are set to NULL.
|
||||||
@@ -64,10 +69,14 @@ RTEMS_INLINE_ROUTINE bool _RBTree_Is_node_off_rbtree(
|
|||||||
return (node->parent == NULL) && (node->child[RBT_LEFT] == NULL) && (node->child[RBT_RIGHT] == NULL);
|
return (node->parent == NULL) && (node->child[RBT_LEFT] == NULL) && (node->child[RBT_RIGHT] == NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @brief Are Two Nodes Equal
|
/**
|
||||||
|
* @brief Are two Nodes equal.
|
||||||
*
|
*
|
||||||
* This function returns true if @a left and @a right are equal,
|
* This function returns true if @a left and @a right are equal,
|
||||||
* and false otherwise.
|
* and false otherwise.
|
||||||
|
*
|
||||||
|
* @retval true @a left and @a right are equal.
|
||||||
|
* @retval false @a left and @a right are not equal.
|
||||||
*/
|
*/
|
||||||
RTEMS_INLINE_ROUTINE bool _RBTree_Are_nodes_equal(
|
RTEMS_INLINE_ROUTINE bool _RBTree_Are_nodes_equal(
|
||||||
const RBTree_Node *left,
|
const RBTree_Node *left,
|
||||||
@@ -77,9 +86,13 @@ RTEMS_INLINE_ROUTINE bool _RBTree_Are_nodes_equal(
|
|||||||
return left == right;
|
return left == right;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @brief Is this RBTree Control Pointer Null
|
/**
|
||||||
|
* @brief Is this RBTree control pointer NULL.
|
||||||
*
|
*
|
||||||
* This function returns true if @a the_rbtree is NULL and false otherwise.
|
* This function returns true if @a the_rbtree is NULL and false otherwise.
|
||||||
|
*
|
||||||
|
* @retval true @a the_rbtree is @c NULL.
|
||||||
|
* @retval false @a the_rbtree is not @c NULL.
|
||||||
*/
|
*/
|
||||||
RTEMS_INLINE_ROUTINE bool _RBTree_Is_null(
|
RTEMS_INLINE_ROUTINE bool _RBTree_Is_null(
|
||||||
const RBTree_Control *the_rbtree
|
const RBTree_Control *the_rbtree
|
||||||
@@ -88,9 +101,13 @@ RTEMS_INLINE_ROUTINE bool _RBTree_Is_null(
|
|||||||
return (the_rbtree == NULL);
|
return (the_rbtree == NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @brief Is the RBTree Node Pointer NULL
|
/**
|
||||||
|
* @brief Is the RBTree node pointer NUL.
|
||||||
*
|
*
|
||||||
* This function returns true if @a the_node is NULL and false otherwise.
|
* This function returns true if @a the_node is NULL and false otherwise.
|
||||||
|
*
|
||||||
|
* @retval true @a the_node is @c NULL.
|
||||||
|
* @retval false @a the_node is not @c NULL.
|
||||||
*/
|
*/
|
||||||
RTEMS_INLINE_ROUTINE bool _RBTree_Is_null_node(
|
RTEMS_INLINE_ROUTINE bool _RBTree_Is_null_node(
|
||||||
const RBTree_Node *the_node
|
const RBTree_Node *the_node
|
||||||
@@ -100,7 +117,8 @@ RTEMS_INLINE_ROUTINE bool _RBTree_Is_null_node(
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/** @brief Return pointer to RBTree's root node
|
/**
|
||||||
|
* @brief Return pointer to RBTree's root node.
|
||||||
*
|
*
|
||||||
* This function returns a pointer to the root node of @a the_rbtree.
|
* This function returns a pointer to the root node of @a the_rbtree.
|
||||||
*/
|
*/
|
||||||
@@ -111,7 +129,8 @@ RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_Root(
|
|||||||
return the_rbtree->root;
|
return the_rbtree->root;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @brief Return pointer to RBTree's First node
|
/**
|
||||||
|
* @brief Return pointer to RBTree's first node.
|
||||||
*
|
*
|
||||||
* This function returns a pointer to the first node on @a the_rbtree,
|
* This function returns a pointer to the first node on @a the_rbtree,
|
||||||
* where @a dir specifies whether to return the minimum (0) or maximum (1).
|
* where @a dir specifies whether to return the minimum (0) or maximum (1).
|
||||||
@@ -124,7 +143,8 @@ RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_First(
|
|||||||
return the_rbtree->first[dir];
|
return the_rbtree->first[dir];
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @brief Return pointer to the parent of this node
|
/**
|
||||||
|
* @brief Return pointer to the parent of this node.
|
||||||
*
|
*
|
||||||
* This function returns a pointer to the parent node of @a the_node.
|
* This function returns a pointer to the parent node of @a the_node.
|
||||||
*/
|
*/
|
||||||
@@ -136,7 +156,8 @@ RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_Parent(
|
|||||||
return the_node->parent;
|
return the_node->parent;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @brief Return pointer to the left of this node
|
/**
|
||||||
|
* @brief Return pointer to the left of this node.
|
||||||
*
|
*
|
||||||
* This function returns a pointer to the left node of this node.
|
* This function returns a pointer to the left node of this node.
|
||||||
*
|
*
|
||||||
@@ -151,7 +172,8 @@ RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_Left(
|
|||||||
return the_node->child[RBT_LEFT];
|
return the_node->child[RBT_LEFT];
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @brief Return pointer to the right of this node
|
/**
|
||||||
|
* @brief Return pointer to the right of this node.
|
||||||
*
|
*
|
||||||
* This function returns a pointer to the right node of this node.
|
* This function returns a pointer to the right node of this node.
|
||||||
*
|
*
|
||||||
@@ -166,15 +188,16 @@ RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_Right(
|
|||||||
return the_node->child[RBT_RIGHT];
|
return the_node->child[RBT_RIGHT];
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @brief Is the RBTree Empty
|
/**
|
||||||
|
* @brief Is the RBTree empty.
|
||||||
*
|
*
|
||||||
* This function returns true if there are no nodes on @a the_rbtree and
|
* This function returns true if there are no nodes on @a the_rbtree and
|
||||||
* false otherwise.
|
* false otherwise.
|
||||||
*
|
*
|
||||||
* @param[in] the_rbtree is the rbtree to be operated upon.
|
* @param[in] the_rbtree is the rbtree to be operated upon.
|
||||||
*
|
*
|
||||||
* @return This function returns true if there are no nodes on
|
* @retval true There are no nodes on @a the_rbtree.
|
||||||
* @a the_rbtree and false otherwise.
|
* @retval false There are nodes on @a the_rbtree.
|
||||||
*/
|
*/
|
||||||
RTEMS_INLINE_ROUTINE bool _RBTree_Is_empty(
|
RTEMS_INLINE_ROUTINE bool _RBTree_Is_empty(
|
||||||
const RBTree_Control *the_rbtree
|
const RBTree_Control *the_rbtree
|
||||||
@@ -183,12 +206,16 @@ RTEMS_INLINE_ROUTINE bool _RBTree_Is_empty(
|
|||||||
return (the_rbtree->root == NULL);
|
return (the_rbtree->root == NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @brief Is this the First Node on the RBTree
|
/**
|
||||||
|
* @brief Is this the first node on the RBTree.
|
||||||
*
|
*
|
||||||
* This function returns true if @a the_node is the first node on
|
* This function returns true if @a the_node is the first node on
|
||||||
* @a the_rbtree and false otherwise. @a dir specifies whether first means
|
* @a the_rbtree and false otherwise. @a dir specifies whether first means
|
||||||
* minimum (0) or maximum (1).
|
* minimum (0) or maximum (1).
|
||||||
*
|
*
|
||||||
|
* @retval true @a the_node is the first node on @a the_rbtree.
|
||||||
|
* @retval false @a the_node is not the first node on @a the_rbtree.
|
||||||
|
*
|
||||||
*/
|
*/
|
||||||
RTEMS_INLINE_ROUTINE bool _RBTree_Is_first(
|
RTEMS_INLINE_ROUTINE bool _RBTree_Is_first(
|
||||||
const RBTree_Control *the_rbtree,
|
const RBTree_Control *the_rbtree,
|
||||||
@@ -199,9 +226,13 @@ RTEMS_INLINE_ROUTINE bool _RBTree_Is_first(
|
|||||||
return (the_node == _RBTree_First(the_rbtree, dir));
|
return (the_node == _RBTree_First(the_rbtree, dir));
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @brief Is this node red?
|
/**
|
||||||
|
* @brief Is this node red.
|
||||||
*
|
*
|
||||||
* This function returns true if @a the_node is red and false otherwise.
|
* This function returns true if @a the_node is red and false otherwise.
|
||||||
|
*
|
||||||
|
* @retval true @a the_node is red.
|
||||||
|
* @retval false @a the_node in not red.
|
||||||
*/
|
*/
|
||||||
RTEMS_INLINE_ROUTINE bool _RBTree_Is_red(
|
RTEMS_INLINE_ROUTINE bool _RBTree_Is_red(
|
||||||
const RBTree_Node *the_node
|
const RBTree_Node *the_node
|
||||||
@@ -211,11 +242,14 @@ RTEMS_INLINE_ROUTINE bool _RBTree_Is_red(
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/** @brief Does this RBTree have only One Node
|
/**
|
||||||
|
* @brief Does this RBTree have only one node.
|
||||||
*
|
*
|
||||||
* This function returns true if there is only one node on @a the_rbtree and
|
* This function returns true if there is only one node on @a the_rbtree and
|
||||||
* false otherwise.
|
* false otherwise.
|
||||||
*
|
*
|
||||||
|
* @retval true @a the_rbtree has only one node.
|
||||||
|
* @retval false @a the_rbtree has more than one nodes.
|
||||||
*/
|
*/
|
||||||
RTEMS_INLINE_ROUTINE bool _RBTree_Has_only_one_node(
|
RTEMS_INLINE_ROUTINE bool _RBTree_Has_only_one_node(
|
||||||
const RBTree_Control *the_rbtree
|
const RBTree_Control *the_rbtree
|
||||||
@@ -225,10 +259,14 @@ RTEMS_INLINE_ROUTINE bool _RBTree_Has_only_one_node(
|
|||||||
return (the_rbtree->root->child[RBT_LEFT] == NULL && the_rbtree->root->child[RBT_RIGHT] == NULL);
|
return (the_rbtree->root->child[RBT_LEFT] == NULL && the_rbtree->root->child[RBT_RIGHT] == NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @brief Is this Node the RBTree root
|
/**
|
||||||
|
* @brief Is this node the RBTree root.
|
||||||
*
|
*
|
||||||
* This function returns true if @a the_node is the root of @a the_rbtree and
|
* This function returns true if @a the_node is the root of @a the_rbtree and
|
||||||
* false otherwise.
|
* false otherwise.
|
||||||
|
*
|
||||||
|
* @retval true @a the_node is the root of @a the_rbtree.
|
||||||
|
* @retval false @a the_node is not the root of @a the_rbtree.
|
||||||
*/
|
*/
|
||||||
RTEMS_INLINE_ROUTINE bool _RBTree_Is_root(
|
RTEMS_INLINE_ROUTINE bool _RBTree_Is_root(
|
||||||
const RBTree_Control *the_rbtree,
|
const RBTree_Control *the_rbtree,
|
||||||
@@ -238,7 +276,8 @@ RTEMS_INLINE_ROUTINE bool _RBTree_Is_root(
|
|||||||
return (the_node == _RBTree_Root(the_rbtree));
|
return (the_node == _RBTree_Root(the_rbtree));
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @brief Initialize this RBTree as Empty
|
/**
|
||||||
|
* @brief Initialize this RBTree as empty.
|
||||||
*
|
*
|
||||||
* This routine initializes @a the_rbtree to contain zero nodes.
|
* This routine initializes @a the_rbtree to contain zero nodes.
|
||||||
*/
|
*/
|
||||||
@@ -256,11 +295,11 @@ RTEMS_INLINE_ROUTINE void _RBTree_Initialize_empty(
|
|||||||
the_rbtree->is_unique = is_unique;
|
the_rbtree->is_unique = is_unique;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @brief Return a pointer to node's grandparent
|
/**
|
||||||
|
* @brief Return a pointer to node's grandparent.
|
||||||
*
|
*
|
||||||
* This function returns a pointer to the grandparent of @a the_node if it
|
* This function returns a pointer to the grandparent of @a the_node if it
|
||||||
* exists, and NULL if not.
|
* exists, and NULL if not.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_Grandparent(
|
RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_Grandparent(
|
||||||
const RBTree_Node *the_node
|
const RBTree_Node *the_node
|
||||||
@@ -273,7 +312,8 @@ RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_Grandparent(
|
|||||||
return(the_node->parent->parent);
|
return(the_node->parent->parent);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @brief Return a pointer to node's sibling
|
/**
|
||||||
|
* @brief Return a pointer to node's sibling.
|
||||||
*
|
*
|
||||||
* This function returns a pointer to the sibling of @a the_node if it
|
* This function returns a pointer to the sibling of @a the_node if it
|
||||||
* exists, and NULL if not.
|
* exists, and NULL if not.
|
||||||
@@ -292,7 +332,8 @@ RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_Sibling(
|
|||||||
return the_node->parent->child[RBT_LEFT];
|
return the_node->parent->child[RBT_LEFT];
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @brief Return a pointer to node's parent's sibling
|
/**
|
||||||
|
* @brief Return a pointer to node's parent's sibling.
|
||||||
*
|
*
|
||||||
* This function returns a pointer to the sibling of the parent of
|
* This function returns a pointer to the sibling of the parent of
|
||||||
* @a the_node if it exists, and NULL if not.
|
* @a the_node if it exists, and NULL if not.
|
||||||
@@ -307,7 +348,8 @@ RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_Parent_sibling(
|
|||||||
return _RBTree_Sibling(the_node->parent);
|
return _RBTree_Sibling(the_node->parent);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @brief Find the RBTree_Control header given a node in the tree
|
/**
|
||||||
|
* @brief Find the RBTree_Control header given a node in the tree.
|
||||||
*
|
*
|
||||||
* This function returns a pointer to the header of the Red Black
|
* This function returns a pointer to the header of the Red Black
|
||||||
* Tree containing @a the_node if it exists, and NULL if not.
|
* Tree containing @a the_node if it exists, and NULL if not.
|
||||||
@@ -344,8 +386,8 @@ RTEMS_INLINE_ROUTINE bool _RBTree_Is_lesser(
|
|||||||
/**
|
/**
|
||||||
* @brief Returns the predecessor of a node.
|
* @brief Returns the predecessor of a node.
|
||||||
*
|
*
|
||||||
* @param[in] rbtree The red-black tree.
|
* @param[in] rbtree is the red-black tree.
|
||||||
* @param[in] node The node.
|
* @param[in] node is the node.
|
||||||
*
|
*
|
||||||
* @retval NULL The predecessor does not exist.
|
* @retval NULL The predecessor does not exist.
|
||||||
* @retval otherwise The predecessor node.
|
* @retval otherwise The predecessor node.
|
||||||
@@ -372,8 +414,8 @@ RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_Predecessor(
|
|||||||
/**
|
/**
|
||||||
* @brief Returns the successor of a node.
|
* @brief Returns the successor of a node.
|
||||||
*
|
*
|
||||||
* @param[in] rbtree The red-black tree.
|
* @param[in] rbtree is the red-black tree.
|
||||||
* @param[in] node The node.
|
* @param[in] node is the node.
|
||||||
*
|
*
|
||||||
* @retval NULL The successor does not exist.
|
* @retval NULL The successor does not exist.
|
||||||
* @retval otherwise The successor node.
|
* @retval otherwise The successor node.
|
||||||
@@ -397,7 +439,8 @@ RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_Successor(
|
|||||||
return _RBTree_Next( node, RBT_RIGHT );
|
return _RBTree_Next( node, RBT_RIGHT );
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @brief Get the First Node (unprotected)
|
/**
|
||||||
|
* @brief Get the first node (unprotected).
|
||||||
*
|
*
|
||||||
* This function removes the minimum or maximum node from the_rbtree and
|
* This function removes the minimum or maximum node from the_rbtree and
|
||||||
* returns a pointer to that node. It does NOT disable interrupts to ensure
|
* returns a pointer to that node. It does NOT disable interrupts to ensure
|
||||||
@@ -420,7 +463,8 @@ RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_Get_unprotected(
|
|||||||
return the_node;
|
return the_node;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @brief Rotate the_node in the direction passed as second argument
|
/**
|
||||||
|
* @brief Rotate the_node in the direction passed as second argument.
|
||||||
*
|
*
|
||||||
* This routine rotates @a the_node to the direction @a dir, swapping
|
* This routine rotates @a the_node to the direction @a dir, swapping
|
||||||
* @a the_node with its child\[@a dir\].
|
* @a the_node with its child\[@a dir\].
|
||||||
@@ -448,7 +492,8 @@ RTEMS_INLINE_ROUTINE void _RBTree_Rotate(
|
|||||||
the_node->parent = c;
|
the_node->parent = c;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @brief Determines whether the tree is unique
|
/**
|
||||||
|
* @brief Determines whether the tree is unique.
|
||||||
*/
|
*/
|
||||||
RTEMS_INLINE_ROUTINE bool _RBTree_Is_unique(
|
RTEMS_INLINE_ROUTINE bool _RBTree_Is_unique(
|
||||||
const RBTree_Control *the_rbtree
|
const RBTree_Control *the_rbtree
|
||||||
@@ -456,6 +501,7 @@ RTEMS_INLINE_ROUTINE bool _RBTree_Is_unique(
|
|||||||
{
|
{
|
||||||
return( the_rbtree && the_rbtree->is_unique );
|
return( the_rbtree && the_rbtree->is_unique );
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @} */
|
/** @} */
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
/**
|
/**
|
||||||
* @file rtems/score/schedulerpriority.inl
|
* @file
|
||||||
|
*
|
||||||
|
* @brief Inlined Routines Associated with the Manipulation of the
|
||||||
|
* Priority-Based Scheduling Structures
|
||||||
*
|
*
|
||||||
* This inline file contains all of the inlined routines associated with
|
* This inline file contains all of the inlined routines associated with
|
||||||
* the manipulation of the priority-based scheduling structures.
|
* the manipulation of the priority-based scheduling structures.
|
||||||
@@ -25,10 +28,12 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @addtogroup ScoreScheduler
|
* @addtogroup ScoreScheduler
|
||||||
|
*
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/** @brief Scheduler priority Ready queue initialize
|
/**
|
||||||
|
* @brief Ready queue initialization.
|
||||||
*
|
*
|
||||||
* This routine initializes @a the_ready_queue for priority-based scheduling.
|
* This routine initializes @a the_ready_queue for priority-based scheduling.
|
||||||
*/
|
*/
|
||||||
@@ -49,11 +54,11 @@ RTEMS_INLINE_ROUTINE void _Scheduler_priority_Ready_queue_initialize(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief _Scheduler_priority_Ready_queue_enqueue
|
* @brief Put a thread to the ready queue.
|
||||||
*
|
*
|
||||||
* This routine puts @a the_thread on to the priority-based ready queue.
|
* This routine puts @a the_thread on to the priority-based ready queue.
|
||||||
*
|
*
|
||||||
* @param[in] the_thread - pointer to thread
|
* @param[in] the_thread is a pointer to the thread
|
||||||
*/
|
*/
|
||||||
RTEMS_INLINE_ROUTINE void _Scheduler_priority_Ready_queue_enqueue(
|
RTEMS_INLINE_ROUTINE void _Scheduler_priority_Ready_queue_enqueue(
|
||||||
Thread_Control *the_thread
|
Thread_Control *the_thread
|
||||||
@@ -71,13 +76,13 @@ RTEMS_INLINE_ROUTINE void _Scheduler_priority_Ready_queue_enqueue(
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief _Scheduler_priority_Ready_queue_Enqueue_first
|
* @brief Put a thread to the head of the ready queue.
|
||||||
*
|
*
|
||||||
* This routine puts @a the_thread to the head of the ready queue.
|
* This routine puts @a the_thread to the head of the ready queue.
|
||||||
* For priority-based ready queues, the thread will be the first thread
|
* For priority-based ready queues, the thread will be the first thread
|
||||||
* at its priority level.
|
* at its priority level.
|
||||||
*
|
*
|
||||||
* @param[in] the_thread - pointer to thread
|
* @param[in] the_thread is a pointer to the thread.
|
||||||
*/
|
*/
|
||||||
RTEMS_INLINE_ROUTINE void _Scheduler_priority_Ready_queue_enqueue_first(
|
RTEMS_INLINE_ROUTINE void _Scheduler_priority_Ready_queue_enqueue_first(
|
||||||
Thread_Control *the_thread
|
Thread_Control *the_thread
|
||||||
@@ -96,12 +101,12 @@ RTEMS_INLINE_ROUTINE void _Scheduler_priority_Ready_queue_enqueue_first(
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief _Scheduler_priority_Ready_queue_extract
|
* @brief Remove a specific thread from the ready queue.
|
||||||
*
|
*
|
||||||
* This routine removes a specific thread from the specified
|
* This routine removes a specific thread from the specified
|
||||||
* priority-based ready queue.
|
* priority-based ready queue.
|
||||||
*
|
*
|
||||||
* @param[in] the_thread - pointer to thread
|
* @param[in] the_thread is a pointer to the thread.
|
||||||
*/
|
*/
|
||||||
RTEMS_INLINE_ROUTINE void _Scheduler_priority_Ready_queue_extract(
|
RTEMS_INLINE_ROUTINE void _Scheduler_priority_Ready_queue_extract(
|
||||||
Thread_Control *the_thread
|
Thread_Control *the_thread
|
||||||
@@ -122,7 +127,7 @@ RTEMS_INLINE_ROUTINE void _Scheduler_priority_Ready_queue_extract(
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief _Scheduler_priority_Ready_queue_first
|
* @brief Return a pointer to the first thread.
|
||||||
*
|
*
|
||||||
* This routines returns a pointer to the first thread on @a the_ready_queue.
|
* This routines returns a pointer to the first thread on @a the_ready_queue.
|
||||||
*
|
*
|
||||||
@@ -143,12 +148,12 @@ RTEMS_INLINE_ROUTINE Thread_Control *_Scheduler_priority_Ready_queue_first(
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief _Scheduler_priority_Ready_queue_requeue
|
* @brief Requeue a thread on the ready queue.
|
||||||
*
|
*
|
||||||
* This routine is invoked when a thread changes priority and should be
|
* This routine is invoked when a thread changes priority and should be
|
||||||
* moved to a different position on the ready queue.
|
* moved to a different position on the ready queue.
|
||||||
*
|
*
|
||||||
* @param[in] the_thread - pointer to thread
|
* @param[in] the_thread is a pointer to the thread
|
||||||
*/
|
*/
|
||||||
RTEMS_INLINE_ROUTINE void _Scheduler_priority_Ready_queue_requeue(
|
RTEMS_INLINE_ROUTINE void _Scheduler_priority_Ready_queue_requeue(
|
||||||
Thread_Control *the_thread
|
Thread_Control *the_thread
|
||||||
@@ -169,12 +174,10 @@ RTEMS_INLINE_ROUTINE void _Scheduler_priority_Ready_queue_requeue(
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief _Scheduler_priority_Schedule_body
|
* @brief Scheduling decision logic.
|
||||||
*
|
*
|
||||||
* This kernel routine implements scheduling decision logic
|
* This kernel routine implements scheduling decision logic
|
||||||
* for priority-based scheduling.
|
* for priority-based scheduling.
|
||||||
*
|
|
||||||
* @param[in] the_thread - pointer to thread
|
|
||||||
*/
|
*/
|
||||||
RTEMS_INLINE_ROUTINE void _Scheduler_priority_Schedule_body(void)
|
RTEMS_INLINE_ROUTINE void _Scheduler_priority_Schedule_body(void)
|
||||||
{
|
{
|
||||||
@@ -184,7 +187,7 @@ RTEMS_INLINE_ROUTINE void _Scheduler_priority_Schedule_body(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Scheduler priority Priority compare body
|
* @brief Priority comparison.
|
||||||
*
|
*
|
||||||
* This routine implements priority comparison for priority-based
|
* This routine implements priority comparison for priority-based
|
||||||
* scheduling.
|
* scheduling.
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
/**
|
/**
|
||||||
* @file rtems/score/schedulersimple.inl
|
* @file
|
||||||
|
*
|
||||||
|
* @brief Inlined Routines Associated with the Manipulation of the
|
||||||
|
* Priority-Based Scheduling Structures
|
||||||
*
|
*
|
||||||
* This inline file contains all of the inlined routines associated with
|
* This inline file contains all of the inlined routines associated with
|
||||||
* the manipulation of the priority-based scheduling structures.
|
* the manipulation of the priority-based scheduling structures.
|
||||||
@@ -24,6 +27,7 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @addtogroup ScoreScheduler
|
* @addtogroup ScoreScheduler
|
||||||
|
*
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
/**
|
/**
|
||||||
* @file rtems/score/threadmp.inl
|
* @file
|
||||||
|
*
|
||||||
|
* @brief Inlined Routines for the Multiprocessing part of Thread Package
|
||||||
*
|
*
|
||||||
* This include file contains the bodies of all inlined routines
|
* This include file contains the bodies of all inlined routines
|
||||||
* for the multiprocessing part of thread package.
|
* for the multiprocessing part of thread package.
|
||||||
@@ -25,6 +27,7 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @addtogroup ScoreThreadMP
|
* @addtogroup ScoreThreadMP
|
||||||
|
*
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
/**
|
/**
|
||||||
* @file rtems/score/threadq.inl
|
* @file
|
||||||
|
*
|
||||||
|
* @brief Inlined Routines Associated with the Manipulation of Thread Queues
|
||||||
*
|
*
|
||||||
* This inline file contains all of the inlined routines associated with
|
* This inline file contains all of the inlined routines associated with
|
||||||
* the manipulation of thread queues.
|
* the manipulation of thread queues.
|
||||||
@@ -25,6 +27,7 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @addtogroup ScoreThreadQ
|
* @addtogroup ScoreThreadQ
|
||||||
|
*
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
/**
|
/**
|
||||||
* @file rtems/score/watchdog.inl
|
* @file
|
||||||
|
*
|
||||||
|
* @brief Inlined Routines in the Watchdog Handler
|
||||||
*
|
*
|
||||||
* This file contains the static inline implementation of all inlined
|
* This file contains the static inline implementation of all inlined
|
||||||
* routines in the Watchdog Handler.
|
* routines in the Watchdog Handler.
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
/**
|
/**
|
||||||
* @file rtems/score/wkspace.inl
|
* @file
|
||||||
|
*
|
||||||
|
* @brief Inlined Routines Associated with the RAM Workspace
|
||||||
*
|
*
|
||||||
* This include file contains the bodies of the routines which contains
|
* This include file contains the bodies of the routines which contains
|
||||||
* information related to the RAM Workspace.
|
* information related to the RAM Workspace.
|
||||||
@@ -23,6 +25,7 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @addtogroup ScoreWorkspace
|
* @addtogroup ScoreWorkspace
|
||||||
|
*
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user