rtems: Doxygen Clean Up Task #1

This commit is contained in:
Ayush Awasthi
2013-01-04 09:29:06 -06:00
committed by Jennifer Averett
parent d106ab3efd
commit 61b8e9f65c
20 changed files with 870 additions and 802 deletions

View File

@@ -1,17 +1,20 @@
/** /**
* @file * @file
* *
* @ingroup ClassicRTEMS * @defgroup ClassicRTEMS RTEMS Classic API
* *
* @brief Provides the Public Interface to the RTEMS Classic API * @ingroup ClassicRTEMS
* @brief RTEMS Classic API
*
* the Public Interface to the RTEMS Classic API
*/ */
/* COPYRIGHT (c) 1989-2008. /* COPYRIGHT (c) 1989-2008.
* On-Line Applications Research Corporation (OAR). * On-Line Applications Research Corporation (OAR).
* *
* The license and distribution terms for this file may be * The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at * found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE. * http://www.rtems.com/license/LICENSE.
*/ */
#ifndef _RTEMS_H #ifndef _RTEMS_H

View File

@@ -1,18 +1,21 @@
/** /**
* @file rtems/rtems/attr.h * @file rtems/rtems/attr.h
* *
* @brief Information about the Object Attributes Handler * @defgroup ClassicAttributes Attributes
* *
* This include file contains all information about the Object Attributes * @ingroup ClassicRTEMS
* Handler. * @brief Object Attributes Handler
*
* This include file contains all information about the Object Attributes
* Handler.
*/ */
/* COPYRIGHT (c) 1989-2008. /* COPYRIGHT (c) 1989-2008.
* On-Line Applications Research Corporation (OAR). * On-Line Applications Research Corporation (OAR).
* *
* The license and distribution terms for this file may be * The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at * found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE. * http://www.rtems.com/license/LICENSE.
*/ */
#ifndef _RTEMS_RTEMS_ATTR_H #ifndef _RTEMS_RTEMS_ATTR_H

View File

@@ -1,16 +1,21 @@
/** /**
* @file rtems/rtems/barriermp.h * @file rtems/rtems/barriermp.h
* *
* This include file contains all the constants and structures associated * @defgroup ClassicBarrierMP Barrier MP Support
* with the Multiprocessing Support in the Barrier Manager. *
* @ingroup ClassicMP
* @brief MP Support in the Barrier Manager
*
* This include file contains all the constants and structures associated
* with the Multiprocessing Support in the Barrier Manager.
*/ */
/* COPYRIGHT (c) 1989-2008. /* COPYRIGHT (c) 1989-2008.
* On-Line Applications Research Corporation (OAR). * On-Line Applications Research Corporation (OAR).
* *
* The license and distribution terms for this file may be * The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at * found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE. * http://www.rtems.com/license/LICENSE.
*/ */
#ifndef _RTEMS_RTEMS_SEMMP_H #ifndef _RTEMS_RTEMS_SEMMP_H

View File

@@ -1,32 +1,35 @@
/** /**
* @file rtems/rtems/cache.h * @file rtems/rtems/cache.h
* *
* @brief Functionality Associated with the Cache Manager * @defgroup ClassicCache Cache
* *
* Cache Manager * @ingroup ClassicRTEMS
* @brief Cache Manager
*
* Functionality Associated with the Cache Manager
*/ */
/* COPYRIGHT (c) 1989-2008. /* COPYRIGHT (c) 1989-2008.
* On-Line Applications Research Corporation (OAR). * On-Line Applications Research Corporation (OAR).
* *
* The license and distribution terms for this file may be * The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at * found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE. * http://www.rtems.com/license/LICENSE.
* *
* *
* The functions in this file define the API to the RTEMS Cache Manager and * The functions in this file define the API to the RTEMS Cache Manager and
* are divided into data cache and instruction cache functions. Data cache * are divided into data cache and instruction cache functions. Data cache
* functions are only meaningful if a data cache is supported. Instruction * functions are only meaningful if a data cache is supported. Instruction
* cache functions are only meaningful if an instruction cache is supported. * cache functions are only meaningful if an instruction cache is supported.
* *
* The functions below are implemented with CPU dependent support routines * The functions below are implemented with CPU dependent support routines
* implemented as part of libcpu. In the event that a CPU does not support a * implemented as part of libcpu. In the event that a CPU does not support a
* specific function, the CPU dependent routine does nothing (but does exist). * specific function, the CPU dependent routine does nothing (but does exist).
* *
* At this point, the Cache Manager makes no considerations, and provides no * At this point, the Cache Manager makes no considerations, and provides no
* support for BSP specific issues such as a secondary cache. In such a system, * support for BSP specific issues such as a secondary cache. In such a system,
* the CPU dependent routines would have to be modified, or a BSP layer added * the CPU dependent routines would have to be modified, or a BSP layer added
* to this Manager. * to this Manager.
*/ */
#ifndef _RTEMS_RTEMS_CACHE_H #ifndef _RTEMS_RTEMS_CACHE_H

View File

@@ -1,18 +1,21 @@
/** /**
* @file rtems/rtems/config.h * @file rtems/rtems/config.h
* *
* @brief Records Which Define the Configuration Table * @defgroup ClassicConfig Configuration
* *
* This include file contains the table of user defined configuration * @ingroup ClassicRTEMS
* parameters specific for the RTEMS API. * @brief Configuration Table
*
* This include file contains the table of user defined configuration
* parameters specific for the RTEMS API.
*/ */
/* COPYRIGHT (c) 1989-2008. /* COPYRIGHT (c) 1989-2008.
* On-Line Applications Research Corporation (OAR). * On-Line Applications Research Corporation (OAR).
* *
* The license and distribution terms for this file may be * The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at * found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE. * http://www.rtems.com/license/LICENSE.
*/ */
#ifndef _RTEMS_RTEMS_CONFIG_H #ifndef _RTEMS_RTEMS_CONFIG_H

View File

