rtems: Doxygen Clean Up Task #2

This commit is contained in:
Ayush Awasthi
2013-01-04 09:22:20 -06:00
committed by Jennifer Averett
parent 00c1cd5f60
commit d106ab3efd
20 changed files with 686 additions and 612 deletions

View File

@@ -1,19 +1,22 @@
/**
* @file rtems/rtems/asr.h
*
* @brief Constants and Structures Associated with the Asynchronous Signal Handler
* @defgroup ClassicASR ASR Support
*
* This include file contains all the constants and structures associated
* with the Asynchronous Signal Handler. This Handler provides the low-level
* support required by the Signal Manager.
* @ingroup ClassicRTEMS
* @brief Asynchronous Signal Handler
*
* This include file contains all the constants and structures associated
* with the Asynchronous Signal Handler. This Handler provides the low-level
* support required by the Signal Manager.
*/
/* COPYRIGHT (c) 1989-2008.
* On-Line Applications Research Corporation (OAR).
/* COPYRIGHT (c) 1989-2008.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
*/
#ifndef _RTEMS_RTEMS_ASR_H

View File

@@ -1,50 +1,53 @@
/**
* @file rtems/rtems/barrier.h
*
* @brief Constants and Structures Associated with the Barrier Manager
* @defgroup ClassicBarrier Barriers
*
* This include file contains all the constants and structures associated
* with the Barrier Manager.
* @ingroup ClassicRTEMS
* @brief Classic API Barrier Manager
*
* Directives provided are:
* This include file contains all the constants and structures associated
* with the Barrier Manager.
*
* - create a barrier
* - get an ID of a barrier
* - delete a barrier
* - wait for a barrier
* - signal a barrier
* Directives provided are:
*
* - create a barrier
* - get an ID of a barrier
* - delete a barrier
* - wait for a barrier
* - signal a barrier
*/
/* COPYRIGHT (c) 1989-2008.
* On-Line Applications Research Corporation (OAR).
/* COPYRIGHT (c) 1989-2008.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
*/
#ifndef _RTEMS_RTEMS_BARRIER_H
#define _RTEMS_RTEMS_BARRIER_H
/**
* @defgroup ClassicBarrier Barriers
* @defgroup ClassicBarrier Barriers
*
* @ingroup ClassicRTEMS
* @ingroup ClassicRTEMS
*
* This encapsulates functionality which implements the Classic API
* Barrier Manager.
* This encapsulates functionality which implements the Classic API
* Barrier Manager.
*/
/**@{*/
/**
* @brief Instantiate Barrier Data
* @brief Instantiate Barrier Data
*
* Barrier Manager -- Instantiate Data
* Barrier Manager -- Instantiate Data
*
* This constant is defined to extern most of the time when using
* this header file. However by defining it to nothing, the data
* declared in this header file can be instantiated. This is done
* in a single per manager file.
* This constant is defined to extern most of the time when using
* this header file. However by defining it to nothing, the data
* declared in this header file can be instantiated. This is done
* in a single per manager file.
*/
#ifndef RTEMS_BARRIER_EXTERN
#define RTEMS_BARRIER_EXTERN extern
@@ -87,23 +90,23 @@ RTEMS_BARRIER_EXTERN Objects_Information _Barrier_Information;
void _Barrier_Manager_initialization(void);
/**
* @brief RTEMS Create Barrier
* @brief RTEMS Create Barrier
*
* Barrier Manager -- Create a Barrier Instance
* Barrier Manager -- Create a Barrier Instance
*
* This routine implements the rtems_barrier_create directive. The
* barrier will have the name name. The starting count for
* the barrier is count. The attribute_set determines if
* the barrier is global or local and the thread queue
* discipline. It returns the id of the created barrier in ID.
* This routine implements the rtems_barrier_create directive. The
* barrier will have the name name. The starting count for
* the barrier is count. The attribute_set determines if
* the barrier is global or local and the thread queue
* discipline. It returns the id of the created barrier in ID.
*
* @param[in] name is the name of this barrier instance.
* @param[in] attribute_set specifies the attributes of this barrier instance.
* @param[in] maximum_waiters is the maximum number of threads which will
* be allowed to concurrently wait at the barrier.
* @param[out] id will contain the id of this barrier.
* @param[in] name is the name of this barrier instance.
* @param[in] attribute_set specifies the attributes of this barrier instance.
* @param[in] maximum_waiters is the maximum number of threads which will
* be allowed to concurrently wait at the barrier.
* @param[out] id will contain the id of this barrier.
*
* @return a status code indicating success or the reason for failure.
* @retval a status code indicating success or the reason for failure.
*/
rtems_status_code rtems_barrier_create(
rtems_name name,
@@ -113,20 +116,20 @@ rtems_status_code rtems_barrier_create(
);
/**
* @brief RTEMS Barrier name to Id
* @brief RTEMS Barrier name to Id
*
* This routine implements the rtems_barrier_ident directive.
* This directive returns the barrier ID associated with name.
* If more than one barrier is named name, then the barrier
* to which the ID belongs is arbitrary. node indicates the
* extent of the search for the ID of the barrier named name.
* The search can be limited to a particular node or allowed to
* encompass all nodes.
* This routine implements the rtems_barrier_ident directive.
* This directive returns the barrier ID associated with name.
* If more than one barrier is named name, then the barrier
* to which the ID belongs is arbitrary. node indicates the
* extent of the search for the ID of the barrier named name.
* The search can be limited to a particular node or allowed to
* encompass all nodes.
*
* @param[in] name is the name of this barrier instance.
* @param[out] id will contain the id of this barrier.
* @param[in] name is the name of this barrier instance.
* @param[out] id will contain the id of this barrier.
*
* @return a status code indicating success or the reason for failure.
* @retval a status code indicating success or the reason for failure.
*/
rtems_status_code rtems_barrier_ident(
rtems_name name,
@@ -134,34 +137,34 @@ rtems_status_code rtems_barrier_ident(
);
/**
* @brief RTEMS Delete Barrier
* @brief RTEMS Delete Barrier
*
* This routine implements the rtems_barrier_delete directive. The
* barrier indicated by @a id is deleted. The barrier is freed back to the
* inactive barrier chain.
* This routine implements the rtems_barrier_delete directive. The
* barrier indicated by @a id is deleted. The barrier is freed back to the
* inactive barrier chain.
*
*
* @param[in] id indicates the barrier to delete
* @param[in] id indicates the barrier to delete
*
* @return a status code indicating success or the reason for failure.
* @retval a status code indicating success or the reason for failure.
*/
rtems_status_code rtems_barrier_delete(
rtems_id id
);
/**
* @brief RTEMS Barrier Wait
* @brief RTEMS Barrier Wait
*
* This routine implements the rtems_barrier_wait directive. It
* attempts to wait at the barrier associated with @a id. The calling task
* may block waiting for the barrier with an optional timeout of @a timeout
* clock ticks.
* This routine implements the rtems_barrier_wait directive. It
* attempts to wait at the barrier associated with @a id. The calling task
* may block waiting for the barrier with an optional timeout of @a timeout
* clock ticks.
*
* @param[in] id indicates the barrier to wait at.
* @param[in] timeout is the maximum length of time in ticks the calling
* thread is willing to block.
* @param[in] id indicates the barrier to wait at.
* @param[in] timeout is the maximum length of time in ticks the calling
* thread is willing to block.
*
* @return a status code indicating success or the reason for failure.
* @retval a status code indicating success or the reason for failure.
*/
rtems_status_code rtems_barrier_wait(
rtems_id id,
@@ -169,19 +172,19 @@ rtems_status_code rtems_barrier_wait(
);
/**
* @brief RTEMS Barrier Release
* @brief RTEMS Barrier Release
*
* Barrier Manager -- Release Tasks Waitng at a Barrier
* Barrier Manager -- Release Tasks Waitng at a Barrier
*
* This routine implements the rtems_barrier_release directive. It
* unblocks all of the threads waiting on the barrier associated with
* @a id. The number of threads unblocked is returned in @a released.
* This routine implements the rtems_barrier_release directive. It
* unblocks all of the threads waiting on the barrier associated with
* @a id. The number of threads unblocked is returned in @a released.
*
*
* @param[in] id indicates the barrier to wait at.
* @param[out] released will contain the number of threads unblocked.
* @param[in] id indicates the barrier to wait at.
* @param[out] released will contain the number of threads unblocked.
*
* @return a status code indicating success or the reason for failure.
* @retval a status code indicating success or the reason for failure.
*/
rtems_status_code rtems_barrier_release(
rtems_id id,
@@ -189,14 +192,14 @@ rtems_status_code rtems_barrier_release(
);
/**
* @brief Translate SuperCore Barrier Status Code to RTEMS Status Code
* @brief Translate SuperCore Barrier Status Code to RTEMS Status Code
*
* This function returns a RTEMS status code based on the barrier
* status code specified.
* This function returns a RTEMS status code based on the barrier
* status code specified.
*
* @param[in] the_status is the SuperCore Barrier status to translate.
* @param[in] the_status is the SuperCore Barrier status to translate.
*
* @return a status code indicating success or the reason for failure.
* @retval a status code indicating success or the reason for failure.
*/
rtems_status_code _Barrier_Translate_core_barrier_return_code (
CORE_barrier_Status the_status

View File

@@ -1,27 +1,30 @@
/**
* @file rtems/rtems/clock.h
*
* @brief Constants and Structures Associated with the Clock Manager
* @defgroup ClassicClock Clocks
*
* This include file contains all the constants and structures associated
* with the Clock Manager. This manager provides facilities to set, obtain,
* and continually update the current date and time.
* @ingroup ClassicRTEMS
* @brief Clock Manager API
*
* This manager provides directives to:
* This include file contains all the constants and structures associated
* with the Clock Manager. This manager provides facilities to set, obtain,
* and continually update the current date and time.
*
* - set the current date and time
* - obtain the current date and time
* - set the nanoseconds since last clock tick handler
* - announce a clock tick
* - obtain the system uptime
* This manager provides directives to:
*
* - set the current date and time
* - obtain the current date and time
* - set the nanoseconds since last clock tick handler
* - announce a clock tick
* - obtain the system uptime
*/
/* COPYRIGHT (c) 1989-2008.
* On-Line Applications Research Corporation (OAR).
/* COPYRIGHT (c) 1989-2008.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
*/
#ifndef _RTEMS_RTEMS_CLOCK_H
@@ -70,21 +73,21 @@ typedef Watchdog_Nanoseconds_since_last_tick_routine
rtems_nanoseconds_extension_routine;
/**
* @brief Obtain Current Time of Day
* @brief Obtain Current Time of Day
*
* This routine implements the rtems_clock_get directive. It returns
* one of the following:
* + current time of day
* + seconds since epoch
* + ticks since boot
* + ticks per second
* This routine implements the rtems_clock_get directive. It returns
* one of the following:
* + current time of day
* + seconds since epoch
* + ticks since boot
* + ticks per second
*
* @param[in] option is the format of time to return
* @param[in] time_buffer points to the output area
* @param[in] option is the format of time to return
* @param[in] time_buffer points to the output area
*
* @return This method returns RTEMS_SUCCESSFUL if there was not an
* error. Otherwise, a status code is returned indicating the
* source of the error.
* @retval This method returns RTEMS_SUCCESSFUL if there was not an
* error. Otherwise, a status code is returned indicating the
* source of the error.
*/
rtems_status_code rtems_clock_get(
rtems_clock_get_options option,
@@ -92,189 +95,189 @@ rtems_status_code rtems_clock_get(
);
/**
* @brief Obtain Current Time of Day (Classic TOD)
* @brief Obtain Current Time of Day (Classic TOD)
*
* This routine implements the rtems_clock_get_tod directive. It returns
* the current time of day in the format defined by RTEID.
* This routine implements the rtems_clock_get_tod directive. It returns
* the current time of day in the format defined by RTEID.
*
* Clock Manager - rtems_clock_get_tod
* Clock Manager - rtems_clock_get_tod
*
* @param[in] time_buffer points to the time of day structure
* @param[in] time_buffer points to the time of day structure
*
* @return This method returns RTEMS_SUCCESSFUL if there was not an
* error. Otherwise, a status code is returned indicating the
* source of the error. If successful, the time_buffer will
* be filled in with the current time of day.
* @retval This method returns RTEMS_SUCCESSFUL if there was not an
* error. Otherwise, a status code is returned indicating the
* source of the error. If successful, the time_buffer will
* be filled in with the current time of day.
*/
rtems_status_code rtems_clock_get_tod(
rtems_time_of_day *time_buffer
);
/**
* @brief Obtain TOD in struct timeval Format
* @brief Obtain TOD in struct timeval Format
*
* This routine implements the rtems_clock_get_tod_timeval
* directive.
* This routine implements the rtems_clock_get_tod_timeval
* directive.
*
* @param[in] time points to the struct timeval variable to fill in
* @param[in] time points to the struct timeval variable to fill in
*
* @return This method returns RTEMS_SUCCESSFUL if there was not an
* error. Otherwise, a status code is returned indicating the
* source of the error. If successful, the time will
* be filled in with the current time of day.
* @retval This method returns RTEMS_SUCCESSFUL if there was not an
* error. Otherwise, a status code is returned indicating the
* source of the error. If successful, the time will
* be filled in with the current time of day.
*/
rtems_status_code rtems_clock_get_tod_timeval(
struct timeval *time
);
/**
* @brief Obtain Seconds Since Epoch
* @brief Obtain Seconds Since Epoch
*
* This routine implements the rtems_clock_get_seconds_since_epoch
* directive.
* This routine implements the rtems_clock_get_seconds_since_epoch
* directive.
*
* @param[in] the_interval points to the interval variable to fill in
* @param[in] the_interval points to the interval variable to fill in
*
* @return This method returns RTEMS_SUCCESSFUL if there was not an
* error. Otherwise, a status code is returned indicating the
* source of the error. If successful, the time_buffer will
* be filled in with the current time of day.
* @retval This method returns RTEMS_SUCCESSFUL if there was not an
* error. Otherwise, a status code is returned indicating the
* source of the error. If successful, the time_buffer will
* be filled in with the current time of day.
*/
rtems_status_code rtems_clock_get_seconds_since_epoch(
rtems_interval *the_interval
);
/**
* @brief Obtain Ticks Since Boot
* @brief Obtain Ticks Since Boot
*
* This routine implements the rtems_clock_get_ticks_since_boot
* directive.
* This routine implements the rtems_clock_get_ticks_since_boot
* directive.
*
* @return This method returns the number of ticks since boot. It cannot
* fail since RTEMS always keeps a running count of ticks since boot.
* @retval This method returns the number of ticks since boot. It cannot
* fail since RTEMS always keeps a running count of ticks since boot.
*/
rtems_interval rtems_clock_get_ticks_since_boot(void);
/**
* @brief Obtain Ticks Per Seconds
* @brief Obtain Ticks Per Seconds
*
* This routine implements the rtems_clock_get_ticks_per_second
* directive.
* This routine implements the rtems_clock_get_ticks_per_second
* directive.
*
* @return This method returns the number of ticks since boot. It cannot
* fail since RTEMS is always configured to know the number of
* ticks per second.
* @retval This method returns the number of ticks since boot. It cannot
* fail since RTEMS is always configured to know the number of
* ticks per second.
*/
rtems_interval rtems_clock_get_ticks_per_second(void);
/**
* @brief Set the Current TOD
* @brief Set the Current TOD
*
* This routine implements the rtems_clock_set directive. It sets
* the current time of day to that in the time_buffer record.
* This routine implements the rtems_clock_set directive. It sets
* the current time of day to that in the time_buffer record.
*
* @param[in] time_buffer points to the new TOD
* @param[in] time_buffer points to the new TOD
*
* @return This method returns RTEMS_SUCCESSFUL if there was not an
* error. Otherwise, a status code is returned indicating the
* source of the error.
* @retval This method returns RTEMS_SUCCESSFUL if there was not an
* error. Otherwise, a status code is returned indicating the
* source of the error.
*
* @note Activities scheduled based upon the current time of day
* may be executed immediately if the time is moved forward.
* @note Activities scheduled based upon the current time of day
* may be executed immediately if the time is moved forward.
*/
rtems_status_code rtems_clock_set(
const rtems_time_of_day *time_buffer
);
/**
* @brief Announce a Clock Tick
* @brief Announce a Clock Tick
*
* This routine implements the rtems_clock_tick directive. It is invoked
* to inform RTEMS of the occurrence of a clock tick.
* This routine implements the rtems_clock_tick directive. It is invoked
* to inform RTEMS of the occurrence of a clock tick.
*
* @return This directive always returns RTEMS_SUCCESSFUL.
* @retval This directive always returns RTEMS_SUCCESSFUL.
*
* @note This method is typically called from an ISR and is the basis
* for all timeouts and delays. This routine only works for leap-years
* through 2099.
* @note This method is typically called from an ISR and is the basis
* for all timeouts and delays. This routine only works for leap-years
* through 2099.
*/
rtems_status_code rtems_clock_tick( void );
/**
* @brief Set the BSP specific Nanoseconds Extension
* @brief Set the BSP specific Nanoseconds Extension
*
* Clock Manager
* Clock Manager
*
* This directive sets the BSP provided nanoseconds since last tick
* extension.
* This directive sets the BSP provided nanoseconds since last tick
* extension.
*
* @param[in] routine is a pointer to the extension routine
* @param[in] routine is a pointer to the extension routine
*
* @return This method returns RTEMS_SUCCESSFUL if there was not an
* error. Otherwise, a status code is returned indicating the
* source of the error.
* @return This method returns RTEMS_SUCCESSFUL if there was not an
* error. Otherwise, a status code is returned indicating the
* source of the error.
*/
rtems_status_code rtems_clock_set_nanoseconds_extension(
rtems_nanoseconds_extension_routine routine
);
/**
* @brief Obtain the System Uptime
* @brief Obtain the System Uptime
*
* This directive returns the system uptime.
* This directive returns the system uptime.
*
* @param[in] uptime is a pointer to the time structure
* @param[in] uptime is a pointer to the time structure
*
* @return This method returns RTEMS_SUCCESSFUL if there was not an
* error. Otherwise, a status code is returned indicating the
* source of the error. If successful, the uptime will be
* filled in.
* @retval This method returns RTEMS_SUCCESSFUL if there was not an
* error. Otherwise, a status code is returned indicating the
* source of the error. If successful, the uptime will be
* filled in.
*
* Clock Manager - get uptime
* Clock Manager - get uptime
*/
rtems_status_code rtems_clock_get_uptime(
struct timespec *uptime
);
/**
* @brief Gets the System Uptime in the Struct Timeval Format
* @brief Gets the System Uptime in the Struct Timeval Format
*
* @param[out] Returns the system uptime. Pointer must not be NULL.
* @param[out] Returns the system uptime. Pointer must not be NULL.
*/
void rtems_clock_get_uptime_timeval( struct timeval *uptime );
/**
* @brief Returns the system uptime in seconds.
* @brief Returns the system uptime in seconds.
*
* @return The system uptime in seconds.
* @retval The system uptime in seconds.
*/
time_t rtems_clock_get_uptime_seconds( void );
/**
* @brief TOD Validate
* @brief TOD Validate
*
* This support function returns true if @a the_tod contains
* a valid time of day, and false otherwise.
* This support function returns true if @a the_tod contains
* a valid time of day, and false otherwise.
*
* @param[in] the_tod is the TOD structure to validate
* @param[in] the_tod is the TOD structure to validate
*
* @return This method returns true if the TOD is valid and false otherwise.
* @retval This method returns true if the TOD is valid and false otherwise.
*
* @note This routine only works for leap-years through 2099.
* @note This routine only works for leap-years through 2099.
*/
bool _TOD_Validate(
const rtems_time_of_day *the_tod
);
/**
* @brief TOD to Seconds
* @brief TOD to Seconds
*
* This function returns the number seconds between the epoch and @a the_tod.
* This function returns the number seconds between the epoch and @a the_tod.
*
* @param[in] the_tod is the TOD structure to convert to seconds
* @param[in] the_tod is the TOD structure to convert to seconds
*
* @return This method returns the number of seconds since epoch represented
* by @a the_tod
* @retval This method returns the number of seconds since epoch represented
* by @a the_tod
*/
Watchdog_Interval _TOD_To_seconds(
const rtems_time_of_day *the_tod

View File

@@ -1,25 +1,28 @@
/**
* @file rtems/rtems/event.h
*
* @brief Information Related to the Event Manager
* @defgroup ClassicEvent Events
*
* This include file contains the information pertaining to the Event
* Manager. This manager provides a high performance method of communication
* and synchronization.
* @ingroup ClassicRTEMS
* @brief Information Related to Event Manager
*
* Directives provided are:
* This include file contains the information pertaining to the Event
* Manager. This manager provides a high performance method of communication
* and synchronization.
*
* - send an event set to a task
* - receive event condition
* Directives provided are:
*
* - send an event set to a task
* - receive event condition
*
*/
/* COPYRIGHT (c) 1989-2008.
* On-Line Applications Research Corporation (OAR).
/* COPYRIGHT (c) 1989-2008.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
*/
#ifndef _RTEMS_RTEMS_EVENT_H
@@ -100,38 +103,38 @@ extern "C" {
*/
/**
* @brief Sends an Event Set to the Target Task
* @brief Sends an Event Set to the Target Task
*
* This directive sends an event set @a event_in to the task specified by
* @a id.
* This directive sends an event set @a event_in to the task specified by
* @a id.
*
* Based upon the state of the target task, one of the following situations
* applies. The target task is
* - blocked waiting for events.
* If the waiting task's input event condition is
* - satisfied, then the task is made ready for execution.
* - not satisfied, then the event set is posted but left pending and the
* task remains blocked.
* - not waiting for events.
* - The event set is posted and left pending.
* Based upon the state of the target task, one of the following situations
* applies. The target task is
* - blocked waiting for events.
* If the waiting task's input event condition is
* - satisfied, then the task is made ready for execution.
* - not satisfied, then the event set is posted but left pending and the
* task remains blocked.
* - not waiting for events.
* - The event set is posted and left pending.
*
* Identical events sent to a task are not queued. In other words, the second,
* and subsequent, posting of an event to a task before it can perform an
* rtems_event_receive() has no effect.
* Identical events sent to a task are not queued. In other words, the second,
* and subsequent, posting of an event to a task before it can perform an
* rtems_event_receive() has no effect.
*
* The calling task will be preempted if it has preemption enabled and a
* higher priority task is unblocked as the result of this directive.
* The calling task will be preempted if it has preemption enabled and a
* higher priority task is unblocked as the result of this directive.
*
* Sending an event set to a global task which does not reside on the local
* node will generate a request telling the remote node to send the event set
* to the appropriate task.
* Sending an event set to a global task which does not reside on the local
* node will generate a request telling the remote node to send the event set
* to the appropriate task.
*
* @param[in] id Identifier of the target task. Specifying @ref RTEMS_SELF
* results in the event set being sent to the calling task.
* @param[in] event_in Event set sent to the target task.
* @param[in] id Identifier of the target task. Specifying @ref RTEMS_SELF
* results in the event set being sent to the calling task.
* @param[in] event_in Event set sent to the target task.
*
* @retval RTEMS_SUCCESSFUL Successful operation.
* @retval RTEMS_INVALID_ID Invalid task identifier.
* @retval RTEMS_SUCCESSFUL Successful operation.
* @retval RTEMS_INVALID_ID Invalid task identifier.
*/
rtems_status_code rtems_event_send (
rtems_id id,
@@ -139,65 +142,65 @@ rtems_status_code rtems_event_send (
);
/**
* @brief Receives pending events.
* @brief Receives pending events.
*
* This directive attempts to receive the event condition specified in
* @a event_in. If @a event_in is set to @ref RTEMS_PENDING_EVENTS, then the
* current pending events are returned in @a event_out and left pending. The
* @aref RTEMS_WAIT and @aref RTEMS_NO_WAIT options in the @a option_set
* parameter are used to specify whether or not the task is willing to wait
* for the event condition to be satisfied. The @ref RTEMS_EVENT_ANY and @ref
* RTEMS_EVENT_ALL are used in the @a option_set parameter to specify whether
* at least a single event or the complete event set is necessary to satisfy
* the event condition. The @a event_out parameter is returned to the calling
* task with the value that corresponds to the events in @a event_in that were
* satisfied.
* This directive attempts to receive the event condition specified in
* @a event_in. If @a event_in is set to @ref RTEMS_PENDING_EVENTS, then the
* current pending events are returned in @a event_out and left pending. The
* @aref RTEMS_WAIT and @aref RTEMS_NO_WAIT options in the @a option_set
* parameter are used to specify whether or not the task is willing to wait
* for the event condition to be satisfied. The @ref RTEMS_EVENT_ANY and @ref
* RTEMS_EVENT_ALL are used in the @a option_set parameter to specify whether
* at least a single event or the complete event set is necessary to satisfy
* the event condition. The @a event_out parameter is returned to the calling
* task with the value that corresponds to the events in @a event_in that were
* satisfied.
*
* A task can determine the pending event set by using a value of
* @ref RTEMS_PENDING_EVENTS for the input event set @a event_in. The pending
* events are returned to the calling task but the event set is left
* unaltered.
* A task can determine the pending event set by using a value of
* @ref RTEMS_PENDING_EVENTS for the input event set @a event_in. The pending
* events are returned to the calling task but the event set is left
* unaltered.
*
* A task can receive all of the currently pending events by using the a value
* of @ref RTEMS_ALL_EVENTS for the input event set @a event_in and
* @ref RTEMS_NO_WAIT | @ref RTEMS_EVENT_ANY for the option set @a option_set.
* The pending events are returned to the calling task and the event set is
* cleared. If no events are pending then the @ref RTEMS_UNSATISFIED status
* code will be returned.
* A task can receive all of the currently pending events by using the a value
* of @ref RTEMS_ALL_EVENTS for the input event set @a event_in and
* @ref RTEMS_NO_WAIT | @ref RTEMS_EVENT_ANY for the option set @a option_set.
* The pending events are returned to the calling task and the event set is
* cleared. If no events are pending then the @ref RTEMS_UNSATISFIED status
* code will be returned.
*
* If pending events satisfy the event condition, then @a event_out is set to
* the satisfied events and the pending events in the event condition are
* cleared. If the event condition is not satisfied and @ref RTEMS_NO_WAIT is
* specified, then @a event_out is set to the currently satisfied events. If
* the calling task chooses to wait, then it will block waiting for the event
* condition.
* If pending events satisfy the event condition, then @a event_out is set to
* the satisfied events and the pending events in the event condition are
* cleared. If the event condition is not satisfied and @ref RTEMS_NO_WAIT is
* specified, then @a event_out is set to the currently satisfied events. If
* the calling task chooses to wait, then it will block waiting for the event
* condition.
*
* If the calling task must wait for the event condition to be satisfied, then
* the timeout parameter is used to specify the maximum interval to wait. If
* it is set to @ref RTEMS_NO_TIMEOUT, then the calling task will wait forever.
* If the calling task must wait for the event condition to be satisfied, then
* the timeout parameter is used to specify the maximum interval to wait. If
* it is set to @ref RTEMS_NO_TIMEOUT, then the calling task will wait forever.
*
* This directive only affects the events specified in @a event_in. Any
* pending events that do not correspond to any of the events specified in
* @a event_in will be left pending.
* This directive only affects the events specified in @a event_in. Any
* pending events that do not correspond to any of the events specified in
* @a event_in will be left pending.
*
* A clock tick is required to support the wait with time out functionality of
* this directive.
* A clock tick is required to support the wait with time out functionality of
* this directive.
*
* @param[in] event_in Set of requested events (input events).
* @param[in] option_set Use a bitwise or of the following options
* - @ref RTEMS_WAIT - task will wait for event (default),
* - @ref RTEMS_NO_WAIT - task should not wait,
* - @ref RTEMS_EVENT_ALL - return after all events (default), and
* - @ref RTEMS_EVENT_ANY - return after any events.
* @param[in] ticks Time out in ticks. Use @ref RTEMS_NO_TIMEOUT to wait
* without a time out (potentially forever).
* @param[out] event_out Set of received events (output events).
* @param[in] event_in Set of requested events (input events).
* @param[in] option_set Use a bitwise or of the following options
* - @ref RTEMS_WAIT - task will wait for event (default),
* - @ref RTEMS_NO_WAIT - task should not wait,
* - @ref RTEMS_EVENT_ALL - return after all events (default), and
* - @ref RTEMS_EVENT_ANY - return after any events.
* @param[in] ticks Time out in ticks. Use @ref RTEMS_NO_TIMEOUT to wait
* without a time out (potentially forever).
* @param[out] event_out Set of received events (output events).
*
* @retval RTEMS_SUCCESSFUL Successful operation.
* @retval RTEMS_UNSATISFIED Input events not satisfied (only with the
* @ref RTEMS_NO_WAIT option).
* @retval RTEMS_INVALID_ADDRESS The @a event_out pointer is @c NULL.
* @retval RTEMS_TIMEOUT Timed out waiting for events.
* @retval RTEMS_SUCCESSFUL Successful operation.
* @retval RTEMS_UNSATISFIED Input events not satisfied (only with the
* @ref RTEMS_NO_WAIT option).
* @retval RTEMS_INVALID_ADDRESS The @a event_out pointer is @c NULL.
* @retval RTEMS_TIMEOUT Timed out waiting for events.
*/
rtems_status_code rtems_event_receive (
rtems_event_set event_in,

View File

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

View File

@@ -1,19 +1,22 @@
/**
* @file rtems/rtems/eventset.h
*
* @brief Information Related to the Event Sets Handler
* @defgroup ClassicEventSet Event Set
*
* This include file contains the information pertaining to the
* Event Sets Handler. This handler provides methods for the manipulation
* of event sets which will be sent and received by tasks.
* @ingroup ClassicRTEMS
* @brief Event Sets Handler
*
* This include file contains the information pertaining to the
* Event Sets Handler. This handler provides methods for the manipulation
* of event sets which will be sent and received by tasks.
*/
/* COPYRIGHT (c) 1989-2008.
* On-Line Applications Research Corporation (OAR).
/* COPYRIGHT (c) 1989-2008.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
*/
#ifndef _RTEMS_RTEMS_EVENTSET_H

View File

@@ -1,18 +1,21 @@
/**
* @file rtems/rtems/intr.h
*
* @brief Header file for the Interrupt Manager.
* @defgroup ClassicINTR Interrupts
*
* This include file contains all the constants and structures associated with
* the Interrupt Manager.
* @ingroup ClassicRTEMS
* @brief Header file for Interrupt Manager
*
* This include file contains all the constants and structures associated with
* the Interrupt Manager.
*/
/* COPYRIGHT (c) 1989-2008.
* On-Line Applications Research Corporation (OAR).
/* COPYRIGHT (c) 1989-2008.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
*/
#ifndef _RTEMS_RTEMS_INTR_H
@@ -63,17 +66,17 @@ typedef rtems_isr ( *rtems_isr_entry )(
);
/**
* @brief RTEMS Interrupt Catch
* @brief RTEMS Interrupt Catch
*
* This directive installs @a new_isr_handler as the RTEMS interrupt service
* routine for the interrupt vector with number @a vector. The previous RTEMS
* interrupt service routine is returned in @a old_isr_handler.
* This directive installs @a new_isr_handler as the RTEMS interrupt service
* routine for the interrupt vector with number @a vector. The previous RTEMS
* interrupt service routine is returned in @a old_isr_handler.
*
* @param[in] new_isr_handler is the address of interrupt service routine
* @param[in] vector is the interrupt vector number
* @param[in] old_isr_handler address at which to store previous ISR address
* @param[in] new_isr_handler is the address of interrupt service routine
* @param[in] vector is the interrupt vector number
* @param[in] old_isr_handler address at which to store previous ISR address
*
* @return RTEMS_SUCCESSFUL and *old_isr_handler filled with previous ISR
* @retval RTEMS_SUCCESSFUL and *old_isr_handler filled with previous ISR
* address
*/
rtems_status_code rtems_interrupt_catch(

View File

@@ -1,30 +1,33 @@
/**
* @file rtems/rtems/message.h
*
* @brief Constants and Structures Associated with the Message Queue Manager
* @defgroup ClassicMessageQueue Message Queues
*
* This include file contains all the constants and structures associated
* with the Message Queue Manager. This manager provides a mechanism for
* communication and synchronization between tasks using messages.
* @ingroup ClassicRTEMS
* @brief Message Queue Manager
*
* Directives provided are:
* This include file contains all the constants and structures associated
* with the Message Queue Manager. This manager provides a mechanism for
* communication and synchronization between tasks using messages.
*
* - create a queue
* - get ID of a queue
* - delete a queue
* - put a message at the rear of a queue
* - put a message at the front of a queue
* - broadcast N messages to a queue
* - receive message from a queue
* - flush all messages on a queue
* Directives provided are:
*
* - create a queue
* - get ID of a queue
* - delete a queue
* - put a message at the rear of a queue
* - put a message at the front of a queue
* - broadcast N messages to a queue
* - receive message from a queue
* - flush all messages on a queue
*/
/* COPYRIGHT (c) 1989-2008.
* On-Line Applications Research Corporation (OAR).
/* COPYRIGHT (c) 1989-2008.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
*/
#ifndef _RTEMS_RTEMS_MESSAGE_H
@@ -106,25 +109,25 @@ RTEMS_MESSAGE_EXTERN Objects_Information _Message_queue_Information;
void _Message_queue_Manager_initialization(void);
/**
* @brief RTEMS Create Message Queue
* @brief RTEMS Create Message Queue
*
* This routine implements the rtems_message_queue_create directive. The
* message queue will have the @a name. If the @a attribute_set indicates
* that the message queue is to be limited in the number of messages
* that can be outstanding, then @a count indicates the maximum number of
* messages that will be held. It returns the id of the created
* message queue in @a id.
* This routine implements the rtems_message_queue_create directive. The
* message queue will have the @a name. If the @a attribute_set indicates
* that the message queue is to be limited in the number of messages
* that can be outstanding, then @a count indicates the maximum number of
* messages that will be held. It returns the id of the created
* message queue in @a id.
*
* @param[in] name is the user defined queue name
* @param[in] count is the maximum message and reserved buffer count
* @param[in] max_message_size is the maximum size of each message
* @param[in] attribute_set is the process method
* @param[in] id is the pointer to queue
* @param[in] name is the user defined queue name
* @param[in] count is the maximum message and reserved buffer count
* @param[in] max_message_size is the maximum size of each message
* @param[in] attribute_set is the process method
* @param[in] id is the pointer to queue
*
* @return This method returns RTEMS_SUCCESSFUL if there was not an
* error. Otherwise, a status code is returned indicating the
* source of the error. If successful, the @a id will
* be filled in with the queue id.
* @retval This method returns RTEMS_SUCCESSFUL if there was not an
* error. Otherwise, a status code is returned indicating the
* source of the error. If successful, the @a id will
* be filled in with the queue id.
*/
rtems_status_code rtems_message_queue_create(
rtems_name name,
@@ -135,22 +138,22 @@ rtems_status_code rtems_message_queue_create(
);
/**
* @brief RTEMS Message Queue Name to Id
* @brief RTEMS Message Queue Name to Id
*
* This routine implements the rtems_message_queue_ident directive.
* This directive returns the message queue ID associated with NAME.
* If more than one message queue is named name, then the message
* queue to which the ID belongs is arbitrary. node indicates the
* extent of the search for the ID of the message queue named name.
* The search can be limited to a particular node or allowed to
* encompass all nodes.
* This routine implements the rtems_message_queue_ident directive.
* This directive returns the message queue ID associated with NAME.
* If more than one message queue is named name, then the message
* queue to which the ID belongs is arbitrary. node indicates the
* extent of the search for the ID of the message queue named name.
* The search can be limited to a particular node or allowed to
* encompass all nodes.
*
* @param[in] name is the user defined message queue name
* @param[in] node is the node(s) to be searched
* @param[in] id is the pointer to message queue id
* @param[in] name is the user defined message queue name
* @param[in] node is the node(s) to be searched
* @param[in] id is the pointer to message queue id
*
* @return RTEMS_SUCCESSFUL if successful or error code if unsuccessful and
* *id filled with the message queue id
* @retval RTEMS_SUCCESSFUL if successful or error code if unsuccessful and
* *id filled with the message queue id
*/
rtems_status_code rtems_message_queue_ident(
rtems_name name,
@@ -159,14 +162,14 @@ rtems_status_code rtems_message_queue_ident(
);
/**
* @brief RTEMS Delete Message Queue
* @brief RTEMS Delete Message Queue
*
* This routine implements the rtems_message_queue_delete directive. The
* message queue indicated by ID is deleted.
* This routine implements the rtems_message_queue_delete directive. The
* message queue indicated by ID is deleted.
*
* @param[in] id is the queue id
* @param[in] id is the queue 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_message_queue_delete(
rtems_id id
@@ -194,19 +197,19 @@ rtems_status_code rtems_message_queue_send(
);
/**
* @brief RTEMS Urgent Message Queue
* @brief RTEMS Urgent Message Queue
*
* This routine implements the rtems_message_queue_urgent directive.
* This directive has the same behavior as rtems_message_queue_send
* except that if no tasks are waiting, the message buffer will
* be placed at the FRONT of the chain of pending messages rather
* than at the REAR.
* This routine implements the rtems_message_queue_urgent directive.
* This directive has the same behavior as rtems_message_queue_send
* except that if no tasks are waiting, the message buffer will
* be placed at the FRONT of the chain of pending messages rather
* than at the REAR.
*
* @param[in] id is the pointer to message queue
* @param[in] buffer is the pointer to message buffer
* @param[in] size is the size of message to send urgently
* @param[in] id is the pointer to message queue
* @param[in] buffer is the pointer to message buffer
* @param[in] size is the size of message to send urgently
*
* @return RTEMS_SUCCESSFUL if successful or error code if unsuccessful
* @retval RTEMS_SUCCESSFUL if successful or error code if unsuccessful
*/
rtems_status_code rtems_message_queue_urgent(
rtems_id id,
@@ -215,20 +218,20 @@ rtems_status_code rtems_message_queue_urgent(
);
/**
* @brief RTEMS Broadcast Message Queue
* @brief RTEMS Broadcast Message Queue
*
* This routine implements the rtems_message_queue_broadcast directive.
* This directive sends the message buffer to all of the tasks blocked
* waiting for a message on the message queue indicated by ID.
* If no tasks are waiting, then the message buffer will not be queued.
* This routine implements the rtems_message_queue_broadcast directive.
* This directive sends the message buffer to all of the tasks blocked
* waiting for a message on the message queue indicated by ID.
* If no tasks are waiting, then the message buffer will not be queued.
*
* @param[in] id is the pointer to message queue
* @param[in] buffer is the pointer to message buffer
* @param[in] size is the size of message to broadcast
* @param[in] count pointer to area to store number of threads made ready
* @param[in] id is the pointer to message queue
* @param[in] buffer is the pointer to message buffer
* @param[in] size is the size of message to broadcast
* @param[in] count pointer to area to store number of threads made ready
*
* @return RTEMS_SUCCESSFUL if successful or error code if unsuccessful and
* *count filled in with number of threads made ready
* @retval RTEMS_SUCCESSFUL if successful or error code if unsuccessful and
* *count filled in with number of threads made ready
*/
rtems_status_code rtems_message_queue_broadcast(
rtems_id id,
@@ -238,25 +241,25 @@ rtems_status_code rtems_message_queue_broadcast(
);
/**
* @brief RTEMS Message Queue Receive
* @brief RTEMS Message Queue Receive
*
* This routine implements the rtems_message_queue_receive directive.
* This directive is invoked when the calling task wishes to receive
* a message from the message queue indicated by ID. The received
* message is to be placed in buffer. If no messages are outstanding
* and the option_set indicates that the task is willing to block,
* then the task will be blocked until a message arrives or until,
* optionally, timeout clock ticks have passed.
* This routine implements the rtems_message_queue_receive directive.
* This directive is invoked when the calling task wishes to receive
* a message from the message queue indicated by ID. The received
* message is to be placed in buffer. If no messages are outstanding
* and the option_set indicates that the task is willing to block,
* then the task will be blocked until a message arrives or until,
* optionally, timeout clock ticks have passed.
*
* @param[in] id is the queue id
* @param[in] buffer is the pointer to message buffer
* @param[in] size is the size of message receive
* @param[in] option_set is the options on receive
* @param[in] timeout is the number of ticks to wait
* @param[in] id is the queue id
* @param[in] buffer is the pointer to message buffer
* @param[in] size is the size of message receive
* @param[in] option_set is the options on receive
* @param[in] timeout is the number of ticks to wait
*
* @return This method returns RTEMS_SUCCESSFUL if there was not an
* error. Otherwise, a status code is returned indicating the
* source of the error.
* @retval This method returns RTEMS_SUCCESSFUL if there was not an
* error. Otherwise, a status code is returned indicating the
* source of the error.
*/
rtems_status_code rtems_message_queue_receive(
rtems_id id,
@@ -315,24 +318,24 @@ rtems_status_code _Message_queue_Submit(
);
/**
* @brief Message Queue Allocate
* @brief Message Queue Allocate
*
* This function allocates a message queue control block from
* the inactive chain of free message queue control blocks.
* This function allocates a message queue control block from
* the inactive chain of free message queue control blocks.
*
* @return the_message_queue filled in if successful, NULL otherwise
* @retval the_message_queue filled in if successful, NULL otherwise
*/
Message_queue_Control *_Message_queue_Allocate (void);
/**
* @brief Message queue Translate Core Message Queue Return Code
* @brief Message queue Translate Core Message Queue Return Code
*
* This function returns a RTEMS status code based on
* @a the_message_queue_status.
* This function returns a RTEMS status code based on
* @a the_message_queue_status.
*
* @param[in] the_message_queue_status is the status code to translate
* @param[in] the_message_queue_status is the status code to translate
*
* @return translated RTEMS status code
* @retval translated RTEMS status code
*/
rtems_status_code _Message_queue_Translate_core_message_queue_return_code (
uint32_t the_message_queue_status

View File

@@ -1,18 +1,21 @@
/**
* @file rtems/rtems/modes.h
*
* @brief Constants and Structures Associated with the RTEMS thread and RTEMS_ASR modes
* @defgroup ClassicModes Modes
*
* This include file contains all constants and structures associated
* with the RTEMS thread and RTEMS_ASR modes.
* @ingroup ClassicRTEMS
* @brief RTEMS thread and RTEMS_ASR modes
*
* This include file contains all constants and structures associated
* with the RTEMS thread and RTEMS_ASR modes.
*/
/* COPYRIGHT (c) 1989-2008.
* On-Line Applications Research Corporation (OAR).
/* COPYRIGHT (c) 1989-2008.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
*/
#ifndef _RTEMS_RTEMS_MODES_H
@@ -84,14 +87,14 @@ typedef uint32_t Modes_Control;
#define RTEMS_NO_ASR 0x00000400
/**
* @brief RTEMS_INTERRUPT_LEVEL
* @brief RTEMS_INTERRUPT_LEVEL
*
* This function returns the processor dependent interrupt
* level which corresponds to the requested interrupt level.
* This function returns the processor dependent interrupt
* level which corresponds to the requested interrupt level.
*
* @note RTEMS supports 256 interrupt levels using the least
* significant eight bits of MODES.CONTROL. On any
* particular CPU, fewer than 256 levels may be supported.
* @note RTEMS supports 256 interrupt levels using the least
* significant eight bits of MODES.CONTROL. On any
* particular CPU, fewer than 256 levels may be supported.
*/
#define RTEMS_INTERRUPT_LEVEL( _mode_set ) \
( (_mode_set) & RTEMS_INTERRUPT_MASK )
@@ -104,15 +107,15 @@ typedef uint32_t Modes_Control;
extern const uint32_t rtems_interrupt_mask;
/**
* @brief Body for RTEMS_INTERRUPT_LEVEL Macro
* @brief Body for RTEMS_INTERRUPT_LEVEL Macro
*
* @param[in] level is the desired interrupt level
* @param[in] level is the desired interrupt level
*
* @return This methods returns a mode with the desired interrupt
* @a level in the proper bitfield location.
* @retval This methods returns a mode with the desired interrupt
* @a level in the proper bitfield location.
*
* @note This variable is used by bindings from languages other than
* C and C++.
* @note This variable is used by bindings from languages other than
* C and C++.
*/
Modes_Control rtems_interrupt_level_body(
uint32_t level

View File

@@ -1,16 +1,21 @@
/**
* @file rtems/rtems/msgmp.h
*
* This include file contains all the constants and structures associated
* with the Multiprocessing Support in the Message Manager.
* @defgroup ClassicMsgMP Message Queue MP Support
*
* @ingroup ClassicRTEMS
* @brief Message Manager MP Support
*
* This include file contains all the constants and structures associated
* with the Multiprocessing Support in the Message Manager.
*/
/* COPYRIGHT (c) 1989-2008.
* On-Line Applications Research Corporation (OAR).
/* COPYRIGHT (c) 1989-2008.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
*/
#ifndef _RTEMS_RTEMS_MSGMP_H
@@ -119,10 +124,10 @@ void _Message_queue_MP_Send_response_packet (
/**
*
@brief * _Message_queue_MP_Process_packet
* @brief _Message_queue_MP_Process_packet
*
* This routine performs the actions specific to this package for
* the request from another node.
* This routine performs the actions specific to this package for
* the request from another node.
*/
void _Message_queue_MP_Process_packet (
rtems_packet_prefix *the_packet_prefix

View File

@@ -1,18 +1,21 @@
/**
* @file rtems/rtems/options.h
*
* @brief Information Which Defines the Options Available on Many Directives.
* @defgroup ClassicOptions Classic API Options
*
* This include file contains information which defines the
* options available on many directives.
* @ingroup ClassicRTEMS
* @brief Options Available on Many Directives
*
* This include file contains information which defines the
* options available on many directives.
*/
/* COPYRIGHT (c) 1989-2008.
* On-Line Applications Research Corporation (OAR).
/* COPYRIGHT (c) 1989-2008.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
*/
#ifndef _RTEMS_RTEMS_OPTIONS_H
@@ -23,13 +26,13 @@ extern "C" {
#endif
/**
* @defgroup ClassicOptions Classic API Options
* @defgroup ClassicOptions Classic API Options
*
* @ingroup ClassicRTEMS
* @ingroup ClassicRTEMS
*
* This encapsulates functionality related to the options argument
* to Classic API blocking operations. The primary option is whether
* or not a task is willing to wait for the operation to complete.
* This encapsulates functionality related to the options argument
* to Classic API blocking operations. The primary option is whether
* or not a task is willing to wait for the operation to complete.
*/
/**@{*/

View File

@@ -1,16 +1,21 @@
/**
* @file rtems/rtems/semmp.h
*
* This include file contains all the constants and structures associated
* with the Multiprocessing Support in the Semaphore Manager.
* @defgroup ClassicSEM Semaphore MP Support
*
* @ingroup ClassicRTEMS
* @brief Semaphore Manager MP Support
*
* This include file contains all the constants and structures associated
* with the Multiprocessing Support in the Semaphore Manager.
*/
/* COPYRIGHT (c) 1989-2008.
* On-Line Applications Research Corporation (OAR).
/* COPYRIGHT (c) 1989-2008.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
*/
#ifndef _RTEMS_RTEMS_SEMMP_H
@@ -142,12 +147,12 @@ Semaphore_MP_Packet *_Semaphore_MP_Get_packet ( void );
/**
* @brief Semaphore Core Mutex MP Support
*
* This function processes the global actions necessary for remote
* accesses to a global semaphore based on a core mutex. This function
* is called by the core.
* This function processes the global actions necessary for remote
* accesses to a global semaphore based on a core mutex. This function
* is called by the core.
*
* @param[in] the_thread the remote thread the semaphore was surrendered to
* @param[in] id is the id of the surrendered semaphore
* @param[in] the_thread the remote thread the semaphore was surrendered to
* @param[in] id is the id of the surrendered semaphore
*/
void _Semaphore_Core_mutex_mp_support (
Thread_Control *the_thread,
@@ -155,14 +160,14 @@ void _Semaphore_Core_mutex_mp_support (
);
/**
* @brief Semaphore Core MP Support
* @brief Semaphore Core MP Support
*
* This function processes the global actions necessary for remote
* accesses to a global semaphore based on a core semaphore. This function
* is called by the core.
* This function processes the global actions necessary for remote
* accesses to a global semaphore based on a core semaphore. This function
* is called by the core.
*
* @param[in] the_thread the remote thread the semaphore was surrendered to
* @param[in] id is the id of the surrendered semaphore
* @param[in] the_thread the remote thread the semaphore was surrendered to
* @param[in] id is the id of the surrendered semaphore
*/
void _Semaphore_Core_semaphore_mp_support (
Thread_Control *the_thread,

View File

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

View File

@@ -1,19 +1,18 @@
/**
* @file
*
* @defgroup ClassicRTEMSWorkspace Workspace
*
* @ingroup ClassicRTEMS
*
* @ingroup ClassicRTEMSWorkspace
*
* @brief Classic API support.
*/
/* COPYRIGHT (c) 1989-2008.
* On-Line Applications Research Corporation (OAR).
/* COPYRIGHT (c) 1989-2008.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
*/
#ifndef _RTEMS_RTEMS_SUPPORT_H

View File

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

View File

@@ -1,38 +1,41 @@
/**
* @file rtems/rtems/timer.h
*
* @brief Constants, Structures, and Prototypes Associated with the Timer Manager
* @defgroup ClassicTimer Timers
*
* This include file contains all the constants, structures, and
* prototypes associated with the Timer Manager. This manager provides
* facilities to configure, initiate, cancel, and delete timers which will
* fire at specified intervals of time.
* @ingroup ClassicRTEMS
* @brief Instantiate RTEMS Timer Data
*
* Directives provided are:
* This include file contains all the constants, structures, and
* prototypes associated with the Timer Manager. This manager provides
* facilities to configure, initiate, cancel, and delete timers which will
* fire at specified intervals of time.
*
* - create a timer
* - get an ID of a timer
* - delete a timer
* - set timer to fire in context of clock tick
* - after a number of ticks have passed
* - when a specified date and time has been reached
* - initiate the timer server task
* - set timer to fire in context of the timer server task
* - after a number of ticks have passed
* - when a specified date and time has been reached
* - reset a timer
* - cancel a time
* Directives provided are:
*
* - create a timer
* - get an ID of a timer
* - delete a timer
* - set timer to fire in context of clock tick
* - after a number of ticks have passed
* - when a specified date and time has been reached
* - initiate the timer server task
* - set timer to fire in context of the timer server task
* - after a number of ticks have passed
* - when a specified date and time has been reached
* - reset a timer
* - cancel a time
*/
/*
* COPYRIGHT (c) 1989-2011.
* On-Line Applications Research Corporation (OAR).
* COPYRIGHT (c) 1989-2011.
* On-Line Applications Research Corporation (OAR).
*
* Copyright (c) 2009 embedded brains GmbH.
* Copyright (c) 2009 embedded brains GmbH.
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
*/
#ifndef _RTEMS_RTEMS_TIMER_H
@@ -231,16 +234,16 @@ RTEMS_TIMER_EXTERN Objects_Information _Timer_Information;
void _Timer_Manager_initialization(void);
/**
* @brief RTEMS Create Timer
* @brief RTEMS Create Timer
*
* This routine implements the rtems_timer_create directive. The
* timer will have the name name. It returns the id of the
* created timer in ID.
* This routine implements the rtems_timer_create directive. The
* timer will have the name name. It returns the id of the
* created timer in ID.
*
* @param[in] name is the timer name
* @param[out] id is the pointer to timer id
* @param[in] name is the timer name
* @param[out] id is the pointer to timer 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_timer_create(
rtems_name name,
@@ -248,18 +251,18 @@ rtems_status_code rtems_timer_create(
);
/**
* @brief RTEMS Timer Name to Id
* @brief RTEMS Timer Name to Id
*
* This routine implements the rtems_timer_ident directive.
* This directive returns the timer ID associated with name.
* If more than one timer is named name, then the timer
* to which the ID belongs is arbitrary.
* This routine implements the rtems_timer_ident directive.
* This directive returns the timer ID associated with name.
* If more than one timer is named name, then the timer
* to which the ID belongs is arbitrary.
*
* @param[in] name is the user defined message queue name
* @param[in] id is the pointer to timer id
* @param[in] name is the user defined message queue name
* @param[in] id is the pointer to timer id
*
* @return RTEMS_SUCCESSFUL if successful or error code if unsuccessful and
* id filled with the message queue id
* @retval RTEMS_SUCCESSFUL if successful or error code if unsuccessful and
* id filled with the message queue id
*/
rtems_status_code rtems_timer_ident(
rtems_name name,
@@ -277,38 +280,38 @@ rtems_status_code rtems_timer_cancel(
);
/**
* @brief RTEMS Delete Timer
* @brief RTEMS Delete Timer
*
* This routine implements the rtems_timer_delete directive. The
* timer indicated by ID is deleted.
* This routine implements the rtems_timer_delete directive. The
* timer indicated by ID is deleted.
*
* @param[in] id is the timer id
* @param[in] id is the timer id
*
* @return This method returns RTEMS_SUCCESSFUL if there was not an
* error. Otherwise, a status code is returned indicating the
* source of the error.
* @retval This method returns RTEMS_SUCCESSFUL if there was not an
* error. Otherwise, a status code is returned indicating the
* source of the error.
*/
rtems_status_code rtems_timer_delete(
rtems_id id
);
/**
* @brief RTEMS Timer Fire After
* @brief RTEMS Timer Fire After
*
* This routine implements the rtems_timer_fire_after directive. It
* initiates the timer associated with ID to fire in ticks clock ticks.
* When the timer fires, the routine will be invoked in the context
* of the rtems_clock_tick directive which is normally invoked as
* part of servicing a periodic interupt.
* This routine implements the rtems_timer_fire_after directive. It
* initiates the timer associated with ID to fire in ticks clock ticks.
* When the timer fires, the routine will be invoked in the context
* of the rtems_clock_tick directive which is normally invoked as
* part of servicing a periodic interupt.
*
* @param[in] id is the timer id
* @param[in] ticks is the interval until routine is fired
* @param[in] routine is the routine to schedule
* @param[in] user_data is the passed as argument to routine when it is fired
* @param[in] id is the timer id
* @param[in] ticks is the interval until routine is fired
* @param[in] routine is the routine to schedule
* @param[in] user_data is the passed as argument to routine when it is fired
*
* @return This method returns RTEMS_SUCCESSFUL if there was not an
* error. Otherwise, a status code is returned indicating the
* source of the error.
* @retval This method returns RTEMS_SUCCESSFUL if there was not an
* error. Otherwise, a status code is returned indicating the
* source of the error.
*/
rtems_status_code rtems_timer_fire_after(
rtems_id id,
@@ -318,22 +321,22 @@ rtems_status_code rtems_timer_fire_after(
);
/**
* @brief RTEMS Timer Server Fire After
* @brief RTEMS Timer Server Fire After
*
* This routine implements the rtems_timer_server_fire_after directive. It
* initiates the timer associated with ID to fire in ticks clock
* ticks. When the timer fires, the routine will be invoked by the
* Timer Server in the context of a task NOT IN THE CONTEXT of the
* clock tick interrupt.
* This routine implements the rtems_timer_server_fire_after directive. It
* initiates the timer associated with ID to fire in ticks clock
* ticks. When the timer fires, the routine will be invoked by the
* Timer Server in the context of a task NOT IN THE CONTEXT of the
* clock tick interrupt.
*
* @param[in] id is the timer id
* @param[in] ticks is the interval until routine is fired
* @param[in] routine is the routine to schedule
* @param[in] user_data is the passed as argument to routine when it is fired
* @param[in] id is the timer id
* @param[in] ticks is the interval until routine is fired
* @param[in] routine is the routine to schedule
* @param[in] user_data is the passed as argument to routine when it is fired
*
* @return This method returns RTEMS_SUCCESSFUL if there was not an
* error. Otherwise, a status code is returned indicating the
* source of the error.
* @retval This method returns RTEMS_SUCCESSFUL if there was not an
* error. Otherwise, a status code is returned indicating the
* source of the error.
*/
rtems_status_code rtems_timer_server_fire_after(
rtems_id id,
@@ -343,22 +346,22 @@ rtems_status_code rtems_timer_server_fire_after(
);
/**
* @brief RTEMS Timer Fire When
* @brief RTEMS Timer Fire When
*
* This routine implements the rtems_timer_fire_when directive. It
* initiates the timer associated with ID to fire at wall_time
* When the timer fires, the routine will be invoked in the context
* of the rtems_clock_tick directive which is normally invoked as
* part of servicing a periodic interupt.
* This routine implements the rtems_timer_fire_when directive. It
* initiates the timer associated with ID to fire at wall_time
* When the timer fires, the routine will be invoked in the context
* of the rtems_clock_tick directive which is normally invoked as
* part of servicing a periodic interupt.
*
* @param[in] id is the timer id
* @param[in] wall_time is the time of day to fire timer
* @param[in] routine is the routine to schedule
* @param[in] user_data is the passed as argument to routine when it is fired
* @param[in] id is the timer id
* @param[in] wall_time is the time of day to fire timer
* @param[in] routine is the routine to schedule
* @param[in] user_data is the passed as argument to routine when it is fired
*
* @return This method returns RTEMS_SUCCESSFUL if there was not an
* error. Otherwise, a status code is returned indicating the
* source of the error.
* @retval This method returns RTEMS_SUCCESSFUL if there was not an
* error. Otherwise, a status code is returned indicating the
* source of the error.
*/
rtems_status_code rtems_timer_fire_when(
rtems_id id,
@@ -435,16 +438,16 @@ typedef struct {
} rtems_timer_information;
/**
* @brief RTEMS Get Timer Information
* @brief RTEMS Get Timer Information
*
* This routine implements the rtems_timer_get_information directive.
* This directive returns information about the timer.
* This routine implements the rtems_timer_get_information directive.
* This directive returns information about the timer.
*
* @param[in] id is the timer id
* @param[in] the_info is the pointer to timer information block
* @param[in] id is the timer id
* @param[in] the_info is the pointer to timer information block
*
* @return RTEMS_SUCCESSFUL if successful or error code if unsuccessful and
* *the_info region information block filled in
* @retval RTEMS_SUCCESSFUL if successful or error code if unsuccessful and
* *the_info region information block filled in
*/
rtems_status_code rtems_timer_get_information(
rtems_id id,

View File

@@ -1,16 +1,21 @@
/**
* @file rtems/rtems/asr.inl
*
* This include file contains the implemenation of all routines
* associated with the asynchronous signal handler which are inlined.
* @defgroup ClassicASR ASR Support
*
* @ingroup ClassicRTEMS
* @brief Asynchronous Signal Handler
*
* This include file contains the implemenation of all routines
* associated with the asynchronous signal handler which are inlined.
*/
/* COPYRIGHT (c) 1989-2008.
* On-Line Applications Research Corporation (OAR).
/* COPYRIGHT (c) 1989-2008.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
*/
#ifndef _RTEMS_RTEMS_ASR_H

View File

@@ -1,17 +1,22 @@
/**
* @file rtems/rtems/barrier.inl
*
* @defgroup ClassicBarrier Barriers
*
* @ingroup ClassicRTEMS
* @brief Inline Implementation from Barrier Manager
*
* This file contains the static inlin implementation of the inlined
* routines from the Barrier Manager.
*/
/*
* COPYRIGHT (c) 1989-2008.
* On-Line Applications Research Corporation (OAR).
* COPYRIGHT (c) 1989-2008.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
*/
#ifndef _RTEMS_RTEMS_BARRIER_H

View File

@@ -1,16 +1,21 @@
/**
* @file rtems/rtems/region.inl
*
* This file contains the macro implementation of the inlined
* routines from the Region Manager.
* @defgroup ClassicRegion
*
* @ingroup ClassicRTEMS
* @brief Macro Implementation from Region Manager
*
* This file contains the macro implementation of the inlined
* routines from the Region Manager.
*/
/* COPYRIGHT (c) 1989-2008.
* On-Line Applications Research Corporation (OAR).
/* COPYRIGHT (c) 1989-2008.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
*/
#ifndef _RTEMS_RTEMS_REGION_H

View File

@@ -1,17 +1,22 @@
/**
* @file rtems/rtems/timer.inl
*
* @defgroup ClassicTimer Timers
*
* @ingroup ClassicRTEMS
* @brief Inline Implementation from Timer Manager
*
* This file contains the static inline implementation of the inlined routines
* from the Timer Manager.
*/
/*
* COPYRIGHT (c) 1989-2011.
* On-Line Applications Research Corporation (OAR).
* COPYRIGHT (c) 1989-2011.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
*/
#ifndef _RTEMS_RTEMS_TIMER_H