@@ -1,30 +1,32 @@
/** /**
* @file rtems/rtems/dpmem.h * @file rtems/rtems/dpmem.h
* *
* @brief Constants and Structures Associated with the Dual Ported Memory * @defgroup ClassicDPMEM Dual Ported Memory
* Manager
* *
* This include file contains all the constants and structures associated * @ingroup ClassicRTEMS
* with the Dual Ported Memory Manager. This manager provides a mechanism * @brief Dual Ported Memory Manager
* for converting addresses between internal and external representations
* for multiple dual-ported memory areas.
* *
* Directives provided are: * This include file contains all the constants and structures associated
* with the Dual Ported Memory Manager. This manager provides a mechanism
* for converting addresses between internal and external representations
* for multiple dual-ported memory areas.
* *
* - create a port * Directives provided are:
* - get ID of a port *
* - delete a port * - create a port
* - convert external to internal address * - get ID of a port
* - convert internal to external address * - delete a port
* - convert external to internal address
* - convert internal to external address
* *
*/ */
/* COPYRIGHT (c) 1989-2008. /* COPYRIGHT (c) 1989-2008.
* On-Line Applications Research Corporation (OAR). * On-Line Applications Research Corporation (OAR).
* *
* The license and distribution terms for this file may be * The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at * found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE. * http://www.rtems.com/license/LICENSE.
*/ */
#ifndef _RTEMS_RTEMS_DPMEM_H #ifndef _RTEMS_RTEMS_DPMEM_H
@@ -88,24 +90,24 @@ RTEMS_DPMEM_EXTERN Objects_Information _Dual_ported_memory_Information;
void _Dual_ported_memory_Manager_initialization(void); void _Dual_ported_memory_Manager_initialization(void);
/** /**
* @brief Creates a port into a dual-ported memory area. * @brief Creates a port into a dual-ported memory area.
* *
* This routine implements the rtems_port_create directive. The port * This routine implements the rtems_port_create directive. The port
* will have the name @a name. The port maps onto an area of dual ported * will have the name @a name. The port maps onto an area of dual ported
* memory of length bytes which has internal_start and external_start * memory of length bytes which has internal_start and external_start
* as the internal and external starting addresses, respectively. * as the internal and external starting addresses, respectively.
* It returns the id of the created port in ID. * It returns the id of the created port in ID.
* *
* @param[in] name is the user defined port name * @param[in] name is the user defined port name
* @param[in] internal_start is the internal start address of port * @param[in] internal_start is the internal start address of port
* @param[in] external_start is the external start address of port * @param[in] external_start is the external start address of port
* @param[in] length is the physical length in bytes * @param[in] length is the physical length in bytes
* @param[out] id is the address of port id to set * @param[out] id is the address of port id to set
* *
* @return This method returns RTEMS_SUCCESSFUL if there was not an * @retval This method returns RTEMS_SUCCESSFUL if there was not an
* error. Otherwise, a status code is returned indicating the * error. Otherwise, a status code is returned indicating the
* source of the error. If successful, the id will * source of the error. If successful, the id will
* be filled in with the port id. * be filled in with the port id.
*/ */
rtems_status_code rtems_port_create( rtems_status_code rtems_port_create(
rtems_name name, rtems_name name,
@@ -116,16 +118,16 @@ rtems_status_code rtems_port_create(
); );
/** /**
* @brief RTEMS Port Name to Id * @brief RTEMS Port Name to Id
* *
* This routine implements the rtems_port_ident directive. This directive * This routine implements the rtems_port_ident directive. This directive
* returns the port ID associated with name. If more than one port is * returns the port ID associated with name. If more than one port is
* named name, then the port to which the ID belongs is arbitrary. * named name, then the port to which the ID belongs is arbitrary.
* *
* @param[in] name is the user defined port name * @param[in] name is the user defined port name
* @param[out] id is the pointer to port id * @param[out] id is the pointer to port id
* *
* @return RTEMS_SUCCESSFUL if successful or error code if unsuccessful * @retval RTEMS_SUCCESSFUL if successful or error code if unsuccessful
*/ */
rtems_status_code rtems_port_ident( rtems_status_code rtems_port_ident(
rtems_name name, rtems_name name,
@@ -133,35 +135,35 @@ rtems_status_code rtems_port_ident(
); );
/** /**
* @brief RTEMS Delete Port * @brief RTEMS Delete Port
* *
* This routine implements the rtems_port_delete directive. It deletes * This routine implements the rtems_port_delete directive. It deletes
* the port associated with ID. * the port associated with ID.
* *
* @param[in] id is the dual-ported memory area id * @param[in] id is the dual-ported memory area id
* *
* @return This method returns RTEMS_SUCCESSFUL if there was not an * @retval This method returns RTEMS_SUCCESSFUL if there was not an
* error. Otherwise, a status code is returned indicating the * error. Otherwise, a status code is returned indicating the
* source of the error. * source of the error.
*/ */
rtems_status_code rtems_port_delete( rtems_status_code rtems_port_delete(
rtems_id id rtems_id id
); );
/** /**
* @brief RTEMS Port External to Internal * @brief RTEMS Port External to Internal
* *
* This routine implements the rtems_port_external_to_internal directive. * This routine implements the rtems_port_external_to_internal directive.
* It returns the internal port address which maps to the provided * It returns the internal port address which maps to the provided
* external port address for the specified port ID.If the given external * external port address for the specified port ID. If the given external
* address is an invalid dual-ported address, then the internal address is * address is an invalid dual-ported address, then the internal address is
* set to the given external address. * set to the given external address.
* *
* @param[in] id is the id of dp memory object * @param[in] id is the id of dp memory object
* @param[in] external is the external address * @param[in] external is the external address
* @param[out] internal is the pointer of internal address to set * @param[out] internal is the pointer of internal address to set
* *
* @return RTEMS_SUCCESSFUL * @retval RTEMS_SUCCESSFUL
*/ */
rtems_status_code rtems_port_external_to_internal( rtems_status_code rtems_port_external_to_internal(
rtems_id id, rtems_id id,
@@ -170,20 +172,20 @@ rtems_status_code rtems_port_external_to_internal(
); );
/** /**
* @brief RTEMS Port Internal to External * @brief RTEMS Port Internal to External
* *
* This routine implements the Port_internal_to_external directive. * This routine implements the Port_internal_to_external directive.
* It returns the external port address which maps to the provided * It returns the external port address which maps to the provided
* internal port address for the specified port ID. If the given * internal port address for the specified port ID. If the given
* internal address is an invalid dual-ported address, then the * internal address is an invalid dual-ported address, then the
* external address is set to the given internal address. * external address is set to the given internal address.
* *
* @param[in] id is the id of dual-ported memory object * @param[in] id is the id of dual-ported memory object
* @param[in] internal is the internal address to set * @param[in] internal is the internal address to set
* @param[in] external is the pointer to external address * @param[in] external is the pointer to external address
* *
* @return RTEMS_SUCCESSFUL and the external will be filled in * @retval RTEMS_SUCCESSFUL and the external will be filled in
* with the external addresses * with the external addresses
*/ */
rtems_status_code rtems_port_internal_to_external( rtems_status_code rtems_port_internal_to_external(
rtems_id id, rtems_id id,

View File

@@ -1,16 +1,21 @@
/** /**
* @file rtems/rtems/mp.h * @file rtems/rtems/mp.h
* *
* This include file contains all the constants and structures associated * @defgroup ClassicMP Multiprocessing
* with the Multiprocessing Manager. *
* @ingroup ClassicRTEMS
* @brief Multiprocessing Manager
*
* This include file contains all the constants and structures associated
* with the Multiprocessing Manager.
*/ */
/* COPYRIGHT (c) 1989-2008. /* COPYRIGHT (c) 1989-2008.
* On-Line Applications Research Corporation (OAR). * On-Line Applications Research Corporation (OAR).
* *
* The license and distribution terms for this file may be * The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at * found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE. * http://www.rtems.com/license/LICENSE.
*/ */
#ifndef _RTEMS_RTEMS_MP_H #ifndef _RTEMS_RTEMS_MP_H

View File

@@ -1,17 +1,20 @@
/** /**
* @file rtems/rtems/object.h * @file rtems/rtems/object.h
* *
* @defgroup ClassicClassInfo Object Class Information
*
* @ingroup ClassicRTEMS
* @brief Classic API interfaces to Object Services * @brief Classic API interfaces to Object Services
* *
* This include file defines Classic API interfaces to Object Services. * This include file defines Classic API interfaces to Object Services.
*/ */
/* COPYRIGHT (c) 1989-2011. /* COPYRIGHT (c) 1989-2011.
* On-Line Applications Research Corporation (OAR). * On-Line Applications Research Corporation (OAR).
* *
* The license and distribution terms for this file may be * The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at * found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE. * http://www.rtems.com/license/LICENSE.
*/ */
#ifndef _RTEMS_RTEMS_OBJECT_H #ifndef _RTEMS_RTEMS_OBJECT_H
@@ -53,59 +56,59 @@ typedef struct {
} rtems_object_api_class_information; } rtems_object_api_class_information;
/** /**
* @brief Build Object Id * @brief Build Object Id
* *
* This function returns an object id composed of the * This function returns an object id composed of the
* specified @a api, @a class, @a node, * specified @a api, @a class, @a node,
* and @a index. * and @a index.
* *
* @param[in] _api indicates the api to use for the Id * @param[in] _api indicates the api to use for the Id
* @param[in] _class indicates the class to use for the Id * @param[in] _class indicates the class to use for the Id
* @param[in] _node indicates the node to use for the Id * @param[in] _node indicates the node to use for the Id
* @param[in] _index indicates the index to use for the Id * @param[in] _index indicates the index to use for the Id
* *
* @return This method returns an object Id built from the * @retval This method returns an object Id built from the
* specified values. * specified values.
* *
* @note A body is also provided. * @note A body is also provided.
*/ */
#define rtems_build_id( _api, _class, _node, _index ) \ #define rtems_build_id( _api, _class, _node, _index ) \
_Objects_Build_id( _api, _class, _node, _index ) _Objects_Build_id( _api, _class, _node, _index )
/** /**
* @brief Build Thirty-Two Bit Object Name * @brief Build Thirty-Two Bit Object Name
* *
* RTEMS Object Helper -- Build an Object Id * RTEMS Object Helper -- Build an Object Id
* *
* This function returns an object name composed of the four characters * This function returns an object name composed of the four characters
* C1, C2, C3, and C4. * C1, C2, C3, and C4.
* *
* @param[in] _C1 is the first character of the name * @param[in] _C1 is the first character of the name
* @param[in] _C2 is the second character of the name * @param[in] _C2 is the second character of the name
* @param[in] _C3 is the third character of the name * @param[in] _C3 is the third character of the name
* @param[in] _C4 is the fourth character of the name * @param[in] _C4 is the fourth character of the name
* *
* @note This must be implemented as a macro for use in * @note This must be implemented as a macro for use in
* Configuration Tables. A body is also provided. * Configuration Tables. A body is also provided.
* *
*/ */
#define rtems_build_name( _C1, _C2, _C3, _C4 ) \ #define rtems_build_name( _C1, _C2, _C3, _C4 ) \
_Objects_Build_name( _C1, _C2, _C3, _C4 ) _Objects_Build_name( _C1, _C2, _C3, _C4 )
/** /**
* @brief Obtain Name of Object * @brief Obtain Name of Object
* *
* This directive returns the name associated with the specified * This directive returns the name associated with the specified
* object ID. * object ID.
* *
* @param[in] id is the Id of the object to obtain the name of. * @param[in] id is the Id of the object to obtain the name of.
* @param[out] name will be set to the name of the object * @param[out] name will be set to the name of the object
* *
* @note The object must be have a name of the 32-bit form. * @note The object must be have a name of the 32-bit form.
* *
* @return @a *name will contain user defined object name * @retval @a *name will contain user defined object name
* @return @a RTEMS_SUCCESSFUL - if successful * @retval @a RTEMS_SUCCESSFUL - if successful
* @return error code - if unsuccessful * @retval error code - if unsuccessful
*/ */
rtems_status_code rtems_object_get_classic_name( rtems_status_code rtems_object_get_classic_name(
rtems_id id, rtems_id id,
@@ -113,18 +116,18 @@ rtems_status_code rtems_object_get_classic_name(
); );
/** /**
* @brief Obtain Object Name as String * @brief Obtain Object Name as String
* *
* This directive returns the name associated with the specified * This directive returns the name associated with the specified
* object ID. * object ID.
* *
* @param[in] id is the Id of the object to obtain the name of * @param[in] id is the Id of the object to obtain the name of
* @param[in] length is the length of the output name buffer * @param[in] length is the length of the output name buffer
* @param[out] name will be set to the name of the object * @param[out] name will be set to the name of the object
* *
* @return @a *name will contain user defined object name * @retval @a *name will contain user defined object name
* @return @a name - if successful * @retval @a name - if successful
* @return @a NULL - if unsuccessful * @retval @a NULL - if unsuccessful
*/ */
char *rtems_object_get_name( char *rtems_object_get_name(
rtems_id id, rtems_id id,
@@ -133,20 +136,20 @@ char *rtems_object_get_name(
); );
/** /**
* @brief Set Name of Object * @brief Set Name of Object
* *
* This method allows the caller to set the name of an * This method allows the caller to set the name of an
* object. This can be used to set the name of objects * object. This can be used to set the name of objects
* which do not have a naming scheme per their API. * which do not have a naming scheme per their API.
* *
* RTEMS Object Helper -- Set Name of Object as String * RTEMS Object Helper -- Set Name of Object as String
* *
* @param[in] id is the Id of the object to obtain the name of * @param[in] id is the Id of the object to obtain the name of
* @param[out] name will be set to the name of the object * @param[out] name will be set to the name of the object
* *
* @return @a *name will contain user defined object name * @retval @a *name will contain user defined object name
* @return @a RTEMS_SUCCESSFUL - if successful * @retval @a RTEMS_SUCCESSFUL - if successful
* @return error code - if unsuccessful * @retval error code - if unsuccessful
*/ */
rtems_status_code rtems_object_set_name( rtems_status_code rtems_object_set_name(
rtems_id id, rtems_id id,
@@ -154,131 +157,131 @@ rtems_status_code rtems_object_set_name(
); );
/** /**
* @brief Get API Portion of Object Id * @brief Get API Portion of Object Id
* *
* RTEMS Object Helper -- Extract API From Id * RTEMS Object Helper -- Extract API From Id
* *
* This function returns the API portion of the Id. * This function returns the API portion of the Id.
* *
* @param[in] _id is the Id of the object to obtain the API from * @param[in] _id is the Id of the object to obtain the API from
* *
* @return This method returns the API portion of the provided * @retval This method returns the API portion of the provided
* @a _id. * @a _id.
* *
* @note This method does NOT validate the @a _id provided. * @note This method does NOT validate the @a _id provided.
* *
* @note A body is also provided. * @note A body is also provided.
*/ */
#define rtems_object_id_get_api( _id ) \ #define rtems_object_id_get_api( _id ) \
_Objects_Get_API( _id ) _Objects_Get_API( _id )
/** /**
* @brief Get Class Portion of Object Id * @brief Get Class Portion of Object Id
* *
* This function returns the class portion of the @a _id ID. * This function returns the class portion of the @a _id ID.
* *
* @param[in] _id is the Id of the object to obtain the class from * @param[in] _id is the Id of the object to obtain the class from
* *
* @return This method returns the class portion of the provided * @retval This method returns the class portion of the provided
* @a _id. * @a _id.
* *
* @note This method does NOT validate the @a _id provided. * @note This method does NOT validate the @a _id provided.
* *
* @note A body is also provided. * @note A body is also provided.
*/ */
#define rtems_object_id_get_class( _id ) \ #define rtems_object_id_get_class( _id ) \
_Objects_Get_class( _id ) _Objects_Get_class( _id )
/** /**
* @brief Get Node Portion of Object Id * @brief Get Node Portion of Object Id
* *
* This function returns the node portion of the ID. * This function returns the node portion of the ID.
* *
* @param[in] _id is the Id of the object to obtain the node from * @param[in] _id is the Id of the object to obtain the node from
* *
* @return This method returns the node portion of the provided * @retval This method returns the node portion of the provided
* @a _id. * @a _id.
* *
* @note This method does NOT validate the @a _id provided. * @note This method does NOT validate the @a _id provided.
* *
* @note A body is also provided. * @note A body is also provided.
*/ */
#define rtems_object_id_get_node( _id ) \ #define rtems_object_id_get_node( _id ) \
_Objects_Get_node( _id ) _Objects_Get_node( _id )
/** /**
* @brief Get Index Portion of Object Id * @brief Get Index Portion of Object Id
* *
* This function returns the index portion of the ID. * This function returns the index portion of the ID.
* *
* @param[in] _id is the Id of the object to obtain the index from * @param[in] _id is the Id of the object to obtain the index from
* *
* @return This method returns the index portion of the provided * @retval This method returns the index portion of the provided
* @a _id. * @a _id.
* *
* @note This method does NOT validate the @a _id provided. * @note This method does NOT validate the @a _id provided.
* *
* @note A body is also provided. * @note A body is also provided.
*/ */
#define rtems_object_id_get_index( _id ) \ #define rtems_object_id_get_index( _id ) \
_Objects_Get_index( _id ) _Objects_Get_index( _id )
/** /**
* @brief Get Lowest Valid API Index * @brief Get Lowest Valid API Index
* *
* This method returns the lowest valid value for the API * This method returns the lowest valid value for the API
* portion of an RTEMS object Id. * portion of an RTEMS object Id.
* *
* @return This method returns the least valid value for * @retval This method returns the least valid value for
* the API portion of an RTEMS object Id. * the API portion of an RTEMS object Id.
* *
* @note A body is also provided. * @note A body is also provided.
*/ */
#define rtems_object_id_api_minimum() \ #define rtems_object_id_api_minimum() \
OBJECTS_INTERNAL_API OBJECTS_INTERNAL_API
/** /**
* @brief Get Highest Valid API Index * @brief Get Highest Valid API Index
* *
* This method returns the highest valid value for the API * This method returns the highest valid value for the API
* portion of an RTEMS object Id. * portion of an RTEMS object Id.
* *
* @return This method returns the greatest valid value for * @retval This method returns the greatest valid value for
* the API portion of an RTEMS object Id. * the API portion of an RTEMS object Id.
* *
* @note A body is also provided. * @note A body is also provided.
*/ */
#define rtems_object_id_api_maximum() \ #define rtems_object_id_api_maximum() \
OBJECTS_APIS_LAST OBJECTS_APIS_LAST
/** /**
* @brief Get Lowest Valid Class Value * @brief Get Lowest Valid Class Value
* *
* This method returns the lowest valid value Class for the * This method returns the lowest valid value Class for the
* specified @a api. Each API supports a different number * specified @a api. Each API supports a different number
* of object classes. * of object classes.
* *
* @param[in] api is the API to obtain the minimum class of * @param[in] api is the API to obtain the minimum class of
* *
* @return This method returns the least valid value for * @retval This method returns the least valid value for
* class number for the specified @a api. * class number for the specified @a api.
* RTEMS Object Helper -- Get Least Valid Class for an API * RTEMS Object Helper -- Get Least Valid Class for an API
*/ */
int rtems_object_api_minimum_class( int rtems_object_api_minimum_class(
int api int api
); );
/** /**
* @brief Get Highest Valid Class Value * @brief Get Highest Valid Class Value
* *
* This method returns the highest valid value Class for the * This method returns the highest valid value Class for the
* specified @a api. Each API supports a different number * specified @a api. Each API supports a different number
* of object classes. * of object classes.
* *
* @param[in] api is the API to obtain the maximum class of * @param[in] api is the API to obtain the maximum class of
* *
* @return This method returns the greatet valid value for * @retval This method returns the greatet valid value for
* class number for the specified @a api. * class number for the specified @a api.
*/ */
int rtems_object_api_maximum_class( int rtems_object_api_maximum_class(
int api int api
@@ -286,49 +289,49 @@ int rtems_object_api_maximum_class(
/** /**
* @brief Get Highest Valid Class Value * @brief Get Highest Valid Class Value
* *
* This method returns the lowest valid value Class for the * This method returns the lowest valid value Class for the
* specified @a api. Each API supports a different number * specified @a api. Each API supports a different number
* of object classes. * of object classes.
* *
* @param[in] api is the API to obtain the maximum class of * @param[in] api is the API to obtain the maximum class of
* *
* @return This method returns the least valid value for * @retval This method returns the least valid value for
* class number for the specified @a api. * class number for the specified @a api.
*/ */
int rtems_object_id_api_maximum_class( int rtems_object_id_api_maximum_class(
int api int api
); );
/** /**
* @brief Get API Name * @brief Get API Name
* *
* This method returns a string containing the name of the * This method returns a string containing the name of the
* specified @a api. * specified @a api.
* *
* @param[in] api is the API to obtain the name of * @param[in] api is the API to obtain the name of
* *
* @return If successful, this method returns the name of * @retval If successful, this method returns the name of
* the specified @a api. Otherwise, it returns * the specified @a api. Otherwise, it returns
* the string "BAD API" * the string "BAD API"
*/ */
const char *rtems_object_get_api_name( const char *rtems_object_get_api_name(
int api int api
); );
/** /**
* @brief Get Class Name * @brief Get Class Name
* *
* This method returns a string containing the name of the * This method returns a string containing the name of the
* @a class from the specified @a api. * @a class from the specified @a api.
* *
* @param[in] the_api is the API for the class * @param[in] the_api is the API for the class
* @param[in] the_class is the class to obtain the name of * @param[in] the_class is the class to obtain the name of
* *
* @return If successful, this method returns the name of * @retval If successful, this method returns the name of
* the specified @a class. Otherwise, it returns * the specified @a class. Otherwise, it returns
* the string "BAD CLASS" * the string "BAD CLASS"
*/ */
const char *rtems_object_get_api_class_name( const char *rtems_object_get_api_class_name(
int the_api, int the_api,
@@ -336,18 +339,18 @@ const char *rtems_object_get_api_class_name(
); );
/** /**
* @brief Get Class Information * @brief Get Class Information
* *
* This method returns a string containing the name of the * This method returns a string containing the name of the
* @a the_class from the specified @a api. * @a the_class from the specified @a api.
* *
* @param[in] the_api is the API for the class * @param[in] the_api is the API for the class
* @param[in] the_class is the class to obtain information about * @param[in] the_class is the class to obtain information about
* @param[in] info points to the information structure to fill in * @param[in] info points to the information structure to fill in
* *
* @return If successful, this method returns the name of * @retval If successful, this method returns the name of
* RTEMS_SUCCESSFUL with @a *info filled in. Otherwise, * RTEMS_SUCCESSFUL with @a *info filled in. Otherwise,
* a status is returned to indicate the error. * a status is returned to indicate the error.
* *
*/ */
rtems_status_code rtems_object_get_class_information( rtems_status_code rtems_object_get_class_information(

View File

@@ -1,40 +1,43 @@
/** /**
* @file rtems/rtems/part.h * @file rtems/rtems/part.h
* *
* @brief Constants and Structures Associated with the Partition Manager * @defgroup ClassicPart Partitions
* *
* This include file contains all the constants and structures associated * @ingroup ClassicRTEMS
* with the Partition Manager. This manager provides facilities to * @brief Partition Manager
* dynamically allocate memory in fixed-sized units which are returned
* as buffers.
* *
* Directives provided are: * This include file contains all the constants and structures associated
* with the Partition Manager. This manager provides facilities to
* dynamically allocate memory in fixed-sized units which are returned
* as buffers.
* *
* - create a partition * Directives provided are:
* - get an ID of a partition *
* - delete a partition * - create a partition
* - get a buffer from a partition * - get an ID of a partition
* - return a buffer to a partition * - delete a partition
* - get a buffer from a partition
* - return a buffer to a partition
*/ */
/* COPYRIGHT (c) 1989-2008. /* COPYRIGHT (c) 1989-2008.
* On-Line Applications Research Corporation (OAR). * On-Line Applications Research Corporation (OAR).
* *
* The license and distribution terms for this file may be * The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at * found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE. * http://www.rtems.com/license/LICENSE.
*/ */
#ifndef _RTEMS_RTEMS_PART_H #ifndef _RTEMS_RTEMS_PART_H
#define _RTEMS_RTEMS_PART_H #define _RTEMS_RTEMS_PART_H
/** /**
* This constant is defined to extern most of the time when using * This constant is defined to extern most of the time when using
* this header file. However by defining it to nothing, the data * this header file. However by defining it to nothing, the data
* declared in this header file can be instantiated. This is done * declared in this header file can be instantiated. This is done
* in a single per manager file. * in a single per manager file.
* *
* Partition Manager -- Instantiate Data * Partition Manager -- Instantiate Data
*/ */
#ifndef RTEMS_PART_EXTERN #ifndef RTEMS_PART_EXTERN
#define RTEMS_PART_EXTERN extern #define RTEMS_PART_EXTERN extern
@@ -117,22 +120,22 @@ rtems_status_code rtems_partition_create(
); );
/** /**
* @brief RTEMS Partition Ident * @brief RTEMS Partition Ident
* *
* This routine implements the rtems_partition_ident directive. * This routine implements the rtems_partition_ident directive.
* This directive returns the partition ID associated with name. * This directive returns the partition ID associated with name.
* If more than one partition is named name, then the partition * If more than one partition is named name, then the partition
* to which the ID belongs is arbitrary. node indicates the * to which the ID belongs is arbitrary. node indicates the
* extent of the search for the ID of the partition named name. * extent of the search for the ID of the partition named name.
* The search can be limited to a particular node or allowed to * The search can be limited to a particular node or allowed to
* encompass all nodes. * encompass all nodes.
* *
* @param[in] name is the user defined partition name * @param[in] name is the user defined partition name
* @param[in] node is(are) the node(s) to be searched * @param[in] node is(are) the node(s) to be searched
* @param[in] id is the pointer to partition id * @param[in] id is the pointer to partition id
* *
* @return RTEMS_SUCCESSFUL if successful or error code if unsuccessful and * @retval RTEMS_SUCCESSFUL if successful or error code if unsuccessful and
* *id filled in with the partition id * *id filled in with the partition id
*/ */
rtems_status_code rtems_partition_ident( rtems_status_code rtems_partition_ident(
rtems_name name, rtems_name name,
@@ -141,33 +144,33 @@ rtems_status_code rtems_partition_ident(
); );
/** /**
* @brief RTEMS Delete Partition * @brief RTEMS Delete Partition
* *
* This routine implements the rtems_partition_delete directive. The * This routine implements the rtems_partition_delete directive. The
* partition indicated by ID is deleted, provided that none of its buffers * partition indicated by ID is deleted, provided that none of its buffers
* are still allocated. * are still allocated.
* *
* @param[in] id is the partition id * @param[in] id is the partition id
* *
* @return This method returns RTEMS_SUCCESSFUL if there was not an * @retval This method returns RTEMS_SUCCESSFUL if there was not an
* error. Otherwise, a status code is returned indicating the * error. Otherwise, a status code is returned indicating the
* source of the error. * source of the error.
*/ */
rtems_status_code rtems_partition_delete( rtems_status_code rtems_partition_delete(
rtems_id id rtems_id id
); );
/** /**
* @brief RTEMS Get Partition Buffer * @brief RTEMS Get Partition Buffer
* *
* This routine implements the rtems_partition_get_buffer directive. It * This routine implements the rtems_partition_get_buffer directive. It
* attempts to allocate a buffer from the partition associated with ID. * attempts to allocate a buffer from the partition associated with ID.
* If a buffer is allocated, its address is returned in buffer. * If a buffer is allocated, its address is returned in buffer.
* *
* @param[in] id is the partition id * @param[in] id is the partition id
* @param[out] buffer is the pointer to buffer address * @param[out] buffer is the pointer to buffer address
* *
* @return RTEMS_SUCCESSFUL if successful or error code if unsuccessful * @retval RTEMS_SUCCESSFUL if successful or error code if unsuccessful
*/ */
rtems_status_code rtems_partition_get_buffer( rtems_status_code rtems_partition_get_buffer(
rtems_id id, rtems_id id,

View File

@@ -1,16 +1,21 @@
/** /**
* @file rtems/rtems/partmp.h * @file rtems/rtems/partmp.h
* *
* This include file contains all the constants and structures associated * @defgroup ClassicPartMP Partition MP Support
* with the Multiprocessing Support in the Partition Manager. *
* @ingroup ClassicMP
* @brief MP Support in Partition Manager
*
* This include file contains all the constants and structures associated
* with the Multiprocessing Support in the Partition Manager.
*/ */
/* COPYRIGHT (c) 1989-2008. /* COPYRIGHT (c) 1989-2008.
* On-Line Applications Research Corporation (OAR). * On-Line Applications Research Corporation (OAR).
* *
* The license and distribution terms for this file may be * The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at * found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE. * http://www.rtems.com/license/LICENSE.
*/ */
#ifndef _RTEMS_RTEMS_PARTMP_H #ifndef _RTEMS_RTEMS_PARTMP_H

View File

@@ -1,28 +1,31 @@
/** /**
* @file rtems/rtems/ratemon.h * @file rtems/rtems/ratemon.h
* *
* @brief Constants, Structures, and Prototypes Associated to the Classic API Rate Monotonic Manager. * @defgroup ClassicRateMon Rate Monotonic Scheduler
* *
* This include file contains all the constants, structures, and * @ingroup ClassicRTEMS
* prototypes associated with the Rate Monotonic Manager. This manager * @brief Classic API Rate Monotonic Manager.
* provides facilities to implement threads which execute in a periodic
* fashion.
* *
* Directives provided are: * This include file contains all the constants, structures, and
* prototypes associated with the Rate Monotonic Manager. This manager
* provides facilities to implement threads which execute in a periodic
* fashion.
* *
* - create a rate monotonic timer * Directives provided are:
* - cancel a period *
* - delete a rate monotonic timer * - create a rate monotonic timer
* - conclude current and start the next period * - cancel a period
* - obtain status information on a period * - delete a rate monotonic timer
* - conclude current and start the next period
* - obtain status information on a period
*/ */
/* COPYRIGHT (c) 1989-2009. /* COPYRIGHT (c) 1989-2009.
* On-Line Applications Research Corporation (OAR). * On-Line Applications Research Corporation (OAR).
* *
* The license and distribution terms for this file may be * The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at * found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE. * http://www.rtems.com/license/LICENSE.
*/ */
#ifndef _RTEMS_RTEMS_RATEMON_H #ifndef _RTEMS_RTEMS_RATEMON_H
@@ -293,19 +296,19 @@ rtems_status_code rtems_rate_monotonic_create(
); );
/** /**
* @brief RTEMS Rate Monotonic Name to Id * @brief RTEMS Rate Monotonic Name to Id
* *
* This routine implements the rtems_rate_monotonic_ident directive. * This routine implements the rtems_rate_monotonic_ident directive.
* It returns the period ID associated with name. If more than one period * It returns the period ID associated with name. If more than one period
* is named name, then the period to which the ID belongs is arbitrary. * is named name, then the period to which the ID belongs is arbitrary.
* *
* @param[in] name is the user defined period name * @param[in] name is the user defined period name
* @param[in] id is the pointer to period id * @param[in] id is the pointer to period id
* *
* @return This method returns RTEMS_SUCCESSFUL if there was not an * @retval This method returns RTEMS_SUCCESSFUL if there was not an
* error. Otherwise, a status code is returned indicating the * error. Otherwise, a status code is returned indicating the
* source of the error. If successful, the id will * source of the error. If successful, the id will
* be filled in with the region id. * be filled in with the region id.
*/ */
rtems_status_code rtems_rate_monotonic_ident( rtems_status_code rtems_rate_monotonic_ident(
rtems_name name, rtems_name name,
@@ -313,16 +316,16 @@ rtems_status_code rtems_rate_monotonic_ident(
); );
/** /**
* @brief RTEMS Rate Monotonic Cancel * @brief RTEMS Rate Monotonic Cancel
* *
* This routine implements the rtems_rate_monotonic_cancel directive. This * This routine implements the rtems_rate_monotonic_cancel directive. This
* directive stops the period associated with ID from continuing to * directive stops the period associated with ID from continuing to
* run. * run.
* *
* @param[in] id is the rate monotonic id * @param[in] id is the rate monotonic id
* *
* @return RTEMS_SUCCESSFUL if successful and caller is not the owning thread * @retval RTEMS_SUCCESSFUL if successful and caller is not the owning thread
* or error code if unsuccessful * or error code if unsuccessful
* *
*/ */
rtems_status_code rtems_rate_monotonic_cancel( rtems_status_code rtems_rate_monotonic_cancel(
@@ -330,33 +333,33 @@ rtems_status_code rtems_rate_monotonic_cancel(
); );
/** /**
* @brief RTEMS Delete Rate Monotonic * @brief RTEMS Delete Rate Monotonic
* *
* This routine implements the rtems_rate_monotonic_delete directive. The * This routine implements the rtems_rate_monotonic_delete directive. The
* period indicated by ID is deleted. * period indicated by ID is deleted.
* *
* @param[in] id is the rate monotonic id * @param[in] id is the rate monotonic id
* *
* @return This method returns RTEMS_SUCCESSFUL if there was not an * @retval This method returns RTEMS_SUCCESSFUL if there was not an
* error. Otherwise, a status code is returned indicating the * error. Otherwise, a status code is returned indicating the
* source of the error. * source of the error.
*/ */
rtems_status_code rtems_rate_monotonic_delete( rtems_status_code rtems_rate_monotonic_delete(
rtems_id id rtems_id id
); );
/** /**
* @brief RTEMS Rate Monotonic Get Status * @brief RTEMS Rate Monotonic Get Status
* *
* This routine implements the rtems_rate_monotonic_get_status directive. * This routine implements the rtems_rate_monotonic_get_status directive.
* Information about the period indicated by ID is returned. * Information about the period indicated by ID is returned.
* *
* @param[in] id is the rate monotonic id * @param[in] id is the rate monotonic id
* @param[in] status is the pointer to status control block * @param[in] status is the pointer to status control block
* *
* @return This method returns RTEMS_SUCCESSFUL if there was not an * @retval This method returns RTEMS_SUCCESSFUL if there was not an
* error. Otherwise, a status code is returned indicating the * error. Otherwise, a status code is returned indicating the
* source of the error. * source of the error.
* *
*/ */
rtems_status_code rtems_rate_monotonic_get_status( rtems_status_code rtems_rate_monotonic_get_status(
@@ -365,15 +368,15 @@ rtems_status_code rtems_rate_monotonic_get_status(
); );
/** /**
* @brief RTEMS Rate Monotonic Get Statistics * @brief RTEMS Rate Monotonic Get Statistics
* *
* This routine implements the rtems_rate_monotonic_get_statistics directive. * This routine implements the rtems_rate_monotonic_get_statistics directive.
* Statistics gathered from the use of this period are returned. * Statistics gathered from the use of this period are returned.
* *
* @param[in] id is the rate monotonic id * @param[in] id is the rate monotonic id
* @param[in] statistics is the pointer to statistics control block * @param[in] statistics is the pointer to statistics control block
* *
* @return RTEMS_SUCCESSFUL if successful or error code if unsuccessful * @retval RTEMS_SUCCESSFUL if successful or error code if unsuccessful
*/ */
rtems_status_code rtems_rate_monotonic_get_statistics( rtems_status_code rtems_rate_monotonic_get_statistics(
rtems_id id, rtems_id id,
@@ -423,17 +426,17 @@ void rtems_rate_monotonic_report_statistics_with_plugin(
void rtems_rate_monotonic_report_statistics( void ); void rtems_rate_monotonic_report_statistics( void );
/** /**
* @brief RTEMS Rate Monotonic Period * @brief RTEMS Rate Monotonic Period
* *
* This routine implements the rtems_rate_monotonic_period directive. When * This routine implements the rtems_rate_monotonic_period directive. When
* length is non-zero, this directive initiates the period associated with * length is non-zero, this directive initiates the period associated with
* ID from continuing for a period of length. If length is zero, then * ID from continuing for a period of length. If length is zero, then
* result is set to indicate the current state of the period. * result is set to indicate the current state of the period.
* *
* @param[in] id is the rate monotonic id * @param[in] id is the rate monotonic id
* @param[in] lenght is the length of period (in ticks) * @param[in] lenght is the length of period (in ticks)
* *
* @return RTEMS_SUCCESSFUL if successful or error code if unsuccessful * @retval RTEMS_SUCCESSFUL if successful or error code if unsuccessful
*/ */
rtems_status_code rtems_rate_monotonic_period( rtems_status_code rtems_rate_monotonic_period(
rtems_id id, rtems_id id,
@@ -441,16 +444,16 @@ rtems_status_code rtems_rate_monotonic_period(
); );
/** /**
* @brief Rate Monotonic Timeout * @brief Rate Monotonic Timeout
* *
* This routine is invoked when the period represented * This routine is invoked when the period represented
* by ID expires. If the thread which owns this period is blocked * by ID expires. If the thread which owns this period is blocked
* waiting for the period to expire, then it is readied and the * waiting for the period to expire, then it is readied and the
* period is restarted. If the owning thread is not waiting for the * period is restarted. If the owning thread is not waiting for the
* period to expire, then the period is placed in the EXPIRED * period to expire, then the period is placed in the EXPIRED
* state and not restarted. * state and not restarted.
* *
* @param[in] id is the period id * @param[in] id is the period id
*/ */
void _Rate_monotonic_Timeout( void _Rate_monotonic_Timeout(
rtems_id id, rtems_id id,
@@ -458,19 +461,19 @@ void _Rate_monotonic_Timeout(
); );
/** /**
* @brief _Rate_monotonic_Get_status( * @brief _Rate_monotonic_Get_status(
* *
* This routine is invoked to compute the elapsed wall time and cpu * This routine is invoked to compute the elapsed wall time and cpu
* time for a period. * time for a period.
* *
* @param[in] the_period points to the period being operated upon. * @param[in] the_period points to the period being operated upon.
* @param[out] wall_since_last_period is set to the wall time elapsed * @param[out] wall_since_last_period is set to the wall time elapsed
* since the period was initiated. * since the period was initiated.
* @param[out] cpu_since_last_period is set to the cpu time used by the * @param[out] cpu_since_last_period is set to the cpu time used by the
* owning thread since the period was initiated. * owning thread since the period was initiated.
* *
* @return This routine returns true if the status can be determined * @retval This routine returns true if the status can be determined
* and false otherwise. * and false otherwise.
*/ */
bool _Rate_monotonic_Get_status( bool _Rate_monotonic_Get_status(
Rate_monotonic_Control *the_period, Rate_monotonic_Control *the_period,

View File

@@ -1,27 +1,30 @@
/** /**
* @file rtems/rtems/region.h * @file rtems/rtems/region.h
* *
* @brief Constants and Structures Associated with the Region Manager * @defgroup ClassicRegion Regions
* *
* This include file contains all the constants and structures associated * @ingroup ClassicRTEMS
* with the Region Manager. This manager provides facilities to dynamically * @brief Region Manager
* allocate memory in variable sized units which are returned as segments.
* *
* Directives provided are: * This include file contains all the constants and structures associated
* with the Region Manager. This manager provides facilities to dynamically
* allocate memory in variable sized units which are returned as segments.
* *
* - create a region * Directives provided are:
* - get an ID of a region *
* - delete a region * - create a region
* - get a segment from a region * - get an ID of a region
* - return a segment to a region * - delete a region
* - get a segment from a region
* - return a segment to a region
*/ */
/* COPYRIGHT (c) 1989-2009. /* COPYRIGHT (c) 1989-2009.
* On-Line Applications Research Corporation (OAR). * On-Line Applications Research Corporation (OAR).
* *
* The license and distribution terms for this file may be * The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at * found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE. * http://www.rtems.com/license/LICENSE.
*/ */
#ifndef _RTEMS_RTEMS_REGION_H #ifndef _RTEMS_RTEMS_REGION_H
@@ -119,20 +122,20 @@ rtems_status_code rtems_region_create(
); );
/** /**
* @brief RTEMS Extend Region * @brief RTEMS Extend Region
* *
* This routine implements the rtems_region_extend directive. The * This routine implements the rtems_region_extend directive. The
* region will have the name name. The memory area managed by * region will have the name name. The memory area managed by
* the region will be attempted to be grown by length bytes using * the region will be attempted to be grown by length bytes using
* the memory starting at starting_address. * the memory starting at starting_address.
* *
* @param[in] id is the id of region to grow * @param[in] id is the id of region to grow
* @param[in] starting_address starting address of memory area for extension * @param[in] starting_address starting address of memory area for extension
* @param[in] length is the physical length in bytes to grow the region * @param[in] length is the physical length in bytes to grow the region
* *
* @return This method returns RTEMS_SUCCESSFUL if there was not an * @retval This method returns RTEMS_SUCCESSFUL if there was not an
* error. Otherwise, a status code is returned indicating the * error. Otherwise, a status code is returned indicating the
* source of the error. * source of the error.
*/ */
rtems_status_code rtems_region_extend( rtems_status_code rtems_region_extend(
rtems_id id, rtems_id id,
@@ -141,20 +144,20 @@ rtems_status_code rtems_region_extend(
); );
/** /**
* @brief RTEMS Region Name to Id * @brief RTEMS Region Name to Id
* *
* This routine implements the rtems_region_ident directive. * This routine implements the rtems_region_ident directive.
* This directive returns the region ID associated with name. * This directive returns the region ID associated with name.
* If more than one region is named name, then the region * If more than one region is named name, then the region
* to which the ID belongs is arbitrary. * to which the ID belongs is arbitrary.
* *
* @param[in] name is the user defined region name * @param[in] name is the user defined region name
* @param[in] id is the pointer to region id * @param[in] id is the pointer to region id
* *
* @return This method returns RTEMS_SUCCESSFUL if there was not an * @retval This method returns RTEMS_SUCCESSFUL if there was not an
* error. Otherwise, a status code is returned indicating the * error. Otherwise, a status code is returned indicating the
* source of the error. If successful, the id will * source of the error. If successful, the id will
* be filled in with the region id. * be filled in with the region id.
*/ */
rtems_status_code rtems_region_ident( rtems_status_code rtems_region_ident(
rtems_name name, rtems_name name,
@@ -162,17 +165,17 @@ rtems_status_code rtems_region_ident(
); );
/** /**
* @brief RTEMS Get Region Information * @brief RTEMS Get Region Information
* *
* This routine implements the rtems_region_get_information directive. * This routine implements the rtems_region_get_information directive.
* This directive returns information about the heap associated with * This directive returns information about the heap associated with
* this region. * this region.
* *
* @param[in] id is the region id * @param[in] id is the region id
* @param[in] the_info is the pointer to region information block * @param[in] the_info is the pointer to region information block
* *
* @return RTEMS_SUCCESSFUL if successful or error code if unsuccessful and * @retval RTEMS_SUCCESSFUL if successful or error code if unsuccessful and
* *id filled with the region information block * *id filled with the region information block
*/ */
rtems_status_code rtems_region_get_information( rtems_status_code rtems_region_get_information(
rtems_id id, rtems_id id,
@@ -180,20 +183,20 @@ rtems_status_code rtems_region_get_information(
); );
/** /**
* @brief RTEMS Get Region Free Information * @brief RTEMS Get Region Free Information
* *
* This routine implements the rtems_region_get_free_information directive. * This routine implements the rtems_region_get_free_information directive.
* This directive returns information about the free blocks in the * This directive returns information about the free blocks in the
* heap associated with this region. Information about the used blocks * heap associated with this region. Information about the used blocks
* will be returned as zero. * will be returned as zero.
* *
* @param[in] id is the region id * @param[in] id is the region id
* @param[in] the_info is the pointer to region information block * @param[in] the_info is the pointer to region information block
* *
* @return This method returns RTEMS_SUCCESSFUL if there was not an * @retval This method returns RTEMS_SUCCESSFUL if there was not an
* error. Otherwise, a status code is returned indicating the * error. Otherwise, a status code is returned indicating the
* source of the error. If successful, the the_info will * source of the error. If successful, the the_info will
* be filled in with the region information block. * be filled in with the region information block.
*/ */
rtems_status_code rtems_region_get_free_information( rtems_status_code rtems_region_get_free_information(
rtems_id id, rtems_id id,
@@ -201,43 +204,43 @@ rtems_status_code rtems_region_get_free_information(
); );
/** /**
* @brief RTEMS Delete Region * @brief RTEMS Delete Region
* *
* This routine implements the rtems_region_delete directive. The * This routine implements the rtems_region_delete directive. The
* region indicated by ID is deleted, provided that none of its segments are * region indicated by ID is deleted, provided that none of its segments are
* still allocated. * still allocated.
* *
* @param[in] id is the region id * @param[in] id is the region id
* *
* @return This method returns RTEMS_SUCCESSFUL if there was not an * @retval This method returns RTEMS_SUCCESSFUL if there was not an
* error. Otherwise, a status code is returned indicating the * error. Otherwise, a status code is returned indicating the
* source of the error. * source of the error.
*/ */
rtems_status_code rtems_region_delete( rtems_status_code rtems_region_delete(
rtems_id id rtems_id id
); );
/** /**
* @brief RTEMS Get Region Segment * @brief RTEMS Get Region Segment
* *
* This routine implements the rtems_region_get_segment directive. It * This routine implements the rtems_region_get_segment directive. It
* attempts to allocate a segment from the region associated with @a id. * attempts to allocate a segment from the region associated with @a id.
* If a segment of the requested @a size size can be allocated, its address * If a segment of the requested @a size size can be allocated, its address
* is returned in @a segment. If no segment is available, then the task * is returned in @a segment. If no segment is available, then the task
* may return immediately or block waiting for a segment with an optional * may return immediately or block waiting for a segment with an optional
* timeout of @a timeout clock ticks. Whether the task blocks or returns * timeout of @a timeout clock ticks. Whether the task blocks or returns
* immediately is based on the no_wait option in the @a option_set. * immediately is based on the no_wait option in the @a option_set.
* *
* @param[in] id is the region id * @param[in] id is the region id
* @param[in] size is the segment size in bytes * @param[in] size is the segment size in bytes
* @param[in] option_set is the wait option * @param[in] option_set is the wait option
* @param[in] timeout is the number of ticks to wait (0 means wait forever) * @param[in] timeout is the number of ticks to wait (0 means wait forever)
* @param[in] segment is the pointer to segment address * @param[in] segment is the pointer to segment address
* *
* @return This method returns RTEMS_SUCCESSFUL if there was not an * @retval This method returns RTEMS_SUCCESSFUL if there was not an
* error. Otherwise, a status code is returned indicating the * error. Otherwise, a status code is returned indicating the
* source of the error. If successful, the segment will * source of the error. If successful, the segment will
* be filled in with the segment address. * be filled in with the segment address.
*/ */
rtems_status_code rtems_region_get_segment( rtems_status_code rtems_region_get_segment(
rtems_id id, rtems_id id,
@@ -248,19 +251,19 @@ rtems_status_code rtems_region_get_segment(
); );
/** /**
* @brief RTEMS Get Region Segment Size * @brief RTEMS Get Region Segment Size
* *
* This routine implements the rtems_region_get_segment_size directive. It * This routine implements the rtems_region_get_segment_size directive. It
* returns the size in bytes of the specified user memory area. * returns the size in bytes of the specified user memory area.
* *
* @param[in] id is the region id * @param[in] id is the region id
* @param[in] segment is the segment address * @param[in] segment is the segment address
* @param[in] size is the pointer to segment size in bytes * @param[in] size is the pointer to segment size in bytes
* *
* @return This method returns RTEMS_SUCCESSFUL if there was not an * @retval This method returns RTEMS_SUCCESSFUL if there was not an
* error. Otherwise, a status code is returned indicating the * error. Otherwise, a status code is returned indicating the
* source of the error. If successful, the size will * source of the error. If successful, the size will
* be filled in with the segment size in bytes. * be filled in with the segment size in bytes.
*/ */
rtems_status_code rtems_region_get_segment_size( rtems_status_code rtems_region_get_segment_size(
rtems_id id, rtems_id id,
@@ -269,20 +272,20 @@ rtems_status_code rtems_region_get_segment_size(
); );
/** /**
* @brief RTEMS Return Region Segment * @brief RTEMS Return Region Segment
* *
* This routine implements the rtems_region_return_segment directive. It * This routine implements the rtems_region_return_segment directive. It
* frees the segment to the region associated with ID. The segment must * frees the segment to the region associated with ID. The segment must
* have been previously allocated from the same region. If freeing the * have been previously allocated from the same region. If freeing the
* segment results in enough memory being available to satisfy the * segment results in enough memory being available to satisfy the
* rtems_region_get_segment of the first blocked task, then that task and as * rtems_region_get_segment of the first blocked task, then that task and as
* many subsequent tasks as possible will be unblocked with their requests * many subsequent tasks as possible will be unblocked with their requests
* satisfied. * satisfied.
* *
* @param[in] id is the region id * @param[in] id is the region id
* @param[in] segment is the pointer to segment address * @param[in] segment is the pointer to segment address
* *
* @return RTEMS_SUCCESSFUL if successful or error code if unsuccessful * @retval RTEMS_SUCCESSFUL if successful or error code if unsuccessful
*/ */
rtems_status_code rtems_region_return_segment( rtems_status_code rtems_region_return_segment(
rtems_id id, rtems_id id,
@@ -290,27 +293,27 @@ rtems_status_code rtems_region_return_segment(
); );
/** /**
* @brief Resize RTEMS Region Segment * @brief Resize RTEMS Region Segment
* *
* This routine implements the rtems_region_resize_segment directive. It * This routine implements the rtems_region_resize_segment directive. It
* tries to resize segment in the region associated with 'id' to the new size * tries to resize segment in the region associated with 'id' to the new size
* 'size' in place. The first 'size' or old size bytes of the segment * 'size' in place. The first 'size' or old size bytes of the segment
* (whatever is less) are guaranteed to remain unmodified. The segment must * (whatever is less) are guaranteed to remain unmodified. The segment must
* have been previously allocated from the same region. If resizing the * have been previously allocated from the same region. If resizing the
* segment results in enough memory being available to satisfy the * segment results in enough memory being available to satisfy the
* rtems_region_get_segment of the first blocked task, then that task and as * rtems_region_get_segment of the first blocked task, then that task and as
* many subsequent tasks as possible will be unblocked with their requests * many subsequent tasks as possible will be unblocked with their requests
* satisfied. * satisfied.
* *
* @param[in] id is the region id * @param[in] id is the region id
* @param[in] segmet is the pointer to segment address * @param[in] segmet is the pointer to segment address
* @param[in] size is the new required size * @param[in] size is the new required size
* @return RTEMS_SUCCESSFUL if operation successful, RTEMS_UNSATISFIED if the * @retval RTEMS_SUCCESSFUL if operation successful, RTEMS_UNSATISFIED if the
* the segment can't be resized in place or any other code atfailure * the segment can't be resized in place or any other code at failure
* *
* @note On RTEMS_SUCCESSFUL or RTEMS_UNSATISFIED exit it returns into the * @note On RTEMS_SUCCESSFUL or RTEMS_UNSATISFIED exit it returns into the
* 'old_size' the old size in bytes of the user memory area of the * 'old_size' the old size in bytes of the user memory area of the
* specified segment. * specified segment.
*/ */
rtems_status_code rtems_region_resize_segment( rtems_status_code rtems_region_resize_segment(
rtems_id id, rtems_id id,

View File

@@ -1,16 +1,21 @@
/** /**
* @file rtems/rtems/regionmp.h * @file rtems/rtems/regionmp.h
* *
* This include file contains all the constants and structures associated * @defgroup ClassicRegionMP Region MP Support
* with the Multiprocessing Support in the Region Manager. *
* @ingroup ClassicMP
* @brief Multiprocessing Support in Region Manager
*
* This include file contains all the constants and structures associated
* with the Multiprocessing Support in the Region Manager.
*/ */
/* COPYRIGHT (c) 1989-2008. /* COPYRIGHT (c) 1989-2008.
* On-Line Applications Research Corporation (OAR). * On-Line Applications Research Corporation (OAR).
* *
* The license and distribution terms for this file may be * The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at * found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE. * http://www.rtems.com/license/LICENSE.
*/ */
#ifndef _RTEMS_RTEMS_REGIONMP_H #ifndef _RTEMS_RTEMS_REGIONMP_H

View File

@@ -1,15 +1,22 @@
/** /**
* @file rtems/rtems/rtemsapi.h * @file rtems/rtems/rtemsapi.h
* *
* @defgroup ClassicAPI RTEMS API Support
*
* @ingroup ClassicRTEMS
* @brief RTEMS API Support * @brief RTEMS API Support
*
* This routine initializes the RTEMS API by invoking the initialization
* routine for each RTEMS manager with the appropriate parameters
* from the configuration_table.
*/ */
/* COPYRIGHT (c) 1989-2008. /* COPYRIGHT (c) 1989-2008.
* On-Line Applications Research Corporation (OAR). * On-Line Applications Research Corporation (OAR).
* *
* The license and distribution terms for this file may be * The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at * found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE. * http://www.rtems.com/license/LICENSE.
*/ */
#ifndef _RTEMS_RTEMS_RTEMSAPI_H #ifndef _RTEMS_RTEMS_RTEMSAPI_H

View File

@@ -1,42 +1,45 @@
/** /**
* @file rtems/rtems/sem.h * @file rtems/rtems/sem.h
* *
* @brief Constants and Structures Associated with the Semaphore Manager * @defgroup ClassicSem Semaphores
* *
* This include file contains all the constants and structures associated * @ingroup ClassicRTEMS
* with the Semaphore Manager. This manager utilizes standard Dijkstra * @brief Semaphore Manager
* counting semaphores to provide synchronization and mutual exclusion
* capabilities.
* *
* Directives provided are: * This include file contains all the constants and structures associated
* with the Semaphore Manager. This manager utilizes standard Dijkstra
* counting semaphores to provide synchronization and mutual exclusion
* capabilities.
* *
* - create a semaphore * Directives provided are:
* - get an ID of a semaphore *
* - delete a semaphore * - create a semaphore
* - acquire a semaphore * - get an ID of a semaphore
* - release a semaphore * - delete a semaphore
* - acquire a semaphore
* - release a semaphore
*/ */
/* COPYRIGHT (c) 1989-2008. /* COPYRIGHT (c) 1989-2008.
* On-Line Applications Research Corporation (OAR). * On-Line Applications Research Corporation (OAR).
* *
* The license and distribution terms for this file may be * The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at * found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE. * http://www.rtems.com/license/LICENSE.
*/ */
#ifndef _RTEMS_RTEMS_SEM_H #ifndef _RTEMS_RTEMS_SEM_H
#define _RTEMS_RTEMS_SEM_H #define _RTEMS_RTEMS_SEM_H
/** /**
* @brief Instantiate Semaphore Data * @brief Instantiate Semaphore Data
* *
* Semaphore Manager -- Data Instantiation * Semaphore Manager -- Data Instantiation
* *
* This constant is defined to extern most of the time when using * This constant is defined to extern most of the time when using
* this header file. However by defining it to nothing, the data * this header file. However by defining it to nothing, the data
* declared in this header file can be instantiated. This is done * declared in this header file can be instantiated. This is done
* in a single per manager file. * in a single per manager file.
* *
*/ */
#ifndef RTEMS_SEM_EXTERN #ifndef RTEMS_SEM_EXTERN
@@ -137,22 +140,22 @@ rtems_status_code rtems_semaphore_create(
); );
/** /**
* @brief RTEMS Semaphore Name to Id * @brief RTEMS Semaphore Name to Id
* *
* This routine implements the rtems_semaphore_ident directive. * This routine implements the rtems_semaphore_ident directive.
* This directive returns the semaphore ID associated with name. * This directive returns the semaphore ID associated with name.
* If more than one semaphore is named name, then the semaphore * If more than one semaphore is named name, then the semaphore
* to which the ID belongs is arbitrary. node indicates the * to which the ID belongs is arbitrary. node indicates the
* extent of the search for the ID of the semaphore named name. * extent of the search for the ID of the semaphore named name.
* The search can be limited to a particular node or allowed to * The search can be limited to a particular node or allowed to
* encompass all nodes. * encompass all nodes.
* *
* @param[in] name is the user defined semaphore name * @param[in] name is the user defined semaphore name
* @param[in] node is(are) the node(s) to be searched * @param[in] node is(are) the node(s) to be searched
* @param[in] id is the pointer to semaphore id * @param[in] id is the pointer to semaphore id
* *
* @return RTEMS_SUCCESSFUL if successful or error code if unsuccessful and * @retval RTEMS_SUCCESSFUL if successful or error code if unsuccessful and
* *id filled in with the semaphore id * *id filled in with the semaphore id
*/ */
rtems_status_code rtems_semaphore_ident( rtems_status_code rtems_semaphore_ident(
rtems_name name, rtems_name name,
@@ -161,39 +164,39 @@ rtems_status_code rtems_semaphore_ident(
); );
/** /**
* @brief RTEMS Delete Semaphore * @brief RTEMS Delete Semaphore
* *
* This routine implements the rtems_semaphore_delete directive. The * This routine implements the rtems_semaphore_delete directive. The
* semaphore indicated by ID is deleted. * semaphore indicated by ID is deleted.
* *
* @param[in] id is the semaphore id * @param[in] id is the semaphore id
* *
* @return This method returns RTEMS_SUCCESSFUL if there was not an * @retval This method returns RTEMS_SUCCESSFUL if there was not an
* error. Otherwise, a status code is returned indicating the * error. Otherwise, a status code is returned indicating the
* source of the error. * source of the error.
*/ */
rtems_status_code rtems_semaphore_delete( rtems_status_code rtems_semaphore_delete(
rtems_id id rtems_id id
); );
/** /**
* @brief RTEMS Obtain Semaphore * @brief RTEMS Obtain Semaphore
* *
* This routine implements the rtems_semaphore_obtain directive. It * This routine implements the rtems_semaphore_obtain directive. It
* attempts to obtain a unit from the semaphore associated with ID. * attempts to obtain a unit from the semaphore associated with ID.
* If a unit can be allocated, the calling task will return immediately. * If a unit can be allocated, the calling task will return immediately.
* If no unit is available, then the task may return immediately or * If no unit is available, then the task may return immediately or
* block waiting for a unit with an optional timeout of timeout * block waiting for a unit with an optional timeout of timeout
* clock ticks. Whether the task blocks or returns immediately * clock ticks. Whether the task blocks or returns immediately
* is based on the RTEMS_NO_WAIT option in the option_set. * is based on the RTEMS_NO_WAIT option in the option_set.
* *
* @param[in] id is the semaphore id * @param[in] id is the semaphore id
* @param[in] option_set is the wait option * @param[in] option_set is the wait option
* @param[in] timeout is the number of ticks to wait (0 means wait forever) * @param[in] timeout is the number of ticks to wait (0 means wait forever)
* *
* @return This method returns RTEMS_SUCCESSFUL if there was not an * @retval This method returns RTEMS_SUCCESSFUL if there was not an
* error. Otherwise, a status code is returned indicating the * error. Otherwise, a status code is returned indicating the
* source of the error. * source of the error.
*/ */
rtems_status_code rtems_semaphore_obtain( rtems_status_code rtems_semaphore_obtain(
rtems_id id, rtems_id id,
@@ -217,18 +220,18 @@ rtems_status_code rtems_semaphore_release(
); );
/** /**
* @brief RTEMS Semaphore Flush * @brief RTEMS Semaphore Flush
* *
* DESCRIPTION: * DESCRIPTION:
* This package is the implementation of the flush directive * This package is the implementation of the flush directive
* of the Semaphore Manager. * of the Semaphore Manager.
* *
* This directive allows a thread to flush the threads * This directive allows a thread to flush the threads
* pending on the semaphore. * pending on the semaphore.
* *
* @param[in] id is the semaphore id * @param[in] id is the semaphore id
* *
* @return RTEMS_SUCCESSFUL if successful or error code if unsuccessful * @retval RTEMS_SUCCESSFUL if successful or error code if unsuccessful
*/ */
rtems_status_code rtems_semaphore_flush( rtems_status_code rtems_semaphore_flush(
rtems_id id rtems_id id
@@ -248,28 +251,28 @@ bool _Semaphore_Seize(
); );
/** /**
* @brief Semaphore Translate Core Mutex Return Code * @brief Semaphore Translate Core Mutex Return Code
* *
* This function returns a RTEMS status code based on the mutex * This function returns a RTEMS status code based on the mutex
* status code specified. * status code specified.
* *
* @param[in] the_mutex_status is the mutex status code to translate * @param[in] the_mutex_status is the mutex status code to translate
* *
* @return translated RTEMS status code * @retval translated RTEMS status code
*/ */
rtems_status_code _Semaphore_Translate_core_mutex_return_code ( rtems_status_code _Semaphore_Translate_core_mutex_return_code (
uint32_t the_mutex_status uint32_t the_mutex_status
); );
/** /**
* @brief Semaphore Translate Core Semaphore Return Code * @brief Semaphore Translate Core Semaphore Return Code
* *
* This function returns a RTEMS status code based on the semaphore * This function returns a RTEMS status code based on the semaphore
* status code specified. * status code specified.
* *
* @param[in] status is the semaphore status code to translate * @param[in] status is the semaphore status code to translate
* *
* @return translated RTEMS status code * @retval translated RTEMS status code
*/ */
rtems_status_code _Semaphore_Translate_core_semaphore_return_code ( rtems_status_code _Semaphore_Translate_core_semaphore_return_code (
uint32_t the_mutex_status uint32_t the_mutex_status

View File

@@ -1,24 +1,27 @@
/** /**
* @file rtems/rtems/signal.h * @file rtems/rtems/signal.h
* *
* @brief Constants and Structures Associated with the Signal Manager * @defgroup ClassicSignal Signals
* *
* This include file contains all the constants and structures associated * @ingroup ClassicRTEMS
* with the Signal Manager. This manager provides capabilities required * @brief Signal Manager
* for asynchronous communication between tasks via signal sets.
* *
* Directives provided are: * This include file contains all the constants and structures associated
* with the Signal Manager. This manager provides capabilities required
* for asynchronous communication between tasks via signal sets.
* *
* + establish an asynchronous signal routine * Directives provided are:
* + send a signal set to a task *
* + establish an asynchronous signal routine
* + send a signal set to a task
*/ */
/* COPYRIGHT (c) 1989-2008. /* COPYRIGHT (c) 1989-2008.
* On-Line Applications Research Corporation (OAR). * On-Line Applications Research Corporation (OAR).
* *
* The license and distribution terms for this file may be * The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at * found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE. * http://www.rtems.com/license/LICENSE.
*/ */
#ifndef _RTEMS_RTEMS_SIGNAL_H #ifndef _RTEMS_RTEMS_SIGNAL_H
@@ -52,18 +55,18 @@ extern "C" {
void _Signal_Manager_initialization( void ); void _Signal_Manager_initialization( void );
/** /**
* @brief RTEMS Catch Signal * @brief RTEMS Catch Signal
* *
* This routine implements the rtems_signal_catch directive. This directive * This routine implements the rtems_signal_catch directive. This directive
* is used to establish asr_handler as the Asynchronous Signal Routine * is used to establish asr_handler as the Asynchronous Signal Routine
* (RTEMS_ASR) for the calling task. The asr_handler will execute with a * (RTEMS_ASR) for the calling task. The asr_handler will execute with a
* mode of mode_set. * mode of mode_set.
* *
* @param[in] asr_handler is the address of asynchronous signal routine (asr) * @param[in] asr_handler is the address of asynchronous signal routine (asr)
* ( NULL indicates asr is invalid ) * ( NULL indicates asr is invalid )
* @param[in] mode_set is the mode value for asr * @param[in] mode_set is the mode value for asr
* *
* @return RTEMS_SUCCESSFUL * @retval RTEMS_SUCCESSFUL
*/ */
rtems_status_code rtems_signal_catch( rtems_status_code rtems_signal_catch(
rtems_asr_entry asr_handler, rtems_asr_entry asr_handler,
@@ -71,15 +74,15 @@ rtems_status_code rtems_signal_catch(
); );
/** /**
* @brief RTEMS Send Signal * @brief RTEMS Send Signal
* *
* This routine implements the rtems_signal_send directive. This directive * This routine implements the rtems_signal_send directive. This directive
* sends the signal_set to the task specified by ID. * sends the signal_set to the task specified by ID.
* *
* @param[in] id is the thread thread id * @param[in] id is the thread thread id
* @param[in] signal_set is the signal set * @param[in] signal_set is the signal set
* *
* @return RTEMS_SUCCESSFUL if successful or error code if unsuccessful * @retval RTEMS_SUCCESSFUL if successful or error code if unsuccessful
*/ */
rtems_status_code rtems_signal_send( rtems_status_code rtems_signal_send(
rtems_id id, rtems_id id,

View File

@@ -1,19 +1,21 @@
/** /**
* @file rtems/rtems/smp.h * @file rtems/rtems/smp.h
* *
* This include file provides the application interface * @defgroup ClassicSMP Classic API SMP Services
* to SMP information and services.
* *
* Most of the SMP interface is hidden from the application * @ingroup ClassicRTEMS
* and exists between the BSP and RTEMS. * @brief SMP information and services.
*
* Most of the SMP interface is hidden from the application
* and exists between the BSP and RTEMS.
*/ */
/* COPYRIGHT (c) 1989-2011. /* COPYRIGHT (c) 1989-2011.
* On-Line Applications Research Corporation (OAR). * On-Line Applications Research Corporation (OAR).
* *
* The license and distribution terms for this file may be * The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at * found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE. * http://www.rtems.com/license/LICENSE.
*/ */
#ifndef _RTEMS_RTEMS_SMP_H #ifndef _RTEMS_RTEMS_SMP_H
@@ -37,35 +39,35 @@ extern "C" {
extern uint32_t rtems_configuration_smp_maximum_processors; extern uint32_t rtems_configuration_smp_maximum_processors;
/** /**
* @brief Obtain Number of Cores in System * @brief Obtain Number of Cores in System
* *
* This method returns the number of CPU cores that are currently in * This method returns the number of CPU cores that are currently in
* the system. This will always be less than or equal to the number * the system. This will always be less than or equal to the number
* of maximum number of cores which were configured. * of maximum number of cores which were configured.
* *
* @return This method returns the number of cores in this system. * @retval This method returns the number of cores in this system.
*/ */
#define rtems_smp_get_number_of_processors() \ #define rtems_smp_get_number_of_processors() \
(_SMP_Processor_count) (_SMP_Processor_count)
/** /**
* @brief Obtain Maximum Cores Configured * @brief Obtain Maximum Cores Configured
* *
* This method returns the number of CPU cores that were configured * This method returns the number of CPU cores that were configured
* in the system. The actual number of cores will always be less than * in the system. The actual number of cores will always be less than
* or equal to the number of maximum number of cores which were configured. * or equal to the number of maximum number of cores which were configured.
* *
* @return This method returns the number of cores configured. * @retval This method returns the number of cores configured.
*/ */
#define rtems_configuration_get_smp_maximum_processors() \ #define rtems_configuration_get_smp_maximum_processors() \
(rtems_configuration_smp_maximum_processors) (rtems_configuration_smp_maximum_processors)
/** /**
* @brief Obtain Current Core Number * @brief Obtain Current Core Number
* *
* This method returns the id of the current CPU core. * This method returns the id of the current CPU core.
* *
* @return This method returns the id of the current CPU core. * @retval This method returns the id of the current CPU core.
*/ */
#define rtems_smp_get_current_processor() \ #define rtems_smp_get_current_processor() \
bsp_smp_processor_id() bsp_smp_processor_id()

View File

@@ -1,18 +1,21 @@
/** /**
* @file rtems/rtems/status.h * @file rtems/rtems/status.h
* *
* @brief Status Codes Returned from the Executive Directives * @defgroup ClassicStatus Status Codes
* *
* This include file contains the status codes returned from the * @ingroup ClassicRTEMS
* executive directives. * @brief Status Codes Returned from Executive Directives
*
* This include file contains the status codes returned from the
* executive directives.
*/ */
/* COPYRIGHT (c) 1989-2008. /* COPYRIGHT (c) 1989-2008.
* On-Line Applications Research Corporation (OAR). * On-Line Applications Research Corporation (OAR).
* *
* The license and distribution terms for this file may be * The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at * found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE. * http://www.rtems.com/license/LICENSE.
*/ */
#ifndef _RTEMS_RTEMS_STATUS_H #ifndef _RTEMS_RTEMS_STATUS_H

View File

@@ -1,36 +1,39 @@
/** /**
* @file rtems/rtems/tasks.h * @file rtems/rtems/tasks.h
* *
* @brief Constants and Structures Associated with RTEMS Tasks * @defgroup ClassicTasks Tasks
* *
* This include file contains all constants and structures associated * @ingroup ClassicRTEMS
* with RTEMS tasks. This manager provides a comprehensive set of directives * @brief RTEMS Tasks
* to create, delete, and administer tasks.
* *
* Directives provided are: * This include file contains all constants and structures associated
* with RTEMS tasks. This manager provides a comprehensive set of directives
* to create, delete, and administer tasks.
* *
* - create a task * Directives provided are:
* - get an ID of a task *
* - start a task * - create a task
* - restart a task * - get an ID of a task
* - delete a task * - start a task
* - suspend a task * - restart a task
* - resume a task * - delete a task
* - set a task's priority * - suspend a task
* - change the current task's mode * - resume a task
* - get a task notepad entry * - set a task's priority
* - set a task notepad entry * - change the current task's mode
* - wake up after interval * - get a task notepad entry
* - wake up when specified * - set a task notepad entry
* - wake up after interval
* - wake up when specified
*/ */
/* /*
* COPYRIGHT (c) 1989-2011. * COPYRIGHT (c) 1989-2011.
* On-Line Applications Research Corporation (OAR). * On-Line Applications Research Corporation (OAR).
* *
* The license and distribution terms for this file may be * The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at * found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE. * http://www.rtems.com/license/LICENSE.
*/ */
#ifndef _RTEMS_RTEMS_TASKS_H #ifndef _RTEMS_RTEMS_TASKS_H
@@ -251,24 +254,24 @@ extern void (*_RTEMS_tasks_Initialize_user_tasks_p)(void);
void _RTEMS_tasks_Manager_initialization(void); void _RTEMS_tasks_Manager_initialization(void);
/** /**
* @brief RTEMS Task Create * @brief RTEMS Task Create
* *
* This routine implements the rtems_task_create directive. The task * This routine implements the rtems_task_create directive. The task
* will have the name name. The attribute_set can be used to indicate * will have the name name. The attribute_set can be used to indicate
* that the task will be globally accessible or utilize floating point. * that the task will be globally accessible or utilize floating point.
* The task's stack will be stack_size bytes. The task will begin * The task's stack will be stack_size bytes. The task will begin
* execution with initial_priority and initial_modes. It returns the * execution with initial_priority and initial_modes. It returns the
* id of the created task in ID. * id of the created task in ID.
* *
* @param[in] name is the user defined thread name * @param[in] name is the user defined thread name
* @param[in] initial_priority is the thread priority * @param[in] initial_priority is the thread priority
* @param[in] stack_size is the stack size in bytes * @param[in] stack_size is the stack size in bytes
* @param[in] initial_modes is the initial thread mode * @param[in] initial_modes is the initial thread mode
* @param[in] attribute_set is the thread attributes * @param[in] attribute_set is the thread attributes
* @param[in] id is the pointer to thread id * @param[in] id is the pointer to thread id
* *
* @return RTEMS_SUCCESSFUL if successful or error code if unsuccessful * @retval RTEMS_SUCCESSFUL if successful or error code if unsuccessful
* and *id thread id filled in * and *id thread id filled in
*/ */
rtems_status_code rtems_task_create( rtems_status_code rtems_task_create(
rtems_name name, rtems_name name,
@@ -280,24 +283,24 @@ rtems_status_code rtems_task_create(
); );
/** /**
* @brief RTEMS Task Name to Id * @brief RTEMS Task Name to Id
* *
* This routine implements the rtems_task_ident directive. * This routine implements the rtems_task_ident directive.
* This directive returns the task ID associated with name. * This directive returns the task ID associated with name.
* If more than one task is named name, then the task to * If more than one task is named name, then the task to
* which the ID belongs is arbitrary. node indicates the * which the ID belongs is arbitrary. node indicates the
* extent of the search for the ID of the task named name. * extent of the search for the ID of the task named name.
* The search can be limited to a particular node or allowed to * The search can be limited to a particular node or allowed to
* encompass all nodes. * encompass all nodes.
* *
* @param[in] name is the user defined thread name * @param[in] name is the user defined thread name
* @param[in] node is(are) the node(s) to be searched * @param[in] node is(are) the node(s) to be searched
* @param[in] id is the pointer to thread id * @param[in] id is the pointer to thread id
* *
* @return This method returns RTEMS_SUCCESSFUL if there was not an * @retval This method returns RTEMS_SUCCESSFUL if there was not an
* error. Otherwise, a status code is returned indicating the * error. Otherwise, a status code is returned indicating the
* source of the error. If successful, the id will * source of the error. If successful, the id will
* be filled in with the thread id. * be filled in with the thread id.
*/ */
rtems_status_code rtems_task_ident( rtems_status_code rtems_task_ident(
rtems_name name, rtems_name name,
@@ -306,35 +309,35 @@ rtems_status_code rtems_task_ident(
); );
/** /**
* @brief RTEMS Delete Task * @brief RTEMS Delete Task
* *
* This routine implements the rtems_task_delete directive. The * This routine implements the rtems_task_delete directive. The
* task indicated by ID is deleted. The executive halts execution * task indicated by ID is deleted. The executive halts execution
* of the thread and frees the thread control block. * of the thread and frees the thread control block.
* *
* @param[in] id is the thread id * @param[in] id is the thread id
* *
* @return This method returns RTEMS_SUCCESSFUL if there was not an * @retval This method returns RTEMS_SUCCESSFUL if there was not an
* error and id is not the requesting thread. Status code is * error and id is not the requesting thread. Status code is
* returned indicating the source of the error. Nothing * returned indicating the source of the error. Nothing
* is returned if id is the requesting thread (always succeeds). * is returned if id is the requesting thread (always succeeds).
*/ */
rtems_status_code rtems_task_delete( rtems_status_code rtems_task_delete(
rtems_id id rtems_id id
); );
/** /**
* @brief RTEMS Get Task Node * @brief RTEMS Get Task Node
* *
* This routine implements the rtems_task_get_note directive. The * This routine implements the rtems_task_get_note directive. The
* value of the indicated notepad for the task associated with ID * value of the indicated notepad for the task associated with ID
* is returned in note. * is returned in note.
* *
* @param[in] id is the thread id * @param[in] id is the thread id
* @param[in] notepad is the notepad number * @param[in] notepad is the notepad number
* @param[out] note is the pointer to note * @param[out] note is the pointer to note
* *
* @return RTEMS_SUCCESSFUL if successful or error code if unsuccessful * @retval RTEMS_SUCCESSFUL if successful or error code if unsuccessful
*/ */
rtems_status_code rtems_task_get_note( rtems_status_code rtems_task_get_note(
rtems_id id, rtems_id id,
@@ -343,19 +346,19 @@ rtems_status_code rtems_task_get_note(
); );
/** /**
* @brief RTEMS Set Task Note * @brief RTEMS Set Task Note
* *
* This routine implements the rtems_task_set_note directive. The * This routine implements the rtems_task_set_note directive. The
* value of the indicated notepad for the task associated with ID * value of the indicated notepad for the task associated with ID
* is returned in note. * is returned in note.
* *
* @param[in] id is the thread id * @param[in] id is the thread id
* @param[in] notepad is the notepad number * @param[in] notepad is the notepad number
* @param[in] note is the note value * @param[in] note is the note value
* *
* @return This method returns RTEMS_SUCCESSFUL if there was not an * @return This method returns RTEMS_SUCCESSFUL if there was not an
* error. Otherwise, a status code is returned indicating the * error. Otherwise, a status code is returned indicating the
* source of the error. * source of the error.
*/ */
rtems_status_code rtems_task_set_note( rtems_status_code rtems_task_set_note(
rtems_id id, rtems_id id,
@@ -364,19 +367,19 @@ rtems_status_code rtems_task_set_note(
); );
/** /**
* @brief RTEMS Task Mode * @brief RTEMS Task Mode
* *
* This routine implements the rtems_task_mode directive. The current * This routine implements the rtems_task_mode directive. The current
* values of the modes indicated by mask of the calling task are changed * values of the modes indicated by mask of the calling task are changed
* to that indicated in mode_set. The former mode of the task is * to that indicated in mode_set. The former mode of the task is
* returned in mode_set. * returned in mode_set.
* *
* @param[in] mode_set is the new mode * @param[in] mode_set is the new mode
* @param[in] mask is the mask * @param[in] mask is the mask
* @param[in] previous_mode_set is the address of previous mode set * @param[in] previous_mode_set is the address of previous mode set
* *
* @return RTEMS_SUCCESSFUL and previous_mode_set filled in with the * @retval RTEMS_SUCCESSFUL and previous_mode_set filled in with the
* previous mode set * previous mode set
*/ */
rtems_status_code rtems_task_mode( rtems_status_code rtems_task_mode(
rtems_mode mode_set, rtems_mode mode_set,
@@ -385,16 +388,16 @@ rtems_status_code rtems_task_mode(
); );
/** /**
* @brief RTEMS Task Restart * @brief RTEMS Task Restart
* *
* This routine implements the rtems_task_restart directive. The * This routine implements the rtems_task_restart directive. The
* task associated with ID is restarted at its initial entry * task associated with ID is restarted at its initial entry
* point with the new argument. * point with the new argument.
* *
* @param[in] id is the thread id * @param[in] id is the thread id
* @param[in] arg is the thread argument * @param[in] arg is the thread argument
* *
* @return RTEMS_SUCCESSFUL if successful or error code if unsuccessful * @retval RTEMS_SUCCESSFUL if successful or error code if unsuccessful
*/ */
rtems_status_code rtems_task_restart( rtems_status_code rtems_task_restart(
rtems_id id, rtems_id id,
@@ -402,52 +405,52 @@ rtems_status_code rtems_task_restart(
); );
/** /**
* @brief RTEMS Suspend Task * @brief RTEMS Suspend Task
* *
* This routine implements the rtems_task_suspend directive. The * This routine implements the rtems_task_suspend directive. The
* SUSPENDED state is set for task associated with ID. Note that the * SUSPENDED state is set for task associated with ID. Note that the
* suspended state can be in addition to other waiting states. * suspended state can be in addition to other waiting states.
* *
* @param[in] id is the thread id * @param[in] id is the thread id
* *
* @return This method returns RTEMS_SUCCESSFUL if there was not an * @retval This method returns RTEMS_SUCCESSFUL if there was not an
* error. Otherwise, a status code is returned indicating the * error. Otherwise, a status code is returned indicating the
* source of the error. * source of the error.
*/ */
rtems_status_code rtems_task_suspend( rtems_status_code rtems_task_suspend(
rtems_id id rtems_id id
); );
/** /**
* @brief RTEMS Resume Task * @brief RTEMS Resume Task
* *
* This routine implements the rtems_task_resume Directive. The * This routine implements the rtems_task_resume Directive. The
* SUSPENDED state is cleared for task associated with ID. * SUSPENDED state is cleared for task associated with ID.
* *
* @param[in] id is the thread id * @param[in] id is the thread id
* *
* @return This method returns RTEMS_SUCCESSFUL if there was not an * @retval This method returns RTEMS_SUCCESSFUL if there was not an
* error. Otherwise, a status code is returned indicating the * error. Otherwise, a status code is returned indicating the
* source of the error. * source of the error.
*/ */
rtems_status_code rtems_task_resume( rtems_status_code rtems_task_resume(
rtems_id id rtems_id id
); );
/** /**
* @brief RTEMS Set Task Priority * @brief RTEMS Set Task Priority
* *
* This routine implements the rtems_task_set_priority directive. The * This routine implements the rtems_task_set_priority directive. The
* current priority of the task associated with ID is set to * current priority of the task associated with ID is set to
* new_priority. The former priority of that task is returned * new_priority. The former priority of that task is returned
* in old_priority. * in old_priority.
* *
* @param[in] id is the thread to extract * @param[in] id is the thread to extract
* @param[in] new_priority is the thread to extract * @param[in] new_priority is the thread to extract
* @param[in] old_priority is the thread to extract * @param[in] old_priority is the thread to extract
* *
* @return RTEMS_SUCCESSFUL if successful or error code if unsuccessful and * @retval RTEMS_SUCCESSFUL if successful or error code if unsuccessful and
* and *old_priority filled in with the previous previous priority * and *old_priority filled in with the previous previous priority
*/ */
rtems_status_code rtems_task_set_priority( rtems_status_code rtems_task_set_priority(
rtems_id id, rtems_id id,
@@ -471,29 +474,29 @@ rtems_status_code rtems_task_start(
); );
/** /**
* @brief RTEMS Task Wake When * @brief RTEMS Task Wake When
* *
* This routine implements the rtems_task_wake_when directive. The * This routine implements the rtems_task_wake_when directive. The
* calling task is blocked until the current time of day is * calling task is blocked until the current time of day is
* equal to that indicated by time_buffer. * equal to that indicated by time_buffer.
* *
* @param[in] time_buffer is the pointer to the time and date structure * @param[in] time_buffer is the pointer to the time and date structure
* *
* @return RTEMS_SUCCESSFUL if successful or error code if unsuccessful * @retval RTEMS_SUCCESSFUL if successful or error code if unsuccessful
*/ */
rtems_status_code rtems_task_wake_when( rtems_status_code rtems_task_wake_when(
rtems_time_of_day *time_buffer rtems_time_of_day *time_buffer
); );
/** /**
* @brief RTEMS Task Wake After * @brief RTEMS Task Wake After
* *
* This routine implements the rtems_task_wake_after directive. The * This routine implements the rtems_task_wake_after directive. The
* calling task is blocked until the indicated number of clock * calling task is blocked until the indicated number of clock
* ticks have occurred. * ticks have occurred.
* *
* @param[in] ticks is the number of ticks to wait * @param[in] ticks is the number of ticks to wait
* @return RTEMS_SUCCESSFUL * @retval RTEMS_SUCCESSFUL
*/ */
rtems_status_code rtems_task_wake_after( rtems_status_code rtems_task_wake_after(
rtems_interval ticks rtems_interval ticks

View File

@@ -1,17 +1,18 @@
/** /**
* @file * @file
* *
* @ingroup ClassicRTEMS * @defgroup ClassicTypes Types
* *
* @brief Types used by the Classic API. * @ingroup ClassicRTEMS
* @brief Types used by Classic API.
*/ */
/* COPYRIGHT (c) 1989-2009. /* COPYRIGHT (c) 1989-2009.
* On-Line Applications Research Corporation (OAR). * On-Line Applications Research Corporation (OAR).
* *
* The license and distribution terms for this file may be * The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at * found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE. * http://www.rtems.com/license/LICENSE.
*/ */
#ifndef _RTEMS_RTEMS_TYPES_H #ifndef _RTEMS_RTEMS_TYPES_H