summaryrefslogtreecommitdiffstats
path: root/cpukit/rtems/include/rtems
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2008-04-18 15:02:20 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2008-04-18 15:02:20 +0000
commit067a96ad0c3b0818d71d9aaadaee4b520d940de1 (patch)
treed04eed432a0534ebfb0830d6f7e49ce78ff098a4 /cpukit/rtems/include/rtems
parent2008-04-18 Joel Sherrill <joel.sherrill@oarcorp.com> (diff)
downloadrtems-067a96ad0c3b0818d71d9aaadaee4b520d940de1.tar.bz2
2008-04-18 Joel Sherrill <joel.sherrill@oarcorp.com>
* rtems/include/rtems.h, rtems/include/rtems/rtems/asr.h, rtems/include/rtems/rtems/attr.h, rtems/include/rtems/rtems/barrier.h, rtems/include/rtems/rtems/barriermp.h, rtems/include/rtems/rtems/cache.h, rtems/include/rtems/rtems/clock.h, rtems/include/rtems/rtems/config.h, rtems/include/rtems/rtems/dpmem.h, rtems/include/rtems/rtems/event.h, rtems/include/rtems/rtems/eventmp.h, rtems/include/rtems/rtems/eventset.h, rtems/include/rtems/rtems/intr.h, rtems/include/rtems/rtems/message.h, rtems/include/rtems/rtems/modes.h, rtems/include/rtems/rtems/mp.h, rtems/include/rtems/rtems/msgmp.h, rtems/include/rtems/rtems/object.h, rtems/include/rtems/rtems/options.h, rtems/include/rtems/rtems/part.h, rtems/include/rtems/rtems/partmp.h, rtems/include/rtems/rtems/ratemon.h, rtems/include/rtems/rtems/region.h, rtems/include/rtems/rtems/regionmp.h, rtems/include/rtems/rtems/rtemsapi.h, rtems/include/rtems/rtems/sem.h, rtems/include/rtems/rtems/semmp.h, rtems/include/rtems/rtems/signal.h, rtems/include/rtems/rtems/signalmp.h, rtems/include/rtems/rtems/status.h, rtems/include/rtems/rtems/support.h, rtems/include/rtems/rtems/taskmp.h, rtems/include/rtems/rtems/tasks.h, rtems/include/rtems/rtems/timer.h, rtems/include/rtems/rtems/types.h, rtems/inline/rtems/rtems/asr.inl, rtems/inline/rtems/rtems/attr.inl, rtems/inline/rtems/rtems/barrier.inl, rtems/inline/rtems/rtems/dpmem.inl, rtems/inline/rtems/rtems/event.inl, rtems/inline/rtems/rtems/eventset.inl, rtems/inline/rtems/rtems/message.inl, rtems/inline/rtems/rtems/modes.inl, rtems/inline/rtems/rtems/options.inl, rtems/inline/rtems/rtems/part.inl, rtems/inline/rtems/rtems/ratemon.inl, rtems/inline/rtems/rtems/region.inl, rtems/inline/rtems/rtems/sem.inl, rtems/inline/rtems/rtems/status.inl, rtems/inline/rtems/rtems/support.inl, rtems/inline/rtems/rtems/tasks.inl, rtems/inline/rtems/rtems/timer.inl: Initial conversion of Classic API header files to Doxygen. * rtems/Doxyfile: New file.
Diffstat (limited to '')
-rw-r--r--cpukit/rtems/include/rtems.h40
-rw-r--r--cpukit/rtems/include/rtems/rtems/asr.h62
-rw-r--r--cpukit/rtems/include/rtems/rtems/attr.h25
-rw-r--r--cpukit/rtems/include/rtems/rtems/barrier.h33
-rw-r--r--cpukit/rtems/include/rtems/rtems/barriermp.h18
-rw-r--r--cpukit/rtems/include/rtems/rtems/cache.h58
-rw-r--r--cpukit/rtems/include/rtems/rtems/clock.h36
-rw-r--r--cpukit/rtems/include/rtems/rtems/config.h21
-rw-r--r--cpukit/rtems/include/rtems/rtems/dpmem.h76
-rw-r--r--cpukit/rtems/include/rtems/rtems/event.h74
-rw-r--r--cpukit/rtems/include/rtems/rtems/eventmp.h67
-rw-r--r--cpukit/rtems/include/rtems/rtems/eventset.h60
-rw-r--r--cpukit/rtems/include/rtems/rtems/intr.h86
-rw-r--r--cpukit/rtems/include/rtems/rtems/message.h136
-rw-r--r--cpukit/rtems/include/rtems/rtems/modes.h38
-rw-r--r--cpukit/rtems/include/rtems/rtems/mp.h34
-rw-r--r--cpukit/rtems/include/rtems/rtems/msgmp.h73
-rw-r--r--cpukit/rtems/include/rtems/rtems/object.h16
-rw-r--r--cpukit/rtems/include/rtems/rtems/options.h22
-rw-r--r--cpukit/rtems/include/rtems/rtems/part.h76
-rw-r--r--cpukit/rtems/include/rtems/rtems/partmp.h73
-rw-r--r--cpukit/rtems/include/rtems/rtems/ratemon.h137
-rw-r--r--cpukit/rtems/include/rtems/rtems/region.h142
-rw-r--r--cpukit/rtems/include/rtems/rtems/regionmp.h71
-rw-r--r--cpukit/rtems/include/rtems/rtems/rtemsapi.h18
-rw-r--r--cpukit/rtems/include/rtems/rtems/sem.h152
-rw-r--r--cpukit/rtems/include/rtems/rtems/semmp.h96
-rw-r--r--cpukit/rtems/include/rtems/rtems/signal.h44
-rw-r--r--cpukit/rtems/include/rtems/rtems/signalmp.h65
-rw-r--r--cpukit/rtems/include/rtems/rtems/status.h19
-rw-r--r--cpukit/rtems/include/rtems/rtems/support.h37
-rw-r--r--cpukit/rtems/include/rtems/rtems/taskmp.h75
-rw-r--r--cpukit/rtems/include/rtems/rtems/tasks.h285
-rw-r--r--cpukit/rtems/include/rtems/rtems/timer.h174
-rw-r--r--cpukit/rtems/include/rtems/rtems/types.h27
35 files changed, 1134 insertions, 1332 deletions
diff --git a/cpukit/rtems/include/rtems.h b/cpukit/rtems/include/rtems.h
index 249aa1cc04..e4441ec069 100644
--- a/cpukit/rtems/include/rtems.h
+++ b/cpukit/rtems/include/rtems.h
@@ -1,14 +1,13 @@
/**
* @file rtems.h
- */
-
-/*
+ *
* This include file contains information about RTEMS executive that
* is required by the application and is CPU independent. It includes
* two (2) CPU dependent files to tailor its data structures for a
* particular processor.
- *
- * COPYRIGHT (c) 1989-2008.
+ */
+
+/* COPYRIGHT (c) 1989-2008.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
@@ -21,6 +20,13 @@
#ifndef _RTEMS_H
#define _RTEMS_H
+/**
+ * @defgroup ClassicRTEMS Classic API RTEMS Header
+ *
+ * This encapsulates functionality which XXX
+ */
+/**@{*/
+
#ifdef __cplusplus
extern "C" {
#endif
@@ -72,57 +78,53 @@ extern "C" {
#define RTEMS_HAS_HARDWARE_FP CPU_HARDWARE_FP
-/*
+/**
* The following define the constants which may be used in name searches.
*/
-
#define RTEMS_SEARCH_ALL_NODES OBJECTS_SEARCH_ALL_NODES
#define RTEMS_SEARCH_OTHER_NODES OBJECTS_SEARCH_OTHER_NODES
#define RTEMS_SEARCH_LOCAL_NODE OBJECTS_SEARCH_LOCAL_NODE
#define RTEMS_WHO_AM_I OBJECTS_WHO_AM_I
-/*
+/**
* Parameters and return id's for _Objects_Get_next
*/
-
#define RTEMS_OBJECT_ID_INITIAL_INDEX OBJECTS_ID_INITIAL_INDEX
#define RTEMS_OBJECT_ID_FINAL_INDEX OBJECTS_ID_FINAL_INDEX
#define RTEMS_OBJECT_ID_INITIAL(api, class, node) OBJECTS_ID_INITIAL(api, class, node)
#define RTEMS_OBJECT_ID_FINAL OBJECTS_ID_FINAL
-/*
+/**
* The following constant defines the minimum stack size which every
* thread must exceed.
*/
-
#define RTEMS_MINIMUM_STACK_SIZE STACK_MINIMUM_SIZE
-/*
+/**
* Constant for indefinite wait. (actually an illegal interval)
*/
-
#define RTEMS_NO_TIMEOUT WATCHDOG_NO_TIMEOUT
-/*
+/**
* An MPCI must support packets of at least this size.
*/
-
#define RTEMS_MINIMUM_PACKET_SIZE MP_PACKET_MINIMUM_PACKET_SIZE
-/*
- * The following constant defines the number of uint32_t 's
+/**
+ * The following constant defines the number of uint32_t's
* in a packet which must be converted to native format in a
* heterogeneous system. In packets longer than
- * MP_PACKET_MINIMUN_HETERO_CONVERSION uint32_t 's, some of the "extra" data
+ * MP_PACKET_MINIMUN_HETERO_CONVERSION uint32_t's, some of the "extra" data
* may a user message buffer which is not automatically endian swapped.
*/
-
#define RTEMS_MINIMUN_HETERO_CONVERSION MP_PACKET_MINIMUN_HETERO_CONVERSION
#ifdef __cplusplus
}
#endif
+/**@}*/
+
#endif
/* end of include file */
diff --git a/cpukit/rtems/include/rtems/rtems/asr.h b/cpukit/rtems/include/rtems/rtems/asr.h
index 6fb7f3db91..4fcade6d28 100644
--- a/cpukit/rtems/include/rtems/rtems/asr.h
+++ b/cpukit/rtems/include/rtems/rtems/asr.h
@@ -1,13 +1,12 @@
/**
* @file rtems/rtems/asr.h
- */
-
-/*
+ *
* 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-1999.
+ */
+
+/* COPYRIGHT (c) 1989-1999.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
@@ -26,35 +25,36 @@ extern "C" {
#include <rtems/rtems/modes.h>
-/*
+/**
+ * @defgroup ClassicASR Classic API ASR Support
*
+ * This encapsulates functionality which XXX
+ */
+/**@{*/
+
+/**
* The following type defines the control block used to manage
* each signal set.
*/
-
typedef uint32_t rtems_signal_set;
-/*
+/**
* Return type for ASR Handler
*/
-
typedef void rtems_asr;
-/*
+/**
* The following type corresponds to the applications asynchronous
* signal processing routine.
*/
-
typedef rtems_asr ( *rtems_asr_entry )(
rtems_signal_set
);
-/*
- *
+/**
* The following defines the control structure used to manage
* signals. Each thread has a copy of this record.
*/
-
typedef struct {
boolean is_enabled; /* are ASRs enabled currently? */
rtems_asr_entry handler; /* address of RTEMS_ASR */
@@ -69,37 +69,69 @@ typedef struct {
* be used to compose a signal set.
*/
+/** This defines the bit in the signal set associated with signal 0. */
#define RTEMS_SIGNAL_0 0x00000001
+/** This defines the bit in the signal set associated with signal 1. */
#define RTEMS_SIGNAL_1 0x00000002
+/** This defines the bit in the signal set associated with signal 2. */
#define RTEMS_SIGNAL_2 0x00000004
+/** This defines the bit in the signal set associated with signal 3. */
#define RTEMS_SIGNAL_3 0x00000008
+/** This defines the bit in the signal set associated with signal 4. */
#define RTEMS_SIGNAL_4 0x00000010
+/** This defines the bit in the signal set associated with signal 5. */
#define RTEMS_SIGNAL_5 0x00000020
+/** This defines the bit in the signal set associated with signal 6. */
#define RTEMS_SIGNAL_6 0x00000040
+/** This defines the bit in the signal set associated with signal 7. */
#define RTEMS_SIGNAL_7 0x00000080
+/** This defines the bit in the signal set associated with signal 8. */
#define RTEMS_SIGNAL_8 0x00000100
+/** This defines the bit in the signal set associated with signal 9. */
#define RTEMS_SIGNAL_9 0x00000200
+/** This defines the bit in the signal set associated with signal 10. */
#define RTEMS_SIGNAL_10 0x00000400
+/** This defines the bit in the signal set associated with signal 11. */
#define RTEMS_SIGNAL_11 0x00000800
+/** This defines the bit in the signal set associated with signal 12. */
#define RTEMS_SIGNAL_12 0x00001000
+/** This defines the bit in the signal set associated with signal 13. */
#define RTEMS_SIGNAL_13 0x00002000
+/** This defines the bit in the signal set associated with signal 14. */
#define RTEMS_SIGNAL_14 0x00004000
+/** This defines the bit in the signal set associated with signal 15. */
#define RTEMS_SIGNAL_15 0x00008000
+/** This defines the bit in the signal set associated with signal 16. */
#define RTEMS_SIGNAL_16 0x00010000
+/** This defines the bit in the signal set associated with signal 17. */
#define RTEMS_SIGNAL_17 0x00020000
+/** This defines the bit in the signal set associated with signal 18. */
#define RTEMS_SIGNAL_18 0x00040000
+/** This defines the bit in the signal set associated with signal 19. */
#define RTEMS_SIGNAL_19 0x00080000
+/** This defines the bit in the signal set associated with signal 20. */
#define RTEMS_SIGNAL_20 0x00100000
+/** This defines the bit in the signal set associated with signal 21. */
#define RTEMS_SIGNAL_21 0x00200000
+/** This defines the bit in the signal set associated with signal 22. */
#define RTEMS_SIGNAL_22 0x00400000
+/** This defines the bit in the signal set associated with signal 23. */
#define RTEMS_SIGNAL_23 0x00800000
+/** This defines the bit in the signal set associated with signal 24. */
#define RTEMS_SIGNAL_24 0x01000000
+/** This defines the bit in the signal set associated with signal 25. */
#define RTEMS_SIGNAL_25 0x02000000
+/** This defines the bit in the signal set associated with signal 26. */
#define RTEMS_SIGNAL_26 0x04000000
+/** This defines the bit in the signal set associated with signal 27. */
#define RTEMS_SIGNAL_27 0x08000000
+/** This defines the bit in the signal set associated with signal 28. */
#define RTEMS_SIGNAL_28 0x10000000
+/** This defines the bit in the signal set associated with signal 29. */
#define RTEMS_SIGNAL_29 0x20000000
+/** This defines the bit in the signal set associated with signal 30. */
#define RTEMS_SIGNAL_30 0x40000000
+/** This defines the bit in the signal set associated with signal 31. */
#define RTEMS_SIGNAL_31 0x80000000
#ifndef __RTEMS_APPLICATION__
@@ -110,5 +142,7 @@ typedef struct {
}
#endif
+/**@}*/
+
#endif
/* end of include file */
diff --git a/cpukit/rtems/include/rtems/rtems/attr.h b/cpukit/rtems/include/rtems/rtems/attr.h
index f37e8caa33..8c1bf99b2d 100644
--- a/cpukit/rtems/include/rtems/rtems/attr.h
+++ b/cpukit/rtems/include/rtems/rtems/attr.h
@@ -1,12 +1,11 @@
/**
* @file rtems/rtems/attr.h
- */
-
-/*
+ *
* This include file contains all information about the Object Attributes
* Handler.
- *
- * COPYRIGHT (c) 1989-1999.
+ */
+
+/* COPYRIGHT (c) 1989-1999.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
@@ -23,6 +22,13 @@
extern "C" {
#endif
+/**
+ * @defgroup ClassicAttributes Classic API Attributes
+ *
+ * This encapsulates functionality which XXX
+ */
+/**@{*/
+
/* types */
typedef uint32_t rtems_attribute;
@@ -74,17 +80,14 @@ typedef uint32_t rtems_attribute;
#define ATTRIBUTES_REQUIRED 0
#endif
-/*
- * _Attributes_Handler_initialization
- *
- * DESCRIPTION:
+/**
+ * @brief _Attributes_Handler_initialization
*
* This routine performs initialization for this handler.
*
* NOTE: There is no initialization required in C. Conditional compilation
* takes care of this in C.
*/
-
#define _Attributes_Handler_initialization()
#ifndef __RTEMS_APPLICATION__
@@ -95,5 +98,7 @@ typedef uint32_t rtems_attribute;
}
#endif
+/**@}*/
+
#endif
/* end of include file */
diff --git a/cpukit/rtems/include/rtems/rtems/barrier.h b/cpukit/rtems/include/rtems/rtems/barrier.h
index 4d0a57398e..95264aba31 100644
--- a/cpukit/rtems/include/rtems/rtems/barrier.h
+++ b/cpukit/rtems/include/rtems/rtems/barrier.h
@@ -1,20 +1,19 @@
/**
* @file rtems/rtems/barrier.h
- */
-
-/*
+ *
* This include file contains all the constants and structures associated
* with the Barrier Manager.
*
* 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-2007.
+ * - create a barrier
+ * - get an ID of a barrier
+ * - delete a barrier
+ * - wait for a barrier
+ * - signal a barrier
+ */
+
+/* COPYRIGHT (c) 1989-2007.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
@@ -27,6 +26,13 @@
#ifndef _RTEMS_RTEMS_BARRIER_H
#define _RTEMS_RTEMS_BARRIER_H
+/**
+ * @defgroup ClassicBarrier Classic API Barrier
+ *
+ * This encapsulates functionality which XXX
+ */
+/**@{*/
+
#ifndef RTEMS_BARRIER_EXTERN
#define RTEMS_BARRIER_EXTERN extern
#endif
@@ -45,7 +51,6 @@ extern "C" {
/**
* This type defines the control block used to manage each barrier.
*/
-
typedef struct {
/** This is used to manage a barrier as an object. */
Objects_Control Object;
@@ -59,7 +64,6 @@ typedef struct {
* The following defines the information control block used to manage
* this class of objects.
*/
-
RTEMS_BARRIER_EXTERN Objects_Information _Barrier_Information;
/**
@@ -70,7 +74,6 @@ RTEMS_BARRIER_EXTERN Objects_Information _Barrier_Information;
* @param[in] maximum_barriers is the total number of barriers allowed to
* concurrently be active in the system.
*/
-
void _Barrier_Manager_initialization(
uint32_t maximum_barriers
);
@@ -92,7 +95,6 @@ void _Barrier_Manager_initialization(
*
* @return a status code indicating success or the reason for failure.
*/
-
rtems_status_code rtems_barrier_create(
rtems_name name,
rtems_attribute attribute_set,
@@ -116,7 +118,6 @@ rtems_status_code rtems_barrier_create(
*
* @return a status code indicating success or the reason for failure.
*/
-
rtems_status_code rtems_barrier_ident(
rtems_name name,
rtems_id *id
@@ -195,5 +196,7 @@ rtems_status_code _Barrier_Translate_core_barrier_return_code (
}
#endif
+/**@}*/
+
#endif
/* end of include file */
diff --git a/cpukit/rtems/include/rtems/rtems/barriermp.h b/cpukit/rtems/include/rtems/rtems/barriermp.h
index c09b1fc6ff..c26b65339e 100644
--- a/cpukit/rtems/include/rtems/rtems/barriermp.h
+++ b/cpukit/rtems/include/rtems/rtems/barriermp.h
@@ -1,12 +1,11 @@
/**
* @file rtems/rtems/barriermp.h
- */
-
-/*
+ *
* This include file contains all the constants and structures associated
* with the Multiprocessing Support in the Barrier Manager.
- *
- * COPYRIGHT (c) 1989-2006.
+ */
+
+/* COPYRIGHT (c) 1989-2006.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
@@ -19,6 +18,13 @@
#ifndef _RTEMS_RTEMS_SEMMP_H
#define _RTEMS_RTEMS_SEMMP_H
+/**
+ * @defgroup ClassicBarrierMP Classic API Barrier MP Support
+ *
+ * This encapsulates functionality which XXX
+ */
+/**{*/
+
#ifdef __cplusplus
extern "C" {
#endif
@@ -137,5 +143,7 @@ Barrier_MP_Packet *_Barrier_MP_Get_packet ( void );
}
#endif
+/**@}*/
+
#endif
/* end of file */
diff --git a/cpukit/rtems/include/rtems/rtems/cache.h b/cpukit/rtems/include/rtems/rtems/cache.h
index 17645346c3..c90b240f2b 100644
--- a/cpukit/rtems/include/rtems/rtems/cache.h
+++ b/cpukit/rtems/include/rtems/rtems/cache.h
@@ -1,11 +1,10 @@
/**
* @file rtems/rtems/cache.h
+ *
+ * Cache Manager
*/
-/*
- * Cache Manager
- *
- * COPYRIGHT (c) 1989-1999.
+/* COPYRIGHT (c) 1989-1999.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
@@ -38,97 +37,112 @@ extern "C" {
#include <rtems/system.h>
#include <sys/types.h>
+/**
+ * @defgroup ClassicCache Classic API Cache
+ *
+ * This encapsulates functionality which XXX
+ */
+/**@{*/
+
/*
* These functions will ONLY do something if the
* libcpu support includes data cache routines AND
* the CPU model supports data caching.
*/
-/*
+/**
* This function is called to flush the data cache by performing cache
* copybacks. It must determine how many cache lines need to be copied
* back and then perform the copybacks.
*/
void rtems_cache_flush_multiple_data_lines( const void *, size_t );
-/*
+/**
* This function is responsible for performing a data cache invalidate.
* It must determine how many cache lines need to be invalidated and then
* perform the invalidations.
*/
void rtems_cache_invalidate_multiple_data_lines( const void *, size_t );
-/*
+/**
* This function is responsible for performing a data cache flush.
* It flushes the entire cache.
*/
void rtems_cache_flush_entire_data( void );
-/*
+/**
* This function is responsible for performing a data cache
* invalidate. It invalidates the entire cache.
*/
void rtems_cache_invalidate_entire_data( void );
-/*
+/**
* This function returns the data cache granularity.
*/
int rtems_cache_get_data_line_size( void );
-/*
+/**
* This function freezes the data cache.
*/
void rtems_cache_freeze_data( void );
-/*
+/**
* This function unfreezes the data cache.
*/
void rtems_cache_unfreeze_data( void );
-/*
- * These functions enable/disable the data cache.
+/**
+ * This function enables the data cache.
*/
void rtems_cache_enable_data( void );
+
+/**
+ * This function disables the data cache.
+ */
void rtems_cache_disable_data( void );
-/*
+/**
* These functions will ONLY do something if the
* libcpu support includes instruction cache routines AND
* the CPU model supports instruction caching.
*/
-/*
+/**
* This function is responsible for performing an instruction cache
* invalidate. It must determine how many cache lines need to be invalidated
* and then perform the invalidations.
*/
void rtems_cache_invalidate_multiple_instruction_lines( const void *, size_t );
-/*
+/**
* This function is responsible for performing an instruction cache
* invalidate. It invalidates the entire cache.
*/
void rtems_cache_invalidate_entire_instruction( void );
-/*
+/**
* This function returns the instruction cache granularity.
*/
int rtems_cache_get_instruction_line_size( void );
-/*
+/**
* This function freezes the instruction cache.
*/
void rtems_cache_freeze_instruction( void );
-/*
+/**
* This function unfreezes the instruction cache.
*/
void rtems_cache_unfreeze_instruction( void );
-/*
- * These functions enable/disable the instruction cache.
+/**
+ * This function enables the instruction cache.
*/
void rtems_cache_enable_instruction( void );
+
+/**
+ * This function disables the instruction cache.
+ */
void rtems_cache_disable_instruction( void );
@@ -136,5 +150,7 @@ void rtems_cache_disable_instruction( void );
}
#endif
+/**@}*/
+
#endif
/* end of include file */
diff --git a/cpukit/rtems/include/rtems/rtems/clock.h b/cpukit/rtems/include/rtems/rtems/clock.h
index d467f353fd..a6fc6bbb6a 100644
--- a/cpukit/rtems/include/rtems/rtems/clock.h
+++ b/cpukit/rtems/include/rtems/rtems/clock.h
@@ -1,21 +1,20 @@
/**
* @file rtems/rtems/clock.h
- */
-
-/*
+ *
* 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.
*
* 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.
+ * - 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).
*
* The license and distribution terms for this file may be
@@ -28,16 +27,23 @@
#ifndef _RTEMS_RTEMS_CLOCK_H
#define _RTEMS_RTEMS_CLOCK_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <rtems/score/tod.h>
#include <rtems/score/watchdog.h>
#include <rtems/rtems/status.h>
#include <rtems/rtems/types.h>
/**
+ * @defgroup ClassicClock Classic API Clock
+ *
+ * This encapsulates functionality which XXX
+ */
+/**@{*/
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
* List of things which can be returned by the rtems_clock_get directive.
*/
typedef enum {
@@ -259,5 +265,7 @@ Watchdog_Interval _TOD_To_seconds(
}
#endif
+/**@}*/
+
#endif
/* end of include file */
diff --git a/cpukit/rtems/include/rtems/rtems/config.h b/cpukit/rtems/include/rtems/rtems/config.h
index 3cc64cfe97..c12c72b2a1 100644
--- a/cpukit/rtems/include/rtems/rtems/config.h
+++ b/cpukit/rtems/include/rtems/rtems/config.h
@@ -1,12 +1,11 @@
/**
* @file rtems/rtems/config.h
- */
-
-/*
+ *
* This include file contains the table of user defined configuration
* parameters specific for the RTEMS API.
- *
- * COPYRIGHT (c) 1989-2006.
+ */
+
+/* COPYRIGHT (c) 1989-2006.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
@@ -26,7 +25,14 @@ extern "C" {
#include <rtems/rtems/types.h>
#include <rtems/rtems/tasks.h>
-/*
+/**
+ * @defgroup ClassicConfig Classic API Configuration
+ *
+ * This encapsulates functionality which XXX
+ */
+/**@{*/
+
+/**
* The following records define the Configuration Table. The
* information contained in this table is required in all
* RTEMS systems, whether single or multiprocessor. This
@@ -34,7 +40,6 @@ extern "C" {
*
* + required number of each object type
*/
-
typedef struct {
uint32_t maximum_tasks;
uint32_t maximum_timers;
@@ -53,5 +58,7 @@ typedef struct {
}
#endif
+/**@}*/
+
#endif
/* end of include file */
diff --git a/cpukit/rtems/include/rtems/rtems/dpmem.h b/cpukit/rtems/include/rtems/rtems/dpmem.h
index 37fbc2f445..d14cef2c98 100644
--- a/cpukit/rtems/include/rtems/rtems/dpmem.h
+++ b/cpukit/rtems/include/rtems/rtems/dpmem.h
@@ -1,8 +1,6 @@
/**
* @file rtems/rtems/dpmem.h
- */
-
-/*
+ *
* 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
@@ -10,14 +8,15 @@
*
* Directives provided are:
*
- * + create a port
- * + get ID of a port
- * + delete a port
- * + convert external to internal address
- * + convert internal to external address
+ * - create a port
+ * - get ID of a port
+ * - delete a port
+ * - convert external to internal address
+ * - convert internal to external address
*
- *
- * COPYRIGHT (c) 1989-2007.
+ */
+
+/* COPYRIGHT (c) 1989-2007.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
@@ -42,12 +41,18 @@ extern "C" {
#include <rtems/rtems/support.h>
#include <rtems/rtems/status.h>
-/*
+/**
+ * @defgroup ClassicDPMEM Classic API Dual Ported Memory
+ *
+ * This encapsulates functionality which XXX
+ */
+/**@{*/
+
+/**
* The following structure defines the port control block. Each port
* has a control block associated with it. This control block contains
* all information required to support the port related operations.
*/
-
typedef struct {
Objects_Control Object;
void *internal_base; /* base internal address */
@@ -55,28 +60,22 @@ typedef struct {
uint32_t length; /* length of dual-ported area */
} Dual_ported_memory_Control;
-/*
+/**
* The following define the internal Dual Ported Memory information.
*/
-
RTEMS_DPMEM_EXTERN Objects_Information _Dual_ported_memory_Information;
-/*
- * _Dual_ported_memory_Manager_initialization
- *
- * DESCRIPTION:
+/**
+ * @brief _Dual_ported_memory_Manager_initialization
*
* This routine performs the initialization necessary for this manager.
*/
-
void _Dual_ported_memory_Manager_initialization(
uint32_t maximum_ports
);
-/*
- * rtems_port_create
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_port_create
*
* This routine implements the rtems_port_create directive. The port
* will have the name name. The port maps onto an area of dual ported
@@ -84,7 +83,6 @@ void _Dual_ported_memory_Manager_initialization(
* as the internal and external starting addresses, respectively.
* It returns the id of the created port in ID.
*/
-
rtems_status_code rtems_port_create(
rtems_name name,
void *internal_start,
@@ -93,60 +91,48 @@ rtems_status_code rtems_port_create(
Objects_Id *id
);
-/*
- * rtems_port_ident
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_port_ident
*
* This routine implements the rtems_port_ident directive. This directive
* 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.
*/
-
rtems_status_code rtems_port_ident(
rtems_name name,
Objects_Id *id
);
-/*
- * rtems_port_delete
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_port_delete
*
* This routine implements the rtems_port_delete directive. It deletes
* the port associated with ID.
*/
-
rtems_status_code rtems_port_delete(
Objects_Id id
);
-/*
- * rtems_port_external_to_internal
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_port_external_to_internal
*
* This routine implements the rtems_port_external_to_internal directive.
* It returns the internal port address which maps to the provided
* external port address for the specified port ID.
*/
-
rtems_status_code rtems_port_external_to_internal(
Objects_Id id,
void *external,
void **internal
);
-/*
- * rtems_port_internal_to_external
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_port_internal_to_external
*
* This routine implements the Port_internal_to_external directive.
* It returns the external port address which maps to the provided
* internal port address for the specified port ID.
*/
-
rtems_status_code rtems_port_internal_to_external(
Objects_Id id,
void *internal,
@@ -161,5 +147,7 @@ rtems_status_code rtems_port_internal_to_external(
}
#endif
+/**@}*/
+
#endif
/* end of include file */
diff --git a/cpukit/rtems/include/rtems/rtems/event.h b/cpukit/rtems/include/rtems/rtems/event.h
index 68687af31e..584c76eb8c 100644
--- a/cpukit/rtems/include/rtems/rtems/event.h
+++ b/cpukit/rtems/include/rtems/rtems/event.h
@@ -1,19 +1,18 @@
/**
* @file rtems/rtems/event.h
- */
-
-/*
+ *
* This include file contains the information pertaining to the Event
* Manager. This manager provides a high performance method of communication
* and synchronization.
*
* Directives provided are:
*
- * + send an event set to a task
- * + receive event condition
+ * - send an event set to a task
+ * - receive event condition
*
- *
- * COPYRIGHT (c) 1989-2008.
+ */
+
+/* COPYRIGHT (c) 1989-2008.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
@@ -43,43 +42,41 @@ extern "C" {
#include <rtems/score/watchdog.h>
#include <rtems/rtems/eventset.h>
-/*
+/**
+ * @defgroup ClassicEvent Classic API Event
+ *
+ * This encapsulates functionality which XXX
+ */
+/**@{*/
+
+/**
* This constant is passed as the event_in to the
* rtems_event_receive directive to determine which events are pending.
*/
-
#define EVENT_CURRENT 0
-/*
- * Event_Manager_initialization
- *
- * DESCRIPTION:
+/**
+ * @brief Event_Manager_initialization
*
* This routine performs the initialization necessary for this manager.
*/
-
void _Event_Manager_initialization( void );
-/*
- * rtems_event_send
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_event_send
*
* This routine implements the rtems_event_send directive. It sends
* event_in to the task specified by ID. If the task is blocked
* waiting to receive events and the posting of event_in satisfies
* the task's event condition, then it is unblocked.
*/
-
rtems_status_code rtems_event_send (
Objects_Id id,
rtems_event_set event_in
);
-/*
- * rtems_event_receive
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_event_receive
*
* This routine implements the rtems_event_receive directive. This
* directive is invoked when the calling task wishes to receive
@@ -92,7 +89,6 @@ rtems_status_code rtems_event_send (
* parameter. This directive returns the events received in the
* event_out parameter.
*/
-
rtems_status_code rtems_event_receive (
rtems_event_set event_in,
rtems_option option_set,
@@ -100,10 +96,8 @@ rtems_status_code rtems_event_receive (
rtems_event_set *event_out
);
-/*
- * _Event_Seize
- *
- * DESCRIPTION:
+/**
+ * @brief Event_Seize
*
* This routine determines if the event condition event_in is
* satisfied. If so or if the no_wait option is enabled in option_set,
@@ -111,7 +105,6 @@ rtems_status_code rtems_event_receive (
* conditions is true, then the calling task is blocked with an
* optional timeout of ticks clock ticks.
*/
-
void _Event_Seize (
rtems_event_set event_in,
rtems_option option_set,
@@ -119,23 +112,18 @@ void _Event_Seize (
rtems_event_set *event_out
);
-/*
- * _Event_Surrender
- *
- * DESCRIPTION:
+/**
+ * @brief Event_Surrender
*
* This routine determines if the event condition of the_thread
* has been satisfied. If so, it unblocks the_thread.
*/
-
void _Event_Surrender (
Thread_Control *the_thread
);
-/*
- * _Event_Timeout
- *
- * DESCRIPTION:
+/**
+ * @brief Event_Timeout
*
* This routine is invoked when a task's event receive request
* has not been satisfied after the specified timeout interval.
@@ -143,18 +131,14 @@ void _Event_Surrender (
* code will be set in it's control block to indicate that a timeout
* has occurred.
*/
-
void _Event_Timeout (
Objects_Id id,
void *ignored
);
-/*
- * The following defines the synchronization flag used by the
- * Event Manager to insure that signals sent to the currently
- * executing thread are received properly.
+/**
+ * @brief he following defines the synchronization flag used by the
*/
-
RTEMS_EVENT_EXTERN volatile Thread_blocking_operation_States _Event_Sync_state;
#if defined(RTEMS_MULTIPROCESSING)
@@ -168,5 +152,7 @@ RTEMS_EVENT_EXTERN volatile Thread_blocking_operation_States _Event_Sync_state;
}
#endif
+/**@}*/
+
#endif
/* end of include file */
diff --git a/cpukit/rtems/include/rtems/rtems/eventmp.h b/cpukit/rtems/include/rtems/rtems/eventmp.h
index e3b149b7d6..2ebed71b3f 100644
--- a/cpukit/rtems/include/rtems/rtems/eventmp.h
+++ b/cpukit/rtems/include/rtems/rtems/eventmp.h
@@ -1,12 +1,11 @@
/**
* @file rtems/rtems/eventmp.h
- */
-
-/*
+ *
* This include file contains all the constants and structures associated
* with the Multiprocessing Support in the Event Manager.
- *
- * COPYRIGHT (c) 1989-1999.
+ */
+
+/* COPYRIGHT (c) 1989-1999.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
@@ -29,21 +28,26 @@ extern "C" {
#include <rtems/score/thread.h>
#include <rtems/score/watchdog.h>
-/*
+/**
+ * @defgroup ClassicEventMP Classic API Event MP Support
+ *
+ * This encapsulates functionality which XXX
+ */
+/**@{*/
+
+/**
* The following enumerated type defines the list of
* remote event operations.
*/
-
typedef enum {
EVENT_MP_SEND_REQUEST = 0,
EVENT_MP_SEND_RESPONSE = 1
} Event_MP_Remote_operations;
-/*
+/**
* The following data structure defines the packet used to perform
* remote event operations.
*/
-
typedef struct {
rtems_packet_prefix Prefix;
Event_MP_Remote_operations operation;
@@ -51,64 +55,50 @@ typedef struct {
} Event_MP_Packet;
/*
- * _Event_MP_Send_process_packet
- *
- * DESCRIPTION:
+ * @brief Event_MP_Send_process_packet
*
* This routine performs a remote procedure call so that a
* process operation can be performed on another node.
*
- * This routine is not needed since there are no process
+ * @note This routine is not needed since there are no process
* packets to be sent by this manager.
*/
-/*
- * _Event_MP_Send_request_packet
- *
- * DESCRIPTION:
+/**
+ * @brief Event_MP_Send_request_packet
*
* This routine performs a remote procedure call so that a
* directive operation can be initiated on another node.
*/
-
rtems_status_code _Event_MP_Send_request_packet (
Event_MP_Remote_operations operation,
Objects_Id event_id,
rtems_event_set event_in
);
-/*
- * _Event_MP_Send_response_packet
- *
- * DESCRIPTION:
+/**
+ * @brief Event_MP_Send_response_packet
*
* This routine performs a remote procedure call so that a
* directive can be performed on another node.
*/
-
void _Event_MP_Send_response_packet (
Event_MP_Remote_operations operation,
Thread_Control *the_thread
);
-/*
- *
- * _Event_MP_Process_packet
- *
- * DESCRIPTION:
+/**
+ * @brief Event_MP_Process_packet
*
* This routine performs the actions specific to this package for
* the request from another node.
*/
-
void _Event_MP_Process_packet (
rtems_packet_prefix *the_packet_prefix
);
/*
- * _Event_MP_Send_object_was_deleted
- *
- * DESCRIPTION:
+ * @brief Event_MP_Send_object_was_deleted
*
* This routine is invoked indirectly by the thread queue
* when a proxy has been removed from the thread queue and
@@ -119,9 +109,7 @@ void _Event_MP_Process_packet (
*/
/*
- * _Event_MP_Send_extract_proxy
- *
- * DESCRIPTION:
+ * @brief Event_MP_Send_extract_proxy
*
* This routine is invoked when a task is deleted and it
* has a proxy which must be removed from a thread queue and
@@ -131,19 +119,18 @@ void _Event_MP_Process_packet (
* deleted by this manager.
*/
-/*
- * _Event_MP_Get_packet
- *
- * DESCRIPTION:
+/**
+ * @brief Event_MP_Get_packet
*
* This function is used to obtain a event mp packet.
*/
-
Event_MP_Packet *_Event_MP_Get_packet ( void );
#ifdef __cplusplus
}
#endif
+/**@}*/
+
#endif
/* end of file */
diff --git a/cpukit/rtems/include/rtems/rtems/eventset.h b/cpukit/rtems/include/rtems/rtems/eventset.h
index 77fbabf763..6458cb92c4 100644
--- a/cpukit/rtems/include/rtems/rtems/eventset.h
+++ b/cpukit/rtems/include/rtems/rtems/eventset.h
@@ -1,13 +1,12 @@
/**
* @file rtems/rtems/eventset.h
- */
-
-/*
+ *
* 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-1999.
+ */
+
+/* COPYRIGHT (c) 1989-1999.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
@@ -20,63 +19,98 @@
#ifndef _RTEMS_RTEMS_EVENTSET_H
#define _RTEMS_RTEMS_EVENTSET_H
+/**
+ * @defgroup ClassicEventSet Classic API Event Set
+ *
+ * This encapsulates functionality which XXX
+ */
+/**@{*/
+
#ifdef __cplusplus
extern "C" {
#endif
-/*
+/**
* The following defines the type used to control event sets.
*/
-
typedef uint32_t rtems_event_set;
-/*
+/**
* The following constants define the individual events which may
* be used to compose an event set.
*/
-
#define RTEMS_PENDING_EVENTS 0 /* receive pending events */
#define RTEMS_ALL_EVENTS 0xFFFFFFFF
+/** This defines the bit in the event set associated with event 0. */
#define RTEMS_EVENT_0 0x00000001
+/** This defines the bit in the event set associated with event 1. */
#define RTEMS_EVENT_1 0x00000002
+/** This defines the bit in the event set associated with event 2. */
#define RTEMS_EVENT_2 0x00000004
+/** This defines the bit in the event set associated with event 3. */
#define RTEMS_EVENT_3 0x00000008
+/** This defines the bit in the event set associated with event 4. */
#define RTEMS_EVENT_4 0x00000010
+/** This defines the bit in the event set associated with event 5. */
#define RTEMS_EVENT_5 0x00000020
+/** This defines the bit in the event set associated with event 6. */
#define RTEMS_EVENT_6 0x00000040
+/** This defines the bit in the event set associated with event 7. */
#define RTEMS_EVENT_7 0x00000080
+/** This defines the bit in the event set associated with event 8. */
#define RTEMS_EVENT_8 0x00000100
+/** This defines the bit in the event set associated with event 9. */
#define RTEMS_EVENT_9 0x00000200
+/** This defines the bit in the event set associated with event 10. */
#define RTEMS_EVENT_10 0x00000400
+/** This defines the bit in the event set associated with event 11. */
#define RTEMS_EVENT_11 0x00000800
+/** This defines the bit in the event set associated with event 12. */
#define RTEMS_EVENT_12 0x00001000
+/** This defines the bit in the event set associated with event 13. */
#define RTEMS_EVENT_13 0x00002000
+/** This defines the bit in the event set associated with event 14. */
#define RTEMS_EVENT_14 0x00004000
+/** This defines the bit in the event set associated with event 15. */
#define RTEMS_EVENT_15 0x00008000
+/** This defines the bit in the event set associated with event 16. */
#define RTEMS_EVENT_16 0x00010000
+/** This defines the bit in the event set associated with event 17. */
#define RTEMS_EVENT_17 0x00020000
+/** This defines the bit in the event set associated with event 18. */
#define RTEMS_EVENT_18 0x00040000
+/** This defines the bit in the event set associated with event 19. */
#define RTEMS_EVENT_19 0x00080000
+/** This defines the bit in the event set associated with event 20. */
#define RTEMS_EVENT_20 0x00100000
+/** This defines the bit in the event set associated with event 21. */
#define RTEMS_EVENT_21 0x00200000
+/** This defines the bit in the event set associated with event 22. */
#define RTEMS_EVENT_22 0x00400000
+/** This defines the bit in the event set associated with event 23. */
#define RTEMS_EVENT_23 0x00800000
+/** This defines the bit in the event set associated with event 24. */
#define RTEMS_EVENT_24 0x01000000
+/** This defines the bit in the event set associated with event 25. */
#define RTEMS_EVENT_25 0x02000000
+/** This defines the bit in the event set associated with event 26. */
#define RTEMS_EVENT_26 0x04000000
+/** This defines the bit in the event set associated with event 27. */
#define RTEMS_EVENT_27 0x08000000
+/** This defines the bit in the event set associated with event 29. */
#define RTEMS_EVENT_28 0x10000000
+/** This defines the bit in the event set associated with event 29. */
#define RTEMS_EVENT_29 0x20000000
+/** This defines the bit in the event set associated with event 30. */
#define RTEMS_EVENT_30 0x40000000
+/** This defines the bit in the event set associated with event 31. */
#define RTEMS_EVENT_31 0x80000000
-
-/*
+/**
* The following constant is the value of an event set which
* has no events pending.
*/
-
#define EVENT_SETS_NONE_PENDING 0
#ifndef __RTEMS_APPLICATION__
@@ -87,5 +121,7 @@ typedef uint32_t rtems_event_set;
}
#endif
+/**@}*/
+
#endif
/* end of include file */
diff --git a/cpukit/rtems/include/rtems/rtems/intr.h b/cpukit/rtems/include/rtems/rtems/intr.h
index 281cf8e57b..500040693c 100644
--- a/cpukit/rtems/include/rtems/rtems/intr.h
+++ b/cpukit/rtems/include/rtems/rtems/intr.h
@@ -1,12 +1,11 @@
/**
* @file rtems/rtems/intr.h
- */
-
-/*
+ *
* This include file contains all the constants and structures associated
* with the Interrupt Manager.
- *
- * COPYRIGHT (c) 1989-1999.
+ */
+
+/* COPYRIGHT (c) 1989-1999.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
@@ -25,138 +24,119 @@ extern "C" {
#include <rtems/score/isr.h>
-/*
- * Interrupt level type
+/**
+ * @defgroup ClassicINTR Classic API Interrupt
+ *
+ * This encapsulates functionality which XXX
*/
+/**@{*/
+/**
+ * Interrupt level type
+ */
typedef ISR_Level rtems_interrupt_level;
-/*
+/**
* The following type defines the control block used to manage
* the vectors.
*/
-
typedef ISR_Vector_number rtems_vector_number;
-/*
+/**
* Return type for ISR Handler
*/
-
typedef void rtems_isr;
-/*
+/**
* Pointer to an ISR Handler
*/
-
typedef rtems_isr ( *rtems_isr_entry )(
rtems_vector_number
);
-/*
- * _Interrupt_Manager_initialization
- *
- * DESCRIPTION:
+/**
+ * @brief Interrupt_Manager_initialization
*
* This routine initializes the interrupt manager.
*
*/
-
void _Interrupt_Manager_initialization( void );
-/*
- * rtems_interrupt_catch
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_interrupt_catch
*
* This routine implements the rtems_interrupt_catch directive. This
* directive installs new_isr_handler as the RTEMS interrupt service
* routine for vector. The previous RTEMS interrupt service
* routine is returned in old_isr_handler.
*/
-
rtems_status_code rtems_interrupt_catch(
rtems_isr_entry new_isr_handler,
rtems_vector_number vector,
rtems_isr_entry *old_isr_handler
);
-/*
- * rtems_interrupt_disable
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_interrupt_disable
*
* This routine disables all maskable interrupts and returns the
* previous level in _isr_cookie.
*/
-
#define rtems_interrupt_disable( _isr_cookie ) \
_ISR_Disable(_isr_cookie)
-/*
- * rtems_interrupt_enable
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_interrupt_enable
*
* This routine enables maskable interrupts to the level indicated
* _isr_cookie.
*/
-
#define rtems_interrupt_enable( _isr_cookie ) \
_ISR_Enable(_isr_cookie)
-/*
- * rtems_interrupt_flash
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_interrupt_flash
*
* This routine temporarily enables maskable interrupts to the
* level in _isr_cookie before redisabling them.
*/
-
#define rtems_interrupt_flash( _isr_cookie ) \
_ISR_Flash(_isr_cookie)
-/*
- * rtems_interrupt_is_in_progress
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_interrupt_is_in_progress
*
* This function returns TRUE if the processor is currently servicing
* an interrupt and FALSE otherwise. A return value of TRUE indicates
* that the caller is an interrupt service routine, NOT a thread. The
* directives available to an interrupt service routine are restricted.
*/
-
#define rtems_interrupt_is_in_progress() \
_ISR_Is_in_progress()
-/*
- * rtems_interrupt_cause
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_interrupt_cause
*
* This routine generates an interrupt.
*
* NOTE: No implementation.
*/
-
#define rtems_interrupt_cause( _interrupt_to_cause )
-/*
- * rtems_interrupt_cause
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_interrupt_clear
*
* This routine clears the specified interrupt.
*
* NOTE: No implementation.
*/
-
#define rtems_interrupt_clear( _interrupt_to_clear )
#ifdef __cplusplus
}
#endif
+/**@}*/
+
#endif
/* end of include file */
diff --git a/cpukit/rtems/include/rtems/rtems/message.h b/cpukit/rtems/include/rtems/rtems/message.h
index 9425ddf3af..4cd6b7ba94 100644
--- a/cpukit/rtems/include/rtems/rtems/message.h
+++ b/cpukit/rtems/include/rtems/rtems/message.h
@@ -1,24 +1,23 @@
/**
* @file rtems/rtems/message.h
- */
-
-/*
+ *
* 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.
*
* 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-2007.
+ * - 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-2007.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
@@ -46,22 +45,27 @@ extern "C" {
#include <rtems/rtems/attr.h>
#include <rtems/score/coremsg.h>
+/**
+ * @defgroup ClassicMessageQueue Classic API Message Queue
+ *
+ * This encapsulates functionality which XXX
+ */
+/**@{*/
+
/*
* The following enumerated type details the modes in which a message
* may be submitted to a message queue. The message may be posted
* in a send or urgent fashion.
*/
-
typedef enum {
MESSAGE_QUEUE_SEND_REQUEST = 0,
MESSAGE_QUEUE_URGENT_REQUEST = 1
} Message_queue_Submit_types;
-/*
+/**
* The following records define the control block used to manage
* each message queue.
*/
-
typedef struct {
Objects_Control Object;
rtems_attribute attribute_set;
@@ -72,25 +76,19 @@ typedef struct {
* The following defines the information control block used to
* manage this class of objects.
*/
-
RTEMS_MESSAGE_EXTERN Objects_Information _Message_queue_Information;
-/*
- * _Message_queue_Manager_initialization
- *
- * DESCRIPTION:
+/**
+ * @brief Message_queue_Manager_initialization
*
* This routine performs the initialization necessary for this manager.
*/
-
void _Message_queue_Manager_initialization(
uint32_t maximum_message_queues
);
-/*
- * rtems_message_queue_create
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_message_queue_create
*
* This routine implements the rtems_message_queue_create directive. The
* message queue will have the name name. If the attribute_set indicates
@@ -99,7 +97,6 @@ void _Message_queue_Manager_initialization(
* messages that will be held. It returns the id of the created
* message queue in ID.
*/
-
rtems_status_code rtems_message_queue_create(
rtems_name name,
uint32_t count,
@@ -108,10 +105,8 @@ rtems_status_code rtems_message_queue_create(
Objects_Id *id
);
-/*
- * rtems_message_queue_ident
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_message_queue_ident
*
* This routine implements the rtems_message_queue_ident directive.
* This directive returns the message queue ID associated with NAME.
@@ -121,30 +116,24 @@ rtems_status_code rtems_message_queue_create(
* The search can be limited to a particular node or allowed to
* encompass all nodes.
*/
-
rtems_status_code rtems_message_queue_ident(
rtems_name name,
uint32_t node,
Objects_Id *id
);
-/*
- * rtems_message_queue_delete
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_message_queue_delete
*
* This routine implements the rtems_message_queue_delete directive. The
* message queue indicated by ID is deleted.
*/
-
rtems_status_code rtems_message_queue_delete(
Objects_Id id
);
-/*
- * rtems_message_queue_send
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_message_queue_send
*
* This routine implements the rtems_message_queue_send directive.
* This directive sends the message buffer to the message queue
@@ -156,17 +145,14 @@ rtems_status_code rtems_message_queue_delete(
* then the message buffer will be placed at the REAR of the
* chain of pending messages for this message queue.
*/
-
rtems_status_code rtems_message_queue_send(
Objects_Id id,
void *buffer,
size_t size
);
-/*
- * rtems_message_queue_urgent
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_message_queue_urgent
*
* This routine implements the rtems_message_queue_urgent directive.
* This directive has the same behavior as rtems_message_queue_send
@@ -174,24 +160,20 @@ rtems_status_code rtems_message_queue_send(
* be placed at the FRONT of the chain of pending messages rather
* than at the REAR.
*/
-
rtems_status_code rtems_message_queue_urgent(
Objects_Id id,
void *buffer,
size_t size
);
-/*
- * rtems_message_queue_broadcast
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_message_queue_broadcast
*
* 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.
*/
-
rtems_status_code rtems_message_queue_broadcast(
Objects_Id id,
void *buffer,
@@ -199,10 +181,8 @@ rtems_status_code rtems_message_queue_broadcast(
uint32_t *count
);
-/*
- * rtems_message_queue_receive
- *
- * DESCRIPTION:
+/**
+ * @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
@@ -212,7 +192,6 @@ rtems_status_code rtems_message_queue_broadcast(
* then the task will be blocked until a message arrives or until,
* optionally, timeout clock ticks have passed.
*/
-
rtems_status_code rtems_message_queue_receive(
Objects_Id id,
void *buffer,
@@ -221,43 +200,35 @@ rtems_status_code rtems_message_queue_receive(
rtems_interval timeout
);
-/*
- * rtems_message_queue_flush
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_message_queue_flush
*
* This routine implements the rtems_message_queue_flush directive.
* This directive takes all outstanding messages for the message
* queue indicated by ID and returns them to the inactive message
* chain. The number of messages flushed is returned in COUNT.
*/
-
rtems_status_code rtems_message_queue_flush(
Objects_Id id,
uint32_t *count
);
-/*
- * rtems_message_queue_get_number_pending
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_message_queue_get_number_pending
*
* This routine implements the rtems_message_queue_get_number_pending
* directive. This directive returns the number of pending
* messages for the message queue indicated by ID
* chain. The number of messages pending is returned in COUNT.
*/
-
rtems_status_code rtems_message_queue_get_number_pending(
Objects_Id id,
uint32_t *count
);
-/*
- * _Message_queue_Submit
- *
- * DESCRIPTION:
+/**
+ * @brief Message_queue_Submit
*
* This routine implements the directives rtems_message_queue_send
* and rtems_message_queue_urgent. It processes a message that is
@@ -266,7 +237,6 @@ rtems_status_code rtems_message_queue_get_number_pending(
* at the rear of the queue or it will be processed as an urgent message
* which will be inserted at the front of the queue.
*/
-
rtems_status_code _Message_queue_Submit(
Objects_Id id,
void *buffer,
@@ -274,36 +244,30 @@ rtems_status_code _Message_queue_Submit(
Message_queue_Submit_types submit_type
);
-/*
- * _Message_queue_Allocate
- *
- * DESCRIPTION:
+/**
+ * @brief Message_queue_Allocate
*
* This function allocates a message queue control block from
* the inactive chain of free message queue control blocks.
*/
-
Message_queue_Control *_Message_queue_Allocate (
uint32_t count,
uint32_t max_message_size
);
-/*
- * _Message_queue_Translate_core_message_queue_return_code
- *
- * DESCRIPTION:
+/**
+ * @brief Message_queue_Translate_core_message_queue_return_code
*
* This function returns a RTEMS status code based on the core message queue
* status code specified.
*/
-
rtems_status_code _Message_queue_Translate_core_message_queue_return_code (
uint32_t the_message_queue_status
);
-/*
- *
- * _Message_queue_Core_message_queue_mp_support
+#if defined(RTEMS_MULTIPROCESSING)
+/**
+ * @brief Message_queue_Core_message_queue_mp_support
*
* Input parameters:
* the_thread - the remote thread the message was submitted to
@@ -311,8 +275,6 @@ rtems_status_code _Message_queue_Translate_core_message_queue_return_code (
*
* Output parameters: NONE
*/
-
-#if defined(RTEMS_MULTIPROCESSING)
void _Message_queue_Core_message_queue_mp_support (
Thread_Control *the_thread,
Objects_Id id
diff --git a/cpukit/rtems/include/rtems/rtems/modes.h b/cpukit/rtems/include/rtems/rtems/modes.h
index 5a6131297c..b2d9ee9fb6 100644
--- a/cpukit/rtems/include/rtems/rtems/modes.h
+++ b/cpukit/rtems/include/rtems/rtems/modes.h
@@ -1,12 +1,11 @@
/**
* @file rtems/rtems/modes.h
- */
-
-/*
+ *
* This include file contains all constants and structures associated
* with the RTEMS thread and RTEMS_ASR modes.
- *
- * COPYRIGHT (c) 1989-1999.
+ */
+
+/* COPYRIGHT (c) 1989-1999.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
@@ -19,24 +18,29 @@
#ifndef _RTEMS_RTEMS_MODES_H
#define _RTEMS_RTEMS_MODES_H
+/**
+ * @defgroup ClassicModes Classic API Modes
+ *
+ * This encapsulates functionality which XXX
+ */
+/**@{*/
+
#ifdef __cplusplus
extern "C" {
#endif
#include <rtems/score/isr.h>
-/*
+/**
* The following type defines the control block used to manage
* each a mode set.
*/
-
typedef uint32_t Modes_Control;
-/*
+/**
* The following constants define the individual modes and masks
* which may be used to compose a mode set and to alter modes.
*/
-
#define RTEMS_ALL_MODE_MASKS 0x0000ffff
#define RTEMS_DEFAULT_MODES 0x00000000
@@ -56,25 +60,21 @@ typedef uint32_t Modes_Control;
#define RTEMS_ASR 0x00000000 /* enable RTEMS_ASR */
#define RTEMS_NO_ASR 0x00000400 /* disable RTEMS_ASR */
-/*
+/**
* The number of bits for interrupt levels is CPU dependent.
* RTEMS supports 0 to 256 levels in bits 0-7 of the mode.
*/
-/*PAGE
- *
- * RTEMS_INTERRUPT_LEVEL
- *
- * DESCRIPTION:
+/**
+ * @brief RTEMS_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 )
diff --git a/cpukit/rtems/include/rtems/rtems/mp.h b/cpukit/rtems/include/rtems/rtems/mp.h
index cebdb2a175..3e050d73af 100644
--- a/cpukit/rtems/include/rtems/rtems/mp.h
+++ b/cpukit/rtems/include/rtems/rtems/mp.h
@@ -1,12 +1,11 @@
/**
* @file rtems/rtems/mp.h
- */
-
-/*
+ *
* This include file contains all the constants and structures associated
* with the Multiprocessing Manager.
- *
- * COPYRIGHT (c) 1989-1999.
+ */
+
+/* COPYRIGHT (c) 1989-1999.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
@@ -19,37 +18,38 @@
#ifndef _RTEMS_RTEMS_MP_H
#define _RTEMS_RTEMS_MP_H
+/**
+ * @defgroup ClassicMP Classic API Multiprocessing
+ *
+ * This encapsulates functionality which XXX
+ */
+/**@{*/
+
#ifdef __cplusplus
extern "C" {
#endif
-/*
- *
- * _Multiprocessing_Manager_initialization
- *
- * DESCRIPTION:
+/**
+ * @brief Multiprocessing_Manager_initialization
*
* This routine performs the initialization necessary for this manager.
*/
-
void _Multiprocessing_Manager_initialization ( void );
-/*
- *
- * rtems_multiprocessing_announce
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_multiprocessing_announce
*
* This routine implements the MULTIPROCESSING_ANNOUNCE directive.
* It is invoked by the MPCI layer to indicate that an MPCI packet
* has been received.
*/
-
void rtems_multiprocessing_announce ( void );
#ifdef __cplusplus
}
#endif
+/**@}*/
+
#endif
/* end of include file */
diff --git a/cpukit/rtems/include/rtems/rtems/msgmp.h b/cpukit/rtems/include/rtems/rtems/msgmp.h
index 2b9b41da15..ea9568f639 100644
--- a/cpukit/rtems/include/rtems/rtems/msgmp.h
+++ b/cpukit/rtems/include/rtems/rtems/msgmp.h
@@ -1,12 +1,11 @@
/**
* @file rtems/rtems/msgmp.h
- */
-
-/*
+ *
* This include file contains all the constants and structures associated
* with the Multiprocessing Support in the Message Manager.
- *
- * COPYRIGHT (c) 1989-1999.
+ */
+
+/* COPYRIGHT (c) 1989-1999.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
@@ -30,11 +29,17 @@ extern "C" {
#include <rtems/score/thread.h>
#include <rtems/score/watchdog.h>
-/*
+/**
+ * @defgroup ClassicMsgMP Classic API Message Queue MP Support
+ *
+ * This encapsulates functionality which XXX
+ */
+/**{*/
+
+/**
* The following enumerated type defines the list of
* remote message queue operations.
*/
-
typedef enum {
MESSAGE_QUEUE_MP_ANNOUNCE_CREATE = 0,
MESSAGE_QUEUE_MP_ANNOUNCE_DELETE = 1,
@@ -53,11 +58,10 @@ typedef enum {
MESSAGE_QUEUE_MP_GET_NUMBER_PENDING_RESPONSE = 14
} Message_queue_MP_Remote_operations;
-/*
+/**
* The following data structure defines the packet used to perform
* remote message queue operations.
*/
-
typedef struct {
rtems_packet_prefix Prefix;
Message_queue_MP_Remote_operations operation;
@@ -70,15 +74,12 @@ typedef struct {
CORE_message_queue_Buffer Buffer;
} Message_queue_MP_Packet;
-/*
- * _Message_queue_MP_Send_process_packet
- *
- * DESCRIPTION:
+/**
+ * @brief _Message_queue_MP_Send_process_packet
*
* This routine performs a remote procedure call so that a
* process operation can be performed on another node.
*/
-
void _Message_queue_MP_Send_process_packet (
Message_queue_MP_Remote_operations operation,
Objects_Id message_queue_id,
@@ -86,15 +87,12 @@ void _Message_queue_MP_Send_process_packet (
Objects_Id proxy_id
);
-/*
- * _Message_queue_MP_Send_request_packet
- *
- * DESCRIPTION:
+/**
+ * @brief _Message_queue_MP_Send_request_packet
*
* This routine performs a remote procedure call so that a
* directive operation can be initiated on another node.
*/
-
rtems_status_code _Message_queue_MP_Send_request_packet (
Message_queue_MP_Remote_operations operation,
Objects_Id message_queue_id,
@@ -104,76 +102,63 @@ rtems_status_code _Message_queue_MP_Send_request_packet (
Watchdog_Interval timeout
);
-/*
- * _Message_queue_MP_Send_response_packet
- *
- * DESCRIPTION:
+/**
+ * @brief _Message_queue_MP_Send_response_packet
*
* This routine performs a remote procedure call so that a
* directive can be performed on another node.
*/
-
void _Message_queue_MP_Send_response_packet (
Message_queue_MP_Remote_operations operation,
Objects_Id message_queue_id,
Thread_Control *the_thread
);
-/*
- *
- * _Message_queue_MP_Process_packet
+/**
*
- * DESCRIPTION:
+ @brief * _Message_queue_MP_Process_packet
*
* 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
);
-/*
- * _Message_queue_MP_Send_object_was_deleted
- *
- * DESCRIPTION:
+/**
+ * @brief _Message_queue_MP_Send_object_was_deleted
*
* This routine is invoked indirectly by the thread queue
* when a proxy has been removed from the thread queue and
* the remote node must be informed of this.
*/
-
void _Message_queue_MP_Send_object_was_deleted (
Thread_Control *the_proxy
);
-/*
- * _Message_queue_MP_Send_extract_proxy
- *
- * DESCRIPTION:
+/**
+ * @brief _Message_queue_MP_Send_extract_proxy
*
* This routine is invoked when a task is deleted and it
* has a proxy which must be removed from a thread queue and
* the remote node must be informed of this.
*/
-
void _Message_queue_MP_Send_extract_proxy (
void *argument
);
-/*
- * _Message_queue_MP_Get_packet
- *
- * DESCRIPTION:
+/**
+ * @brief _Message_queue_MP_Get_packet
*
* This function is used to obtain a message queue mp packet.
*/
-
Message_queue_MP_Packet *_Message_queue_MP_Get_packet ( void );
#ifdef __cplusplus
}
#endif
+/**@}*/
+
#endif
/* end of file */
diff --git a/cpukit/rtems/include/rtems/rtems/object.h b/cpukit/rtems/include/rtems/rtems/object.h
index bb989df22c..367e5ef224 100644
--- a/cpukit/rtems/include/rtems/rtems/object.h
+++ b/cpukit/rtems/include/rtems/rtems/object.h
@@ -1,9 +1,8 @@
/**
- * @file rtems/classinfo.h
+ * @file rtems/rtems/object.h
*/
-
-/*
- * COPYRIGHT (c) 1989-2008.
+
+/* COPYRIGHT (c) 1989-2008.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
@@ -26,6 +25,13 @@ extern "C" {
#include <rtems/rtems/types.h>
/**
+ * @defgroup ClassicClassInfo Classic API Class Information
+ *
+ * This encapsulates functionality which XXX
+ */
+/**@{*/
+
+/**
* This structure is used to return information to the application
* about the objects configured for a specific API/Class combination.
*/
@@ -325,5 +331,7 @@ rtems_status_code rtems_object_get_class_information(
}
#endif
+/**@}*/
+
#endif
/* end of include file */
diff --git a/cpukit/rtems/include/rtems/rtems/options.h b/cpukit/rtems/include/rtems/rtems/options.h
index 70f17d700c..a0f5c444d6 100644
--- a/cpukit/rtems/include/rtems/rtems/options.h
+++ b/cpukit/rtems/include/rtems/rtems/options.h
@@ -1,12 +1,11 @@
/**
* @file rtems/rtems/options.h
- */
-
-/*
+ *
* This include file contains information which defines the
* options available on many directives.
- *
- * COPYRIGHT (c) 1989-1999.
+ */
+
+/* COPYRIGHT (c) 1989-1999.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
@@ -23,18 +22,23 @@
extern "C" {
#endif
-/*
+/**
+ * @defgroup ClassicOptions Classic API Options
+ *
+ * This encapsulates functionality which XXX
+ */
+/**@{*/
+
+/**
* The following type defines the control block used to manage
* option sets.
*/
-
typedef uint32_t rtems_option;
-/*
+/**
* The following constants define the individual options which may
* be used to compose an option set.
*/
-
#define RTEMS_DEFAULT_OPTIONS 0x00000000
#define RTEMS_WAIT 0x00000000 /* wait on resource */
diff --git a/cpukit/rtems/include/rtems/rtems/part.h b/cpukit/rtems/include/rtems/rtems/part.h
index 0e2eb496c4..fda28714c7 100644
--- a/cpukit/rtems/include/rtems/rtems/part.h
+++ b/cpukit/rtems/include/rtems/rtems/part.h
@@ -1,8 +1,6 @@
/**
* @file rtems/rtems/part.h
- */
-
-/*
+ *
* 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
@@ -10,13 +8,14 @@
*
* Directives provided are:
*
- * + create a partition
- * + get an ID of a partition
- * + delete a partition
- * + get a buffer from a partition
- * + return a buffer to a partition
- *
- * COPYRIGHT (c) 1989-2007.
+ * - create a partition
+ * - get an ID of a partition
+ * - delete a partition
+ * - get a buffer from a partition
+ * - return a buffer to a partition
+ */
+
+/* COPYRIGHT (c) 1989-2007.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
@@ -44,10 +43,16 @@ extern "C" {
#include <rtems/rtems/support.h>
#include <rtems/rtems/types.h>
-/*
- * The following defines the control block used to manage each partition.
+/**
+ * @defgroup ClassicPart Classic API Partition
+ *
+ * This encapsulates functionality which XXX
*/
+/**@{*/
+/**
+ * The following defines the control block used to manage each partition.
+ */
typedef struct {
Objects_Control Object;
void *starting_address; /* physical address */
@@ -58,29 +63,23 @@ typedef struct {
Chain_Control Memory; /* buffer chain */
} Partition_Control;
-/*
+/**
* The following defines the information control block used to
* manage this class of objects.
*/
-
RTEMS_PART_EXTERN Objects_Information _Partition_Information;
-/*
- * _Partition_Manager_initialization
- *
- * DESCRIPTION:
+/**
+ * @brief Partition_Manager_initialization
*
* This routine performs the initialization necessary for this manager.
*/
-
void _Partition_Manager_initialization(
uint32_t maximum_partitions
);
-/*
- * rtems_partition_create
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_partition_create
*
* This routine implements the rtems_partition_create directive. The
* partition will have the name name. The memory area managed by
@@ -90,7 +89,6 @@ void _Partition_Manager_initialization(
* the partition is global or local. It returns the id of the
* created partition in ID.
*/
-
rtems_status_code rtems_partition_create(
rtems_name name,
void *starting_address,
@@ -100,10 +98,8 @@ rtems_status_code rtems_partition_create(
Objects_Id *id
);
-/*
- * rtems_partition_ident
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_partition_ident
*
* This routine implements the rtems_partition_ident directive.
* This directive returns the partition ID associated with name.
@@ -113,51 +109,41 @@ rtems_status_code rtems_partition_create(
* The search can be limited to a particular node or allowed to
* encompass all nodes.
*/
-
rtems_status_code rtems_partition_ident(
rtems_name name,
uint32_t node,
Objects_Id *id
);
-/*
- * rtems_partition_delete
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_partition_delete
*
* This routine implements the rtems_partition_delete directive. The
* partition indicated by ID is deleted.
*/
-
rtems_status_code rtems_partition_delete(
Objects_Id id
);
-/*
- * rtems_partition_get_buffer
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_partition_get_buffer
*
* This routine implements the rtems_partition_get_buffer directive. It
* attempts to allocate a buffer from the partition associated with ID.
* If a buffer is allocated, its address is returned in buffer.
*/
-
rtems_status_code rtems_partition_get_buffer(
Objects_Id id,
void **buffer
);
-/*
- * rtems_partition_return_buffer
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_partition_return_buffer
*
* This routine implements the rtems_partition_return_buffer directive. It
* frees the buffer to the partition associated with ID. The buffer must
* have been previously allocated from the same partition.
*/
-
rtems_status_code rtems_partition_return_buffer(
Objects_Id id,
void *buffer
@@ -174,5 +160,7 @@ rtems_status_code rtems_partition_return_buffer(
}
#endif
+/**@}*/
+
#endif
/* end of include file */
diff --git a/cpukit/rtems/include/rtems/rtems/partmp.h b/cpukit/rtems/include/rtems/rtems/partmp.h
index 9369dc286c..9401e19b1a 100644
--- a/cpukit/rtems/include/rtems/rtems/partmp.h
+++ b/cpukit/rtems/include/rtems/rtems/partmp.h
@@ -1,12 +1,11 @@
/**
* @file rtems/rtems/partmp.h
- */
-
-/*
+ *
* This include file contains all the constants and structures associated
* with the Multiprocessing Support in the Partition Manager.
- *
- * COPYRIGHT (c) 1989-1999.
+ */
+
+/* COPYRIGHT (c) 1989-1999.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
@@ -30,11 +29,17 @@ extern "C" {
#include <rtems/rtems/part.h>
-/*
+/**
+ * @defgroup ClassicPartMP Classic API Partition MP Support
+ *
+ * This encapsulates functionality which XXX
+ */
+/**{*/
+
+/**
* The following enumerated type defines the list of
* remote partition operations.
*/
-
typedef enum {
PARTITION_MP_ANNOUNCE_CREATE = 0,
PARTITION_MP_ANNOUNCE_DELETE = 1,
@@ -45,11 +50,10 @@ typedef enum {
PARTITION_MP_RETURN_BUFFER_RESPONSE = 6
} Partition_MP_Remote_operations;
-/*
+/**
* The following data structure defines the packet used to perform
* remote partition operations.
*/
-
typedef struct {
rtems_packet_prefix Prefix;
Partition_MP_Remote_operations operation;
@@ -58,15 +62,12 @@ typedef struct {
Objects_Id proxy_id;
} Partition_MP_Packet;
-/*
- * _Partition_MP_Send_process_packet
- *
- * DESCRIPTION:
+/**
+ * @brief Partition_MP_Send_process_packet
*
* This routine performs a remote procedure call so that a
* process operation can be performed on another node.
*/
-
void _Partition_MP_Send_process_packet (
Partition_MP_Remote_operations operation,
Objects_Id partition_id,
@@ -74,54 +75,43 @@ void _Partition_MP_Send_process_packet (
Objects_Id proxy_id
);
-/*
- * _Partition_MP_Send_request_packet
- *
- * DESCRIPTION:
+/**
+ * @brief Partition_MP_Send_request_packet
*
* This routine performs a remote procedure call so that a
* directive operation can be initiated on another node.
*/
-
rtems_status_code _Partition_MP_Send_request_packet (
Partition_MP_Remote_operations operation,
Objects_Id partition_id,
void *buffer
);
-/*
- * _Partition_MP_Send_response_packet
- *
- * DESCRIPTION:
+/**
+ * @brief Partition_MP_Send_response_packet
*
* This routine performs a remote procedure call so that a
* directive can be performed on another node.
*/
-
void _Partition_MP_Send_response_packet (
Partition_MP_Remote_operations operation,
Objects_Id partition_id,
Thread_Control *the_thread
);
-/*
- *
- * _Partition_MP_Process_packet
+/**
*
- * DESCRIPTION:
+ * @brief Partition_MP_Process_packet
*
* This routine performs the actions specific to this package for
* the request from another node.
*/
-
void _Partition_MP_Process_packet (
rtems_packet_prefix *the_packet_prefix
);
-/*
- * _Partition_MP_Send_object_was_deleted
- *
- * DESCRIPTION:
+/**
+ * @brief Partition_MP_Send_object_was_deleted
*
* This routine is invoked indirectly by the thread queue
* when a proxy has been removed from the thread queue and
@@ -130,34 +120,31 @@ void _Partition_MP_Process_packet (
* This routine is not needed by the Partition since a partition
* cannot be deleted when buffers are in use.
*/
+#warning "Why is there no prototype for Partition_MP_Send_object_was_deleted"
-/*
- * _Partition_MP_Send_extract_proxy
- *
- * DESCRIPTION:
+/**
+ * @brief Partition_MP_Send_extract_proxy
*
* This routine is invoked when a task is deleted and it
* has a proxy which must be removed from a thread queue and
* the remote node must be informed of this.
*/
-
void _Partition_MP_Send_extract_proxy (
void *argument
);
-/*
- * _Partition_MP_Get_packet
- *
- * DESCRIPTION:
+/**
+ * @brief Partition_MP_Get_packet
*
* This function is used to obtain a partition mp packet.
*/
-
Partition_MP_Packet *_Partition_MP_Get_packet ( void );
#ifdef __cplusplus
}
#endif
+/**@}*/
+
#endif
/* end of file */
diff --git a/cpukit/rtems/include/rtems/rtems/ratemon.h b/cpukit/rtems/include/rtems/rtems/ratemon.h
index 8645dec4a9..622b1c3e1a 100644
--- a/cpukit/rtems/include/rtems/rtems/ratemon.h
+++ b/cpukit/rtems/include/rtems/rtems/ratemon.h
@@ -1,21 +1,20 @@
/**
* @file rtems/rtems/ratemon.h
- */
-
-/*
+ *
* This include file contains all the constants, structures, and
* prototypes associated with the Rate Monotonic Manager. This manager
* provides facilities to implement tasks which execute in a periodic fashion.
*
* Directives provided are:
*
- * + create a rate monotonic timer
- * + cancel a period
- * + delete a rate monotonic timer
- * + conclude current and start the next period
- * + obtain status information on a period
- *
- * COPYRIGHT (c) 1989-2007.
+ * - create a rate monotonic timer
+ * - cancel a period
+ * - delete a rate monotonic timer
+ * - conclude current and start the next period
+ * - obtain status information on a period
+ */
+
+/* COPYRIGHT (c) 1989-2007.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
@@ -34,6 +33,13 @@
#include <rtems/bspIo.h>
+/**
+ * @defgroup ClassicRateMon Classic API Rate Monotonic
+ *
+ * This encapsulates functionality which XXX
+ */
+/**@{*/
+
#ifdef __cplusplus
extern "C" {
#endif
@@ -43,7 +49,7 @@ extern "C" {
* resolution.
*/
#ifndef __RTEMS_USE_TICKS_RATE_MONOTONIC_STATISTICS__
- /*
+ /**
* Enable the nanosecond accurate statistics
*
* When not defined, the older style tick accurate granularity
@@ -60,11 +66,10 @@ extern "C" {
#include <string.h>
-/*
+/**
* The following enumerated type defines the states in which a
* period may be.
*/
-
typedef enum {
RATE_MONOTONIC_INACTIVE, /* off chain, never initialized */
RATE_MONOTONIC_OWNER_IS_BLOCKING, /* on chain, owner is blocking on it */
@@ -75,17 +80,15 @@ typedef enum {
/* rtems_rate_monotonic_period */
} rtems_rate_monotonic_period_states;
-/*
+/**
* The following constant is the interval passed to the rate_monontonic_period
* directive to obtain status information.
*/
-
#define RTEMS_PERIOD_STATUS WATCHDOG_NO_TIMEOUT
-/*
+/**
* The following defines the statistics kept on each period instance.
*/
-
typedef struct {
uint32_t count;
uint32_t missed_count;
@@ -109,10 +112,9 @@ typedef struct {
#endif
} rtems_rate_monotonic_period_statistics;
-/*
+/**
* The following defines the period status structure.
*/
-
typedef struct {
Objects_Id owner;
rtems_rate_monotonic_period_states state;
@@ -128,11 +130,10 @@ typedef struct {
#endif
} rtems_rate_monotonic_period_status;
-/*
+/**
* The following structure defines the control block used to manage
* each period.
*/
-
typedef struct {
Objects_Control Object;
Watchdog_Control Timer;
@@ -154,109 +155,86 @@ typedef struct {
RTEMS_RATEMON_EXTERN Objects_Information _Rate_monotonic_Information;
-/*
+/**
* _Rate_monotonic_Manager_initialization
*
- * DESCRIPTION:
- *
* This routine performs the initialization necessary for this manager.
*/
-
void _Rate_monotonic_Manager_initialization(
uint32_t maximum_periods
);
-/*
- * rtems_rate_monotonic_create
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_rate_monotonic_create
*
* This routine implements the rate_monotonic_create directive. The
* period will have the name name. It returns the id of the
* created period in ID.
*/
-
rtems_status_code rtems_rate_monotonic_create(
rtems_name name,
Objects_Id *id
);
-/*
- * rtems_rate_monotonic_ident
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_rate_monotonic_ident
*
* This routine implements the rtems_rate_monotonic_ident directive.
* This directive 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.
*/
-
rtems_status_code rtems_rate_monotonic_ident(
rtems_name name,
Objects_Id *id
);
-/*
- * rtems_rate_monotonic_cancel
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_rate_monotonic_cancel
*
* This routine implements the rtems_rate_monotonic_cancel directive. This
* directive stops the period associated with ID from continuing to
* run.
*/
-
rtems_status_code rtems_rate_monotonic_cancel(
Objects_Id id
);
-/*
- * rtems_rate_monotonic_delete
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_rate_monotonic_delete
*
* This routine implements the rtems_rate_monotonic_delete directive. The
* period indicated by ID is deleted.
*/
-
rtems_status_code rtems_rate_monotonic_delete(
Objects_Id id
);
-/*
- * rtems_rate_monotonic_get_status
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_rate_monotonic_get_status
*
* This routine implements the rtems_rate_monotonic_get_status directive.
* Information about the period indicated by ID is returned.
*
*/
-
rtems_status_code rtems_rate_monotonic_get_status(
Objects_Id id,
rtems_rate_monotonic_period_status *status
);
-/*
- * rtems_rate_monotonic_get_statistics
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_rate_monotonic_get_statistics
*
* This routine implements the rtems_rate_monotonic_get_statistics directive.
* Statistics gathered from the use of this period are returned.
*/
-
rtems_status_code rtems_rate_monotonic_get_statistics(
Objects_Id id,
rtems_rate_monotonic_period_statistics *statistics
);
-/*
- * rtems_rate_monotonic_reset_statistics
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_rate_monotonic_reset_statistics
*
* This directive allows a thread to reset the statistics information
* on a specific period instance.
@@ -265,20 +243,16 @@ rtems_status_code rtems_rate_monotonic_reset_statistics(
Objects_Id id
);
-/*
- * rtems_rate_monotonic_reset_all_statistics
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_rate_monotonic_reset_all_statistics
*
* This directive allows a thread to reset the statistics information
* on ALL period instances.
*/
void rtems_rate_monotonic_reset_all_statistics( void );
-/*
- * rtems_rate_monotonic_report_statistics
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_rate_monotonic_report_statistics
*
* This directive allows a thread to print the statistics information
* on ALL period instances which have non-zero counts using printk.
@@ -288,36 +262,29 @@ void rtems_rate_monotonic_report_statistics_with_plugin(
rtems_printk_plugin_t print
);
-/*
- * rtems_rate_monotonic_report_statistics
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_rate_monotonic_report_statistics
*
* This directive allows a thread to print the statistics information
* on ALL period instances which have non-zero counts using printk.
*/
void rtems_rate_monotonic_report_statistics( void );
-/*
- * rtems_rate_monotonic_period
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_rate_monotonic_period
*
* This routine implements the rtems_rate_monotonic_period directive. When
* length is non-zero, this directive initiates the period associated with
* ID from continuing for a period of length. If length is zero, then
* result is set to indicate the current state of the period.
*/
-
rtems_status_code rtems_rate_monotonic_period(
Objects_Id id,
rtems_interval length
);
-/*
- * _Rate_monotonic_Timeout
- *
- * DESCRIPTION:
+/**
+ * @brief _Rate_monotonic_Timeout
*
* This routine is invoked when the period represented
* by ID expires. If the task which owns this period is blocked
@@ -326,20 +293,16 @@ rtems_status_code rtems_rate_monotonic_period(
* period to expire, then the period is placed in the EXPIRED
* state and not restarted.
*/
-
void _Rate_monotonic_Timeout(
Objects_Id id,
void *ignored
);
-/*
- * _Rate_monotonic_Reset_statistics
- *
- * DESCRIPTION:
+/**
+ * @brief _Rate_monotonic_Reset_statistics
*
* This method resets the statistics information for a period instance.
*/
-
#ifdef RTEMS_ENABLE_NANOSECOND_RATE_MONOTONIC_STATISTICS
#define _Rate_monotonic_Reset_wall_time_statistics( _the_period ) \
do { \
@@ -381,5 +344,7 @@ void _Rate_monotonic_Timeout(
}
#endif
+/**@}*/
+
#endif
/* end of include file */
diff --git a/cpukit/rtems/include/rtems/rtems/region.h b/cpukit/rtems/include/rtems/rtems/region.h
index 78cd7796a9..aff2648265 100644
--- a/cpukit/rtems/include/rtems/rtems/region.h
+++ b/cpukit/rtems/include/rtems/rtems/region.h
@@ -1,21 +1,20 @@
/**
* @file rtems/rtems/region.h
- */
-
-/*
+ *
* 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.
*
* Directives provided are:
*
- * + create a region
- * + get an ID of a region
- * + delete a region
- * + get a segment from a region
- * + return a segment to a region
- *
- * COPYRIGHT (c) 1989-2007.
+ * - create a region
+ * - get an ID of a region
+ * - delete a region
+ * - get a segment from a region
+ * - return a segment to a region
+ */
+
+/* COPYRIGHT (c) 1989-2007.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
@@ -28,14 +27,6 @@
#ifndef _RTEMS_RTEMS_REGION_H
#define _RTEMS_RTEMS_REGION_H
-#ifndef RTEMS_REGION_EXTERN
-#define RTEMS_REGION_EXTERN extern
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <stddef.h>
#include <rtems/score/object.h>
@@ -48,7 +39,22 @@ extern "C" {
#include <rtems/rtems/support.h>
#include <rtems/rtems/types.h>
-/*
+/**
+ * @defgroup ClassicRegion Classic API Region
+ *
+ * This encapsulates functionality which XXX
+ */
+/**@{*/
+
+#ifndef RTEMS_REGION_EXTERN
+#define RTEMS_REGION_EXTERN extern
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
* The following records define the control block used to manage
* each region.
*/
@@ -65,29 +71,23 @@ typedef struct {
Heap_Control Memory;
} Region_Control;
-/*
+/**
* The following defines the information control block used to
* manage this class of objects.
*/
-
RTEMS_REGION_EXTERN Objects_Information _Region_Information;
-/*
- * _Region_Manager_initialization
- *
- * DESCRIPTION:
+/**
+ * @brief _Region_Manager_initialization
*
* This routine performs the initialization necessary for this manager.
*/
-
void _Region_Manager_initialization(
uint32_t maximum_regions
);
-/*
- * rtems_region_create
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_region_create
*
* This routine implements the rtems_region_create directive. The
* region will have the name name. The memory area managed by
@@ -97,7 +97,6 @@ void _Region_Manager_initialization(
* thread queue discipline is used by the region. It returns the
* id of the created region in ID.
*/
-
rtems_status_code rtems_region_create(
rtems_name name,
void *starting_address,
@@ -107,86 +106,69 @@ rtems_status_code rtems_region_create(
Objects_Id *id
);
-/*
- * rtems_region_extend
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_region_extend
*
* This routine implements the rtems_region_extend directive. The
* region will have the name name. The memory area managed by
* the region will be attempted to be grown by length bytes using
* the memory starting at starting_address.
*/
-
rtems_status_code rtems_region_extend(
Objects_Id id,
void *starting_address,
uint32_t length
);
-/*
- * rtems_region_ident
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_region_ident
*
* This routine implements the rtems_region_ident directive.
* This directive returns the region ID associated with name.
* If more than one region is named name, then the region
* to which the ID belongs is arbitrary.
*/
-
rtems_status_code rtems_region_ident(
rtems_name name,
Objects_Id *id
);
-/*
- * rtems_region_get_information
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_region_get_information
*
* This routine implements the rtems_region_get_information directive.
* This directive returns information about the heap associated with
* this region.
*/
-
rtems_status_code rtems_region_get_information(
Objects_Id id,
Heap_Information_block *the_info
);
-/*
- * rtems_region_get_free_information
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_region_get_free_information
*
* This routine implements the rtems_region_get_free_information directive.
* This directive returns information about the free blocks in the
* heap associated with this region.
*/
-
rtems_status_code rtems_region_get_free_information(
Objects_Id id,
Heap_Information_block *the_info
);
-/*
- * rtems_region_delete
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_region_delete
*
* This routine implements the rtems_region_delete directive. The
* region indicated by ID is deleted.
*/
-
rtems_status_code rtems_region_delete(
Objects_Id id
);
-/*
- * rtems_region_get_segment
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_region_get_segment
*
* This routine implements the rtems_region_get_segment directive. It
* attempts to allocate a segment from the region associated with ID.
@@ -196,7 +178,6 @@ rtems_status_code rtems_region_delete(
* timeout of timeout clock ticks. Whether the task blocks or returns
* immediately is based on the no_wait option in the option_set.
*/
-
rtems_status_code rtems_region_get_segment(
Objects_Id id,
uint32_t size,
@@ -205,25 +186,20 @@ rtems_status_code rtems_region_get_segment(
void **segment
);
-/*
- * rtems_region_get_segment_size
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_region_get_segment_size
*
* This routine implements the rtems_region_get_segment_size directive. It
* returns the size in bytes of the specified user memory area.
*/
-
rtems_status_code rtems_region_get_segment_size(
Objects_Id id,
void *segment,
size_t *size
);
-/*
- * rtems_region_return_segment
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_region_return_segment
*
* This routine implements the rtems_region_return_segment directive. It
* frees the segment to the region associated with ID. The segment must
@@ -233,16 +209,13 @@ rtems_status_code rtems_region_get_segment_size(
* many subsequent tasks as possible will be unblocked with their requests
* satisfied.
*/
-
rtems_status_code rtems_region_return_segment(
Objects_Id id,
void *segment
);
-/*
- * rtems_region_resize_segment
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_region_resize_segment
*
* This routine implements the rtems_region_resize_segment directive. It
* tries to resize segment in the region associated with 'id' to the new size
@@ -261,7 +234,6 @@ rtems_status_code rtems_region_return_segment(
* 'old_size' the old size in bytes of the user memory area of the specified
* segment.
*/
-
rtems_status_code rtems_region_resize_segment(
Objects_Id id,
void *segment,
@@ -271,21 +243,27 @@ rtems_status_code rtems_region_resize_segment(
#ifndef __RTEMS_APPLICATION__
#include <rtems/rtems/region.inl>
+/**
+ * @brief Region_Process_queue
+ *
+ * This is a helper routine which is invoked any time memory is
+ * freed. It looks at the set of waiting tasks and attempts to
+ * satisfy all outstanding requests.
+ */
extern void _Region_Process_queue(Region_Control *the_region);
+
#endif
+
#if defined(RTEMS_MULTIPROCESSING)
#include <rtems/rtems/regionmp.h>
#endif
-/*
- * _Region_Debug_Walk
- *
- * DESCRIPTION:
+/**
+ * @brief _Region_Debug_Walk
*
* This routine is invoked to verify the integrity of a heap associated
* with the_region.
*/
-
#ifdef RTEMS_DEBUG
#define _Region_Debug_Walk( _the_region, _source ) \
@@ -304,5 +282,7 @@ extern void _Region_Process_queue(Region_Control *the_region);
}
#endif
+/**@}*/
+
#endif
/* end of include file */
diff --git a/cpukit/rtems/include/rtems/rtems/regionmp.h b/cpukit/rtems/include/rtems/rtems/regionmp.h
index 2b0eeac29a..5c4a61cd04 100644
--- a/cpukit/rtems/include/rtems/rtems/regionmp.h
+++ b/cpukit/rtems/include/rtems/rtems/regionmp.h
@@ -1,12 +1,11 @@
/**
* @file rtems/rtems/regionmp.h
- */
-
-/*
+ *
* This include file contains all the constants and structures associated
* with the Multiprocessing Support in the Region Manager.
- *
- * COPYRIGHT (c) 1989-1999.
+ */
+
+/* COPYRIGHT (c) 1989-1999.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
@@ -30,11 +29,17 @@ extern "C" {
#include <rtems/rtems/options.h>
#include <rtems/rtems/region.h>
-/*
+/**
+ * @defgroup ClassicRegionMP Classic API Region MP Support
+ *
+ * This encapsulates functionality which XXX
+ */
+/**@{*/
+
+/**
* The following enumerated type defines the list of
* remote region operations.
*/
-
typedef enum {
REGION_MP_ANNOUNCE_CREATE = 0,
REGION_MP_ANNOUNCE_DELETE = 1,
@@ -45,11 +50,10 @@ typedef enum {
REGION_MP_RETURN_SEGMENT_RESPONSE = 6
} Region_MP_Remote_operations;
-/*
+/**
* The following data structure defines the packet used to perform
* remote region operations.
*/
-
typedef struct {
rtems_packet_prefix Prefix;
Region_MP_Remote_operations operation;
@@ -60,15 +64,12 @@ typedef struct {
void *segment;
} Region_MP_Packet;
-/*
- * _Region_MP_Send_process_packet
- *
- * DESCRIPTION:
+/**
+ * @brief _Region_MP_Send_process_packet
*
* This routine performs a remote procedure call so that a
* process operation can be performed on another node.
*/
-
void _Region_MP_Send_process_packet (
Region_MP_Remote_operations operation,
Objects_Id region_id,
@@ -76,15 +77,12 @@ void _Region_MP_Send_process_packet (
Objects_Id proxy_id
);
-/*
- * _Region_MP_Send_request_packet
- *
- * DESCRIPTION:
+/**
+ * @brief _Region_MP_Send_request_packet
*
* This routine performs a remote procedure call so that a
* directive operation can be initiated on another node.
*/
-
rtems_status_code _Region_MP_Send_request_packet (
Region_MP_Remote_operations operation,
Objects_Id region_id,
@@ -94,39 +92,30 @@ rtems_status_code _Region_MP_Send_request_packet (
rtems_interval timeout
);
-/*
- * _Region_MP_Send_response_packet
- *
- * DESCRIPTION:
+/**
+ * @brief _Region_MP_Send_response_packet
*
* This routine performs a remote procedure call so that a
* directive can be performed on another node.
*/
-
void _Region_MP_Send_response_packet (
Region_MP_Remote_operations operation,
Objects_Id region_id,
Thread_Control *the_thread
);
-/*
- *
- * _Region_MP_Process_packet
- *
- * DESCRIPTION:
+/**
+ * @brief _Region_MP_Process_packet
*
* This routine performs the actions specific to this package for
* the request from another node.
*/
-
void _Region_MP_Process_packet (
rtems_packet_prefix *the_packet_prefix
);
/*
- * _Region_MP_Send_object_was_deleted
- *
- * DESCRIPTION:
+ * @brief _Region_MP_Send_object_was_deleted
*
* This routine is invoked indirectly by the thread queue
* when a proxy has been removed from the thread queue and
@@ -136,33 +125,29 @@ void _Region_MP_Process_packet (
* cannot be deleted when segments are in use.
*/
-/*
- * _Region_MP_Send_extract_proxy
- *
- * DESCRIPTION:
+/**
+ * @brief _Region_MP_Send_extract_proxy
*
* This routine is invoked when a task is deleted and it
* has a proxy which must be removed from a thread queue and
* the remote node must be informed of this.
*/
-
void _Region_MP_Send_extract_proxy (
void *argument
);
-/*
- * _Region_MP_Get_packet
- *
- * DESCRIPTION:
+/**
+ * @brief _Region_MP_Get_packet
*
* This function is used to obtain a region mp packet.
*/
-
Region_MP_Packet *_Region_MP_Get_packet ( void );
#ifdef __cplusplus
}
#endif
+/**@}*/
+
#endif
/* end of file */
diff --git a/cpukit/rtems/include/rtems/rtems/rtemsapi.h b/cpukit/rtems/include/rtems/rtems/rtemsapi.h
index d1c2a0538c..b89f90e96f 100644
--- a/cpukit/rtems/include/rtems/rtems/rtemsapi.h
+++ b/cpukit/rtems/include/rtems/rtems/rtemsapi.h
@@ -1,11 +1,10 @@
/**
* @file rtems/rtems/rtemsapi.h
+ *
+ * RTEMS API Support
*/
-/*
- * RTEMS API Support
- *
- * COPYRIGHT (c) 1989-1999.
+/* COPYRIGHT (c) 1989-1999.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
@@ -20,18 +19,25 @@
#include <rtems/config.h>
-/*PAGE
+/**
+ * @defgroup ClassicRTEMS Classic RTEMS Support
*
+ * This encapsulates functionality which XXX
+ */
+/**@{*/
+
+/**
* _RTEMS_API_Initialize
*
* This routine initializes the RTEMS API by invoking the initialization
* routine for each RTEMS manager with the appropriate parameters
* from the configuration_table.
*/
-
void _RTEMS_API_Initialize(
rtems_configuration_table *configuration_table
);
+/**@}*/
+
#endif
/* end of include file */
diff --git a/cpukit/rtems/include/rtems/rtems/sem.h b/cpukit/rtems/include/rtems/rtems/sem.h
index a5cb09f3fd..9b64e9a810 100644
--- a/cpukit/rtems/include/rtems/rtems/sem.h
+++ b/cpukit/rtems/include/rtems/rtems/sem.h
@@ -1,8 +1,6 @@
/**
* @file rtems/rtems/sem.h
- */
-
-/*
+ *
* 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
@@ -10,13 +8,14 @@
*
* Directives provided are:
*
- * + create a semaphore
- * + get an ID of a semaphore
- * + delete a semaphore
- * + acquire a semaphore
- * + release a semaphore
- *
- * COPYRIGHT (c) 1989-2007.
+ * - create a semaphore
+ * - get an ID of a semaphore
+ * - delete a semaphore
+ * - acquire a semaphore
+ * - release a semaphore
+ */
+
+/* COPYRIGHT (c) 1989-2007.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
@@ -45,10 +44,16 @@ extern "C" {
#include <rtems/score/object.h>
#include <rtems/score/coresem.h>
-/*
- * The following defines the control block used to manage each semaphore.
+/**
+ * @defgroup ClassicSem Classic API Semaphore
+ *
+ * This encapsulates functionality which XXX
*/
+/**@{*/
+/**
+ * The following defines the control block used to manage each semaphore.
+ */
typedef struct {
Objects_Control Object;
rtems_attribute attribute_set;
@@ -58,29 +63,23 @@ typedef struct {
} Core_control;
} Semaphore_Control;
-/*
+/**
* The following defines the information control block used to manage
* this class of objects.
*/
-
RTEMS_SEM_EXTERN Objects_Information _Semaphore_Information;
-/*
- * _Semaphore_Manager_initialization
- *
- * DESCRIPTION:
+/**
+ * @brief Semaphore_Manager_initialization
*
* This routine performs the initialization necessary for this manager.
*/
-
void _Semaphore_Manager_initialization(
uint32_t maximum_semaphores
);
-/*
- * rtems_semaphore_create
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_semaphore_create
*
* This routine implements the rtems_semaphore_create directive. The
* semaphore will have the name name. The starting count for
@@ -88,7 +87,6 @@ void _Semaphore_Manager_initialization(
* the semaphore is global or local and the thread queue
* discipline. It returns the id of the created semaphore in ID.
*/
-
rtems_status_code rtems_semaphore_create(
rtems_name name,
uint32_t count,
@@ -97,10 +95,8 @@ rtems_status_code rtems_semaphore_create(
rtems_id *id
);
-/*
- * rtems_semaphore_ident
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_semaphore_ident
*
* This routine implements the rtems_semaphore_ident directive.
* This directive returns the semaphore ID associated with name.
@@ -110,30 +106,24 @@ rtems_status_code rtems_semaphore_create(
* The search can be limited to a particular node or allowed to
* encompass all nodes.
*/
-
rtems_status_code rtems_semaphore_ident(
rtems_name name,
uint32_t node,
rtems_id *id
);
-/*
- * rtems_semaphore_delete
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_semaphore_delete
*
* This routine implements the rtems_semaphore_delete directive. The
* semaphore indicated by ID is deleted.
*/
-
rtems_status_code rtems_semaphore_delete(
rtems_id id
);
-/*
- * rtems_semaphore_obtain
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_semaphore_obtain
*
* This routine implements the rtems_semaphore_obtain directive. It
* attempts to obtain a unit from the semaphore associated with ID.
@@ -143,17 +133,14 @@ rtems_status_code rtems_semaphore_delete(
* clock ticks. Whether the task blocks or returns immediately
* is based on the RTEMS_NO_WAIT option in the option_set.
*/
-
rtems_status_code rtems_semaphore_obtain(
rtems_id id,
uint32_t option_set,
rtems_interval timeout
);
-/*
- * rtems_semaphore_release
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_semaphore_release
*
* This routine implements the rtems_semaphore_release directive. It
* frees a unit to the semaphore associated with ID. If a task was
@@ -161,112 +148,51 @@ rtems_status_code rtems_semaphore_obtain(
* be readied and the unit given to that task. Otherwise, the unit
* will be returned to the semaphore.
*/
-
rtems_status_code rtems_semaphore_release(
rtems_id id
);
-/*
- * rtems_semaphore_flush
- *
- * This directive allows a thread to flush the threads
+/**
+ * @brief rtems_semaphore_flush
* pending on the semaphore.
*/
-
rtems_status_code rtems_semaphore_flush(
rtems_id id
);
-/*
- * _Semaphore_Seize
- *
- * DESCRIPTION:
+/**
+ * @brief _Semaphore_Seize
*
* This routine attempts to receive a unit from the_semaphore.
* If a unit is available or if the RTEMS_NO_WAIT option is enabled in
* option_set, then the routine returns. Otherwise, the calling task
* is blocked until a unit becomes available.
*/
-
boolean _Semaphore_Seize(
Semaphore_Control *the_semaphore,
uint32_t option_set
);
-/*
- * _Semaphore_Translate_core_mutex_return_code
- *
- * DESCRIPTION:
+/**
+ * @brief _Semaphore_Translate_core_mutex_return_code
*
* This function returns a RTEMS status code based on the mutex
* status code specified.
*/
-
rtems_status_code _Semaphore_Translate_core_mutex_return_code (
uint32_t the_mutex_status
);
-/*
- * _Semaphore_Translate_core_semaphore_return_code
- *
- * DESCRIPTION:
+/**
+ * @brief _Semaphore_Translate_core_semaphore_return_code
*
* This function returns a RTEMS status code based on the semaphore
* status code specified.
*/
-
rtems_status_code _Semaphore_Translate_core_semaphore_return_code (
uint32_t the_mutex_status
);
-/*PAGE
- *
- * _Semaphore_Core_mutex_mp_support
- *
- * DESCRIPTION:
- *
- * 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.
- */
-
-#if defined(RTEMS_MULTIPROCESSING)
-void _Semaphore_Core_mutex_mp_support (
- Thread_Control *the_thread,
- rtems_id id
-);
-#endif
-
-/*PAGE
- *
- * _Semaphore_Core_mp_support
- *
- * DESCRIPTION:
- *
- * 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.
- */
-
-void _Semaphore_Core_semaphore_mp_support (
- Thread_Control *the_thread,
- rtems_id id
-);
-
-/*PAGE
- *
- * _POSIX_Semaphore_MP_support
- *
- * DESCRIPTION:
- *
- * XXX
- */
-
-void _POSIX_Semaphore_MP_support(
- Thread_Control *the_thread,
- Objects_Id id
-);
-
#ifndef __RTEMS_APPLICATION__
#include <rtems/rtems/sem.inl>
#endif
@@ -278,5 +204,7 @@ void _POSIX_Semaphore_MP_support(
}
#endif
+/**@}*/
+
#endif
/* end of include file */
diff --git a/cpukit/rtems/include/rtems/rtems/semmp.h b/cpukit/rtems/include/rtems/rtems/semmp.h
index 9af338bbf7..cabbe1d3ae 100644
--- a/cpukit/rtems/include/rtems/rtems/semmp.h
+++ b/cpukit/rtems/include/rtems/rtems/semmp.h
@@ -1,12 +1,11 @@
/**
* @file rtems/rtems/semmp.h
- */
-
-/*
+ *
* This include file contains all the constants and structures associated
* with the Multiprocessing Support in the Semaphore Manager.
- *
- * COPYRIGHT (c) 1989-1999.
+ */
+
+/* COPYRIGHT (c) 1989-1999.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
@@ -30,11 +29,17 @@ extern "C" {
#include <rtems/score/thread.h>
#include <rtems/score/watchdog.h>
-/*
+/**
+ * @defgroup ClassicSEM Classic API Semaphore MP Support
+ *
+ * This encapsulates functionality which XXX
+ */
+/**@{*/
+
+/**
* The following enumerated type defines the list of
* remote semaphore operations.
*/
-
typedef enum {
SEMAPHORE_MP_ANNOUNCE_CREATE = 0,
SEMAPHORE_MP_ANNOUNCE_DELETE = 1,
@@ -45,11 +50,10 @@ typedef enum {
SEMAPHORE_MP_RELEASE_RESPONSE = 6
} Semaphore_MP_Remote_operations;
-/*
+/**
* The following data structure defines the packet used to perform
* remote semaphore operations.
*/
-
typedef struct {
rtems_packet_prefix Prefix;
Semaphore_MP_Remote_operations operation;
@@ -58,15 +62,12 @@ typedef struct {
Objects_Id proxy_id;
} Semaphore_MP_Packet;
-/*
- * _Semaphore_MP_Send_process_packet
- *
- * DESCRIPTION:
+/**
+ * @brief Semaphore_MP_Send_process_packet
*
* This routine performs a remote procedure call so that a
* process operation can be performed on another node.
*/
-
void _Semaphore_MP_Send_process_packet (
Semaphore_MP_Remote_operations operation,
Objects_Id semaphore_id,
@@ -74,15 +75,12 @@ void _Semaphore_MP_Send_process_packet (
Objects_Id proxy_id
);
-/*
- * _Semaphore_MP_Send_request_packet
- *
- * DESCRIPTION:
+/**
+ * @brief Semaphore_MP_Send_request_packet
*
* This routine performs a remote procedure call so that a
* directive operation can be initiated on another node.
*/
-
rtems_status_code _Semaphore_MP_Send_request_packet (
Semaphore_MP_Remote_operations operation,
Objects_Id semaphore_id,
@@ -90,73 +88,81 @@ rtems_status_code _Semaphore_MP_Send_request_packet (
rtems_interval timeout
);
-/*
- * _Semaphore_MP_Send_response_packet
- *
- * DESCRIPTION:
+/**
+ * @brief Semaphore_MP_Send_response_packet
*
* This routine performs a remote procedure call so that a
* directive can be performed on another node.
*/
-
void _Semaphore_MP_Send_response_packet (
Semaphore_MP_Remote_operations operation,
Objects_Id semaphore_id,
Thread_Control *the_thread
);
-/*
- *
- * _Semaphore_MP_Process_packet
- *
- * DESCRIPTION:
+/**
+ * @brief Semaphore_MP_Process_packet
*
* This routine performs the actions specific to this package for
* the request from another node.
*/
-
void _Semaphore_MP_Process_packet (
rtems_packet_prefix *the_packet_prefix
);
-/*
- * _Semaphore_MP_Send_object_was_deleted
- *
- * DESCRIPTION:
+/**
+ * @brief Semaphore_MP_Send_object_was_deleted
*
* This routine is invoked indirectly by the thread queue
* when a proxy has been removed from the thread queue and
* the remote node must be informed of this.
*/
-
void _Semaphore_MP_Send_object_was_deleted (
Thread_Control *the_proxy
);
-/*
- * _Semaphore_MP_Send_extract_proxy
- *
- * DESCRIPTION:
+/**
+ * @brief Semaphore_MP_Send_extract_proxy
*
* This routine is invoked when a task is deleted and it
* has a proxy which must be removed from a thread queue and
* the remote node must be informed of this.
*/
-
void _Semaphore_MP_Send_extract_proxy (
void *argument
);
-/*
- * _Semaphore_MP_Get_packet
- *
- * DESCRIPTION:
+/**
+ * @brief Semaphore_MP_Get_packet
*
* This function is used to obtain a semaphore mp packet.
*/
-
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.
+ */
+void _Semaphore_Core_mutex_mp_support (
+ Thread_Control *the_thread,
+ rtems_id id
+);
+
+/**
+ * @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.
+ */
+void _Semaphore_Core_semaphore_mp_support (
+ Thread_Control *the_thread,
+ rtems_id id
+);
+
#ifdef __cplusplus
}
#endif
diff --git a/cpukit/rtems/include/rtems/rtems/signal.h b/cpukit/rtems/include/rtems/rtems/signal.h
index a516970ca4..5fe1702327 100644
--- a/cpukit/rtems/include/rtems/rtems/signal.h
+++ b/cpukit/rtems/include/rtems/rtems/signal.h
@@ -1,8 +1,6 @@
/**
* @file rtems/rtems/signal.h
- */
-
-/*
+ *
* 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.
@@ -11,8 +9,9 @@
*
* + establish an asynchronous signal routine
* + send a signal set to a task
- *
- * COPYRIGHT (c) 1989-1999.
+ */
+
+/* COPYRIGHT (c) 1989-1999.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
@@ -25,9 +24,12 @@
#ifndef _RTEMS_RTEMS_SIGNAL_H
#define _RTEMS_RTEMS_SIGNAL_H
-#ifdef __cplusplus
-extern "C" {
-#endif
+/**
+ * @defgroup ClassicSignal Classic API Signal
+ *
+ * This encapsulates functionality which XXX
+ */
+/**@{*/
#include <rtems/rtems/asr.h>
#include <rtems/rtems/modes.h>
@@ -35,41 +37,35 @@ extern "C" {
#include <rtems/rtems/status.h>
#include <rtems/rtems/types.h>
-/*
- * _Signal_Manager_initialization
- *
- * DESCRIPTION:
+#ifdef __cplusplus
+extern "C" {
+#endif
+/**
+ * @brief _Signal_Manager_initialization
*
* This routine performs the initialization necessary for this manager.
*/
-
void _Signal_Manager_initialization( void );
-/*
- * rtems_signal_catch
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_signal_catch
*
* This routine implements the rtems_signal_catch directive. This directive
* is used to establish asr_handler as the Asynchronous Signal Routine
* (RTEMS_ASR) for the calling task. The asr_handler will execute with a
* mode of mode_set.
*/
-
rtems_status_code rtems_signal_catch(
rtems_asr_entry asr_handler,
rtems_mode mode_set
);
-/*
- * rtems_signal_send
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_signal_send
*
* This routine implements the rtems_signal_send directive. This directive
* sends the signal_set to the task specified by ID.
*/
-
rtems_status_code rtems_signal_send(
Objects_Id id,
rtems_signal_set signal_set
@@ -83,5 +79,7 @@ rtems_status_code rtems_signal_send(
}
#endif
+/**@}*/
+
#endif
/* end of include file */
diff --git a/cpukit/rtems/include/rtems/rtems/signalmp.h b/cpukit/rtems/include/rtems/rtems/signalmp.h
index a706beae80..bf359473cd 100644
--- a/cpukit/rtems/include/rtems/rtems/signalmp.h
+++ b/cpukit/rtems/include/rtems/rtems/signalmp.h
@@ -1,12 +1,11 @@
/**
* @file rtems/rtems/signalmp.h
- */
-
-/*
+ *
* This include file contains all the constants and structures associated
* with the Multiprocessing Support in the Signal Manager.
- *
- * COPYRIGHT (c) 1989-1999.
+ */
+
+/* COPYRIGHT (c) 1989-1999.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
@@ -29,21 +28,26 @@ extern "C" {
#include <rtems/score/thread.h>
#include <rtems/score/watchdog.h>
-/*
+/**
+ * @defgroup ClassicSignalMP Classic API Signal MP Support
+ *
+ * This encapsulates functionality which XXX
+ */
+/**{*/
+
+/**
* The following enumerated type defines the list of
* remote signal operations.
*/
-
typedef enum {
SIGNAL_MP_SEND_REQUEST = 0,
SIGNAL_MP_SEND_RESPONSE = 1
} Signal_MP_Remote_operations;
-/*
+/**
* The following data structure defines the packet used to perform
* remote signal operations.
*/
-
typedef struct {
rtems_packet_prefix Prefix;
Signal_MP_Remote_operations operation;
@@ -51,9 +55,7 @@ typedef struct {
} Signal_MP_Packet;
/*
- * _Signal_MP_Send_process_packet
- *
- * DESCRIPTION:
+ * @brief Signal_MP_Send_process_packet
*
* This routine performs a remote procedure call so that a
* process operation can be performed on another node.
@@ -62,53 +64,41 @@ typedef struct {
* packets to be sent by this manager.
*/
-/*
- * _Signal_MP_Send_request_packet
- *
- * DESCRIPTION:
+/**
+ * @brief Signal_MP_Send_request_packet
*
* This routine performs a remote procedure call so that a
* directive operation can be initiated on another node.
*/
-
rtems_status_code _Signal_MP_Send_request_packet (
Signal_MP_Remote_operations operation,
Objects_Id task_id,
rtems_signal_set signal_in
);
-/*
- * _Signal_MP_Send_response_packet
- *
- * DESCRIPTION:
+/**
+ * @brief Signal_MP_Send_response_packet
*
* This routine performs a remote procedure call so that a
* directive can be performed on another node.
*/
-
void _Signal_MP_Send_response_packet (
Signal_MP_Remote_operations operation,
Thread_Control *the_thread
);
-/*
- *
- * _Signal_MP_Process_packet
- *
- * DESCRIPTION:
+/**
+ * @brief Signal_MP_Process_packet
*
* This routine performs the actions specific to this package for
* the request from another node.
*/
-
void _Signal_MP_Process_packet (
rtems_packet_prefix *the_packet_prefix
);
/*
- * _Signal_MP_Send_object_was_deleted
- *
- * DESCRIPTION:
+ * @brief Signal_MP_Send_object_was_deleted
*
* This routine is invoked indirectly by the thread queue
* when a proxy has been removed from the thread queue and
@@ -119,9 +109,7 @@ void _Signal_MP_Process_packet (
*/
/*
- * _Signal_MP_Send_extract_proxy
- *
- * DESCRIPTION:
+ * @brief Signal_MP_Send_extract_proxy
*
* This routine is invoked when a task is deleted and it
* has a proxy which must be removed from a thread queue and
@@ -131,19 +119,18 @@ void _Signal_MP_Process_packet (
* deleted by this manager.
*/
-/*
- * _Signal_MP_Get_packet
- *
- * DESCRIPTION:
+/**
+ * @brief Signal_MP_Get_packet
*
* This function is used to obtain a signal mp packet.
*/
-
Signal_MP_Packet *_Signal_MP_Get_packet ( void );
#ifdef __cplusplus
}
#endif
+/**@}*/
+
#endif
/* end of file */
diff --git a/cpukit/rtems/include/rtems/rtems/status.h b/cpukit/rtems/include/rtems/rtems/status.h
index d088f01917..644f2cbee6 100644
--- a/cpukit/rtems/include/rtems/rtems/status.h
+++ b/cpukit/rtems/include/rtems/rtems/status.h
@@ -1,12 +1,11 @@
/**
* @file rtems/rtems/status.h
- */
-
-/*
+ *
* This include file contains the status codes returned from the
* executive directives.
- *
- * COPYRIGHT (c) 1989-1999.
+ */
+
+/* COPYRIGHT (c) 1989-1999.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
@@ -19,6 +18,13 @@
#ifndef _RTEMS_RTEMS_STATUS_H
#define _RTEMS_RTEMS_STATUS_H
+/**
+ * @defgroup ClassicStatus Classic API Status
+ *
+ * This encapsulates functionality which XXX
+ */
+/**@{*/
+
#ifdef __cplusplus
extern "C" {
#endif
@@ -77,12 +83,13 @@ rtems_status_code _Status_Object_name_errors_to_status[] = {
/*
* Applications are allowed to use the macros to compare status codes.
*/
-
#include <rtems/rtems/status.inl>
#ifdef __cplusplus
}
#endif
+/**@}*/
+
#endif
/* end of include file */
diff --git a/cpukit/rtems/include/rtems/rtems/support.h b/cpukit/rtems/include/rtems/rtems/support.h
index 1b8a240946..2260821788 100644
--- a/cpukit/rtems/include/rtems/rtems/support.h
+++ b/cpukit/rtems/include/rtems/rtems/support.h
@@ -1,12 +1,11 @@
/**
* @file rtems/rtems/support.h
- */
-
-/*
+ *
* This include file contains information about support functions for
* the RTEMS API.
- *
- * COPYRIGHT (c) 1989-2008.
+ */
+
+/* COPYRIGHT (c) 1989-2008.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
@@ -25,27 +24,39 @@ extern "C" {
#include <rtems/rtems/types.h>
-/** @brief milliseconds to microseconds
+/**
+ * @defgroup ClassicSupport Classic API Support
+ *
+ * This encapsulates functionality which XXX
+ */
+/**@{*/
+
+/**
+ * @brief milliseconds to microseconds
*
* This is the public milliseconds to microseconds conversion.
*/
#define RTEMS_MILLISECONDS_TO_MICROSECONDS(_ms) \
TOD_MILLISECONDS_TO_MICROSECONDS(_ms)
-/** @brief milliseconds to ticks
+/**
+ * @brief milliseconds to ticks
*
* This is the public milliseconds to ticks conversion.
*/
#define RTEMS_MILLISECONDS_TO_TICKS(_ms) \
TOD_MILLISECONDS_TO_TICKS(_ms)
-/** @brief microseconds to ticks
+/**
+ * @brief microseconds to ticks
+ *
* This is the public microseconds to tick conversion.
*/
#define RTEMS_MICROSECONDS_TO_TICKS(_ms) \
TOD_MICROSECONDS_TO_TICKS(_ms)
-/** @brief get workspace information
+/**
+ * @brief get workspace information
*
* This returns information about the heap that is used as
* the RTEMS Executive Workspace.
@@ -58,7 +69,8 @@ boolean rtems_workspace_get_information(
Heap_Information_block *the_info
);
-/** @brief get workspace information
+/**
+ * @brief get workspace information
*
* This returns information about the heap that is used as
* the RTEMS Executive Workspace.
@@ -73,7 +85,8 @@ boolean rtems_workspace_allocate(
void **pointer
);
-/** @brief free workspace
+/**
+ * @brief free workspace
*
* This frees the workspace that was allocated from
* the RTEMS Executive Workspace.
@@ -94,5 +107,7 @@ boolean rtems_workspace_free(
}
#endif
+/**@}*/
+
#endif
/* end of include file */
diff --git a/cpukit/rtems/include/rtems/rtems/taskmp.h b/cpukit/rtems/include/rtems/rtems/taskmp.h
index 9adae0ced6..03e1dfbfb8 100644
--- a/cpukit/rtems/include/rtems/rtems/taskmp.h
+++ b/cpukit/rtems/include/rtems/rtems/taskmp.h
@@ -1,12 +1,11 @@
/**
* @file rtems/rtems/taskmp.h
- */
-
-/*
+ *
* This include file contains all the constants and structures associated
* with the multiprocessing support in the task manager.
- *
- * COPYRIGHT (c) 1989-1999.
+ */
+
+/* COPYRIGHT (c) 1989-1999.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
@@ -19,10 +18,6 @@
#ifndef _RTEMS_RTEMS_TASKMP_H
#define _RTEMS_RTEMS_TASKMP_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <rtems/score/mppkt.h>
#include <rtems/score/object.h>
#include <rtems/rtems/options.h>
@@ -30,11 +25,20 @@ extern "C" {
#include <rtems/rtems/tasks.h>
#include <rtems/score/thread.h>
-/*
+/**
+ * @defgroup ClassicTaskMP Classic API Task MP Support
+ *
+ * This encapsulates functionality which XXX
+ */
+/**@{*/
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+/**
* The following enumerated type defines the list of
* remote task operations.
*/
-
typedef enum {
RTEMS_TASKS_MP_ANNOUNCE_CREATE = 0,
RTEMS_TASKS_MP_ANNOUNCE_DELETE = 1,
@@ -50,11 +54,10 @@ typedef enum {
RTEMS_TASKS_MP_SET_NOTE_RESPONSE = 11
} RTEMS_tasks_MP_Remote_operations;
-/*
+/**
* The following data structure defines the packet used to perform
* remote task operations.
*/
-
typedef struct {
rtems_packet_prefix Prefix;
RTEMS_tasks_MP_Remote_operations operation;
@@ -64,30 +67,24 @@ typedef struct {
uint32_t note;
} RTEMS_tasks_MP_Packet;
-/*
- * _RTEMS_tasks_MP_Send_process_packet
- *
- * DESCRIPTION:
+/**
+ * @brief _RTEMS_tasks_MP_Send_process_packet
*
* This routine performs a remote procedure call so that a
* process operation can be performed on another node.
*/
-
void _RTEMS_tasks_MP_Send_process_packet (
RTEMS_tasks_MP_Remote_operations operation,
Objects_Id task_id,
rtems_name name
);
-/*
- * _RTEMS_tasks_MP_Send_request_packet
- *
- * DESCRIPTION:
+/**
+ * @brief _RTEMS_tasks_MP_Send_request_packet
*
* This routine performs a remote procedure call so that a
* directive operation can be initiated on another node.
*/
-
rtems_status_code _RTEMS_tasks_MP_Send_request_packet (
RTEMS_tasks_MP_Remote_operations operation,
Objects_Id task_id,
@@ -96,38 +93,29 @@ rtems_status_code _RTEMS_tasks_MP_Send_request_packet (
uint32_t note
);
-/*
- * _RTEMS_tasks_MP_Send_response_packet
- *
- * DESCRIPTION:
+/**
+ * @brief _RTEMS_tasks_MP_Send_response_packet
*
* This routine performs a remote procedure call so that a
* directive can be performed on another node.
*/
-
void _RTEMS_tasks_MP_Send_response_packet (
RTEMS_tasks_MP_Remote_operations operation,
Thread_Control *the_thread
);
-/*
- *
- * _RTEMS_tasks_MP_Process_packet
- *
- * DESCRIPTION:
+/**
+ * @brief _RTEMS_tasks_MP_Process_packet
*
* This routine performs the actions specific to this package for
* the request from another node.
*/
-
void _RTEMS_tasks_MP_Process_packet (
rtems_packet_prefix *the_packet_prefix
);
-/*
- * _RTEMS_tasks_MP_Send_object_was_deleted
- *
- * DESCRIPTION:
+/**
+ * @brief _RTEMS_tasks_MP_Send_object_was_deleted
*
* This routine is invoked indirectly by the thread queue
* when a proxy has been removed from the thread queue and
@@ -140,8 +128,6 @@ void _RTEMS_tasks_MP_Process_packet (
/*
* _RTEMS_tasks_MP_Send_extract_proxy
*
- * DESCRIPTION:
- *
* This routine is invoked when a task is deleted and it
* has a proxy which must be removed from a thread queue and
* the remote node must be informed of this.
@@ -151,19 +137,18 @@ void _RTEMS_tasks_MP_Process_packet (
*
*/
-/*
- * _RTEMS_tasks_MP_Get_packet
- *
- * DESCRIPTION:
+/**
+ * @brief _RTEMS_tasks_MP_Get_packet
*
* This function is used to obtain a task mp packet.
*/
-
RTEMS_tasks_MP_Packet *_RTEMS_tasks_MP_Get_packet ( void );
#ifdef __cplusplus
}
#endif
+/**@}*/
+
#endif
/* end of file */
diff --git a/cpukit/rtems/include/rtems/rtems/tasks.h b/cpukit/rtems/include/rtems/rtems/tasks.h
index af579f87b5..bf30b32d7b 100644
--- a/cpukit/rtems/include/rtems/rtems/tasks.h
+++ b/cpukit/rtems/include/rtems/rtems/tasks.h
@@ -1,29 +1,28 @@
/**
* @file rtems/rtems/tasks.h
- */
-
-/*
+ *
* 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.
*
* Directives provided are:
*
- * + create a task
- * + get an ID of a task
- * + start a task
- * + restart a task
- * + delete a task
- * + suspend a task
- * + resume a task
- * + set a task's priority
- * + change the current task's mode
- * + get a task notepad entry
- * + set a task notepad entry
- * + wake up after interval
- * + wake up when specified
- *
- * COPYRIGHT (c) 1989-2007.
+ * - create a task
+ * - get an ID of a task
+ * - start a task
+ * - restart a task
+ * - delete a task
+ * - suspend a task
+ * - resume a task
+ * - set a task's priority
+ * - change the current task's mode
+ * - get a task notepad entry
+ * - set a task notepad entry
+ * - wake up after interval
+ * - wake up when specified
+ */
+
+/* COPYRIGHT (c) 1989-2007.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
@@ -36,14 +35,6 @@
#ifndef _RTEMS_RTEMS_TASKS_H
#define _RTEMS_RTEMS_TASKS_H
-#ifndef RTEMS_TASKS_EXTERN
-#define RTEMS_TASKS_EXTERN extern
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <rtems/score/object.h>
#include <rtems/score/states.h>
#include <rtems/score/thread.h>
@@ -53,23 +44,35 @@ extern "C" {
#include <rtems/rtems/attr.h>
#include <rtems/rtems/status.h>
-/*
- * Constant to be used as the ID of current task
+#ifndef RTEMS_TASKS_EXTERN
+#define RTEMS_TASKS_EXTERN extern
+#endif
+
+/**
+ * @defgroup ClassicTasks Classic API Tasks
+ *
+ * This encapsulates functionality which X XX
*/
+/**@{*/
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * Constant to be used as the ID of current task
+ */
#define RTEMS_SELF OBJECTS_ID_OF_SELF
-/*
+/**
* This constant is passed to the rtems_task_wake_after directive as the
* interval when a task wishes to yield the CPU.
*/
-
#define RTEMS_YIELD_PROCESSOR WATCHDOG_NO_TIMEOUT
-/*
+/**
* Define the type for an RTEMS API task priority.
*/
-
typedef Priority_Control rtems_task_priority;
#define RTEMS_NO_PRIORITY RTEMS_CURRENT_PRIORITY
@@ -77,71 +80,79 @@ typedef Priority_Control rtems_task_priority;
#define RTEMS_MINIMUM_PRIORITY (PRIORITY_MINIMUM + 1)
#define RTEMS_MAXIMUM_PRIORITY PRIORITY_MAXIMUM
-/*
+/**
* The following constant is passed to rtems_task_set_priority when the
* caller wants to obtain the current priority.
*/
-
#define RTEMS_CURRENT_PRIORITY PRIORITY_MINIMUM
-/*
- * Notepads constants (indices into notepad array)
- */
-
-#define RTEMS_NOTEPAD_FIRST 0 /* lowest numbered notepad */
-#define RTEMS_NOTEPAD_0 0 /* notepad location 0 */
-#define RTEMS_NOTEPAD_1 1 /* notepad location 1 */
-#define RTEMS_NOTEPAD_2 2 /* notepad location 2 */
-#define RTEMS_NOTEPAD_3 3 /* notepad location 3 */
-#define RTEMS_NOTEPAD_4 4 /* notepad location 4 */
-#define RTEMS_NOTEPAD_5 5 /* notepad location 5 */
-#define RTEMS_NOTEPAD_6 6 /* notepad location 6 */
-#define RTEMS_NOTEPAD_7 7 /* notepad location 7 */
-#define RTEMS_NOTEPAD_8 8 /* notepad location 8 */
-#define RTEMS_NOTEPAD_9 9 /* notepad location 9 */
-#define RTEMS_NOTEPAD_10 10 /* notepad location 10 */
-#define RTEMS_NOTEPAD_11 11 /* notepad location 11 */
-#define RTEMS_NOTEPAD_12 12 /* notepad location 12 */
-#define RTEMS_NOTEPAD_13 13 /* notepad location 13 */
-#define RTEMS_NOTEPAD_14 14 /* notepad location 14 */
-#define RTEMS_NOTEPAD_15 15 /* notepad location 15 */
-#define RTEMS_NOTEPAD_LAST RTEMS_NOTEPAD_15 /* highest numbered notepad */
+/** This is used to indicate the lowest numbered notepad */
+#define RTEMS_NOTEPAD_FIRST 0
+/** This is used to indicate the notepad location 0. */
+#define RTEMS_NOTEPAD_0 0
+/** This is used to indicate the notepad location 1. */
+#define RTEMS_NOTEPAD_1 1
+/** This is used to indicate the notepad location 2. */
+#define RTEMS_NOTEPAD_2 2
+/** This is used to indicate the notepad location 3. */
+#define RTEMS_NOTEPAD_3 3
+/** This is used to indicate the notepad location 4. */
+#define RTEMS_NOTEPAD_4 4
+/** This is used to indicate the notepad location 5. */
+#define RTEMS_NOTEPAD_5 5
+/** This is used to indicate the notepad location 6. */
+#define RTEMS_NOTEPAD_6 6
+/** This is used to indicate the notepad location 7. */
+#define RTEMS_NOTEPAD_7 7
+/** This is used to indicate the notepad location 8. */
+#define RTEMS_NOTEPAD_8 8
+/** This is used to indicate the notepad location 9. */
+#define RTEMS_NOTEPAD_9 9
+/** This is used to indicate the notepad location 10. */
+#define RTEMS_NOTEPAD_10 10
+/** This is used to indicate the notepad location 11. */
+#define RTEMS_NOTEPAD_11 11
+/** This is used to indicate the notepad location 12. */
+#define RTEMS_NOTEPAD_12 12
+/** This is used to indicate the notepad location 13. */
+#define RTEMS_NOTEPAD_13 13
+/** This is used to indicate the notepad location 14. */
+#define RTEMS_NOTEPAD_14 14
+/** This is used to indicate the notepad location 15. */
+#define RTEMS_NOTEPAD_15 15
+/** This is used to indicate the highest numbered notepad. */
+#define RTEMS_NOTEPAD_LAST RTEMS_NOTEPAD_15
#define RTEMS_NUMBER_NOTEPADS (RTEMS_NOTEPAD_LAST+1)
-/*
+/**
* External API name for Thread_Control
*/
-
typedef Thread_Control rtems_tcb;
-/*
+/**
* The following defines the "return type" of an RTEMS task.
*/
-
typedef void rtems_task;
-/*
+/**
* The following defines the argument to an RTEMS task.
*/
-
typedef uintptr_t rtems_task_argument;
-/*
+/**
* The following defines the type for the entry point of an RTEMS task.
*/
-
typedef rtems_task ( *rtems_task_entry )(
rtems_task_argument
);
-/*
+/**
* The following records define the Initialization Tasks Table.
* Each entry contains the information required by RTEMS to
* create and start a user task automatically at executive
* initialization time.
*/
-
typedef struct {
rtems_name name; /* task name */
size_t stack_size; /* task stack size */
@@ -152,12 +163,10 @@ typedef struct {
rtems_task_argument argument; /* task argument */
} rtems_initialization_tasks_table;
-/*
+/**
* This is the API specific information required by each thread for
* the RTEMS API to function correctly.
*/
-
-
typedef struct {
uint32_t Notepads[ RTEMS_NUMBER_NOTEPADS ];
rtems_event_set pending_events;
@@ -169,25 +178,19 @@ typedef struct {
* The following defines the information control block used to
* manage this class of objects.
*/
-
RTEMS_TASKS_EXTERN Objects_Information _RTEMS_tasks_Information;
-/*
- * _RTEMS_tasks_Manager_initialization
- *
- * DESCRIPTION:
+/**
+ * @brief _RTEMS_tasks_Manager_initialization
*
* This routine initializes all Task Manager related data structures.
*/
-
void _RTEMS_tasks_Manager_initialization(
uint32_t maximum_tasks
);
-/*
- * rtems_task_create
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_task_create
*
* This routine implements the rtems_task_create directive. The task
* will have the name name. The attribute_set can be used to indicate
@@ -196,7 +199,6 @@ void _RTEMS_tasks_Manager_initialization(
* execution with initial_priority and initial_modes. It returns the
* id of the created task in ID.
*/
-
rtems_status_code rtems_task_create(
rtems_name name,
rtems_task_priority initial_priority,
@@ -206,10 +208,8 @@ rtems_status_code rtems_task_create(
Objects_Id *id
);
-/*
- * rtems_task_ident
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_task_ident
*
* This routine implements the rtems_task_ident directive.
* This directive returns the task ID associated with name.
@@ -219,233 +219,194 @@ rtems_status_code rtems_task_create(
* The search can be limited to a particular node or allowed to
* encompass all nodes.
*/
-
rtems_status_code rtems_task_ident(
rtems_name name,
uint32_t node,
Objects_Id *id
);
-/*
- * rtems_task_delete
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_task_delete
*
* This routine implements the rtems_task_delete directive. The
* task indicated by ID is deleted.
*/
-
rtems_status_code rtems_task_delete(
Objects_Id id
);
-/*
- * rtems_task_get_note
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_task_get_note
*
* This routine implements the rtems_task_get_note directive. The
* value of the indicated notepad for the task associated with ID
* is returned in note.
*/
-
rtems_status_code rtems_task_get_note(
Objects_Id id,
uint32_t notepad,
uint32_t *note
);
-/*
- * rtems_task_set_note
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_task_set_note
*
* This routine implements the rtems_task_set_note directive. The
* value of the indicated notepad for the task associated with ID
* is returned in note.
*/
-
rtems_status_code rtems_task_set_note(
Objects_Id id,
uint32_t notepad,
uint32_t note
);
-/*
- * rtems_task_mode
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_task_mode
*
* This routine implements the rtems_task_mode directive. The current
* 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
* returned in mode_set.
*/
-
rtems_status_code rtems_task_mode(
rtems_mode mode_set,
rtems_mode mask,
rtems_mode *previous_mode_set
);
-/*
- * rtems_task_restart
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_task_restart
*
* This routine implements the rtems_task_restart directive. The
* task associated with ID is restarted at its initial entry
* point with the new argument.
*/
-
rtems_status_code rtems_task_restart(
Objects_Id id,
uint32_t arg
);
-/*
- * rtems_task_suspend
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_task_suspend
*
* This routine implements the rtems_task_suspend directive. The
* SUSPENDED state is set for task associated with ID.
*/
-
rtems_status_code rtems_task_suspend(
Objects_Id id
);
-/*
- * rtems_task_resume
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_task_resume
*
* This routine implements the rtems_task_resume Directive. The
* SUSPENDED state is cleared for task associated with ID.
*/
-
rtems_status_code rtems_task_resume(
Objects_Id id
);
-/*
- * rtems_task_set_priority
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_task_set_priority
*
* This routine implements the rtems_task_set_priority directive. The
* current priority of the task associated with ID is set to
* new_priority. The former priority of that task is returned
* in old_priority.
*/
-
rtems_status_code rtems_task_set_priority(
Objects_Id id,
rtems_task_priority new_priority,
rtems_task_priority *old_priority
);
-/*
- * rtems_task_start
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_task_start
*
* This routine implements the rtems_task_start directive. The
* starting execution point of the task associated with ID is
* set to entry_point with the initial argument.
*/
-
rtems_status_code rtems_task_start(
Objects_Id id,
rtems_task_entry entry_point,
rtems_task_argument argument
);
-/*
- * rtems_task_wake_when
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_task_wake_when
*
* This routine implements the rtems_task_wake_when directive. The
* calling task is blocked until the current time of day is
* equal to that indicated by time_buffer.
*/
-
rtems_status_code rtems_task_wake_when(
rtems_time_of_day *time_buffer
);
-/*
- * rtems_task_wake_after
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_task_wake_after
*
* This routine implements the rtems_task_wake_after directive. The
* calling task is blocked until the indicated number of clock
* ticks have occurred.
*/
-
rtems_status_code rtems_task_wake_after(
rtems_interval ticks
);
-/*
- * rtems_task_is_suspended
- *
+/**
+ * @brief rtems_task_is_suspended
+
* This directive returns a status indicating whether or not
* the specified task is suspended.
*/
-
rtems_status_code rtems_task_is_suspended(
Objects_Id id
);
-/*
- * rtems_task_variable_add
+/**
+ * @brief rtems_task_variable_add
*
* This directive adds a per task variable.
*/
-
rtems_status_code rtems_task_variable_add(
rtems_id tid,
void **ptr,
void (*dtor)(void *)
);
-/*
- * rtems_task_variable_get
+/**
+ * @brief rtems_task_variable_get
*
* This directive gets the value of a task variable.
*/
-
rtems_status_code rtems_task_variable_get(
rtems_id tid,
void **ptr,
void **result
);
-/*
- * rtems_task_variable_delete
+/**
+ * @brief rtems_task_variable_delete
*
* This directive removes a per task variable.
*/
-
rtems_status_code rtems_task_variable_delete(
rtems_id tid,
void **ptr
);
-/*
- * rtems_task_self
+/**
+ * @brief rtems_task_self
*
* This directive returns the ID of the currently executing task.
*/
-
rtems_id rtems_task_self(void);
-/*
- * _RTEMS_tasks_Initialize_user_tasks
+/**
+ * @brief _RTEMS_tasks_Initialize_user_tasks
*
* This routine creates and starts all configured user
* initialzation threads.
@@ -454,11 +415,10 @@ rtems_id rtems_task_self(void);
*
* Output parameters: NONE
*/
-
void _RTEMS_tasks_Initialize_user_tasks( void );
-/*
- * _RTEMS_Tasks_Invoke_task_variable_dtor(
+/**
+ * @brief _RTEMS_Tasks_Invoke_task_variable_dtor(
*
* This routine invokes the optional user provided destructor on the
* task variable and frees the memory for the task variable.
@@ -467,7 +427,6 @@ void _RTEMS_tasks_Initialize_user_tasks( void );
*
* Output parameters: NONE
*/
-
void _RTEMS_Tasks_Invoke_task_variable_dtor(
Thread_Control *the_thread,
rtems_task_variable_t *tvp
@@ -484,5 +443,7 @@ void _RTEMS_Tasks_Invoke_task_variable_dtor(
}
#endif
+/**@}*/
+
#endif
/* end of include file */
diff --git a/cpukit/rtems/include/rtems/rtems/timer.h b/cpukit/rtems/include/rtems/rtems/timer.h
index fdb9185d00..980132a448 100644
--- a/cpukit/rtems/include/rtems/rtems/timer.h
+++ b/cpukit/rtems/include/rtems/rtems/timer.h
@@ -1,8 +1,6 @@
/**
* @file rtems/rtems/timer.h
- */
-
-/*
+ *
* 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
@@ -10,20 +8,21 @@
*
* Directives provided are:
*
- * + create a timer
- * + get an ID of a timer
- * + delete a timer
- * + set timer to fire in context of clock tick
+ * - 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
+ * - 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-2007.
+ * - reset a timer
+ * - cancel a time
+ */
+
+/* COPYRIGHT (c) 1989-2007.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
@@ -50,11 +49,17 @@ extern "C" {
#include <rtems/rtems/clock.h>
#include <rtems/rtems/attr.h>
-/*
+/**
+ * @defgroup ClassicTimer Classic API Timer
+ *
+ * This encapsulates functionality which XXX
+ */
+/**@{*/
+
+/**
* The following enumerated type details the classes to which a timer
* may belong.
*/
-
typedef enum {
TIMER_INTERVAL,
TIMER_INTERVAL_ON_TASK,
@@ -63,10 +68,9 @@ typedef enum {
TIMER_DORMANT
} Timer_Classes;
-/*
+/**
* The following types define a pointer to a timer service routine.
*/
-
typedef void rtems_timer_service_routine;
typedef rtems_timer_service_routine ( *rtems_timer_service_routine_entry )(
@@ -74,22 +78,20 @@ typedef rtems_timer_service_routine ( *rtems_timer_service_routine_entry )(
void *
);
-/*
+/**
* The following defines the information control block used to manage
* this class of objects.
*/
-
RTEMS_TIMER_EXTERN Objects_Information _Timer_Information;
-/*
+/**
* Pointer to TCB of the Timer Server. This is NULL before the
* server is executing and task-based timers are not allowed to be
* initiated until the server is started.
*/
-
RTEMS_TIMER_EXTERN Thread_Control *_Timer_Server;
-/*
+/**
* The following chains contain the list of interval timers that are
* executed in the context of the Timer Server.
*
@@ -100,109 +102,87 @@ RTEMS_TIMER_EXTERN Thread_Control *_Timer_Server;
* do not have to be initialized until then. They are declared
* in the same file as _Timer_Server_body.
*/
-
extern Chain_Control _Timer_Ticks_chain;
extern Chain_Control _Timer_Seconds_chain;
-/*
+/**
* The following records define the control block used to manage
* each timer.
*/
-
typedef struct {
Objects_Control Object;
Watchdog_Control Ticker;
Timer_Classes the_class;
} Timer_Control;
-/*
- * _Timer_Manager_initialization
- *
- * DESCRIPTION:
+/**
+ * @brief _Timer_Manager_initialization
*
* This routine performs the initialization necessary for this manager.
*/
-
void _Timer_Manager_initialization(
uint32_t maximum_timers
);
-/*
- * _Timer_Server_body
- *
- * DESCRIPTION:
+/**
+ * @brief _Timer_Server_body
*
* This is the server for task based timers. This task executes whenever
* a task-based timer should fire. It services both "after" and "when"
* timers. It is not created automatically but must be created explicitly
* by the application before task-based timers may be initiated.
*/
-
Thread _Timer_Server_body(
uint32_t ignored
);
-/*
- * rtems_timer_create
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_timer_create
*
* 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.
*/
-
rtems_status_code rtems_timer_create(
rtems_name name,
Objects_Id *id
);
-/*
- * rtems_timer_ident
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_timer_ident
*
* 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.
*/
-
rtems_status_code rtems_timer_ident(
rtems_name name,
Objects_Id *id
);
-/*
- * rtems_timer_cancel
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_timer_cancel
*
* This routine implements the rtems_timer_cancel directive. It is used
* to stop the timer associated with ID from firing.
*/
-
rtems_status_code rtems_timer_cancel(
Objects_Id id
);
-/*
- * rtems_timer_delete
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_timer_delete
*
* This routine implements the rtems_timer_delete directive. The
* timer indicated by ID is deleted.
*/
-
rtems_status_code rtems_timer_delete(
Objects_Id id
);
-/*
- * rtems_timer_fire_after
- *
- * DESCRIPTION:
+/**
+ * @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.
@@ -210,7 +190,6 @@ rtems_status_code rtems_timer_delete(
* of the rtems_clock_tick directive which is normally invoked as
* part of servicing a periodic interupt.
*/
-
rtems_status_code rtems_timer_fire_after(
Objects_Id id,
rtems_interval ticks,
@@ -218,10 +197,8 @@ rtems_status_code rtems_timer_fire_after(
void *user_data
);
-/*
- * rtems_timer_server_fire_after
- *
- * DESCRIPTION:
+/**
+ * @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
@@ -229,7 +206,6 @@ rtems_status_code rtems_timer_fire_after(
* Timer Server in the context of a task NOT IN THE CONTEXT of the
* clock tick interrupt.
*/
-
rtems_status_code rtems_timer_server_fire_after(
Objects_Id id,
rtems_interval ticks,
@@ -237,10 +213,8 @@ rtems_status_code rtems_timer_server_fire_after(
void *user_data
);
-/*
- * rtems_timer_fire_when
- *
- * DESCRIPTION:
+/**
+ * @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
@@ -248,7 +222,6 @@ rtems_status_code rtems_timer_server_fire_after(
* of the rtems_clock_tick directive which is normally invoked as
* part of servicing a periodic interupt.
*/
-
rtems_status_code rtems_timer_fire_when(
Objects_Id id,
rtems_time_of_day *wall_time,
@@ -256,10 +229,8 @@ rtems_status_code rtems_timer_fire_when(
void *user_data
);
-/*
- * rtems_timer_server_fire_when
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_timer_server_fire_when
*
* This routine implements the rtems_timer_server_fire_when directive. It
* initiates the timer associated with ID to fire at wall_time
@@ -267,7 +238,6 @@ rtems_status_code rtems_timer_fire_when(
* Timer Server in the context of a task NOT IN THE CONTEXT of the
* clock tick interrupt.
*/
-
rtems_status_code rtems_timer_server_fire_when(
Objects_Id id,
rtems_time_of_day *wall_time,
@@ -275,48 +245,42 @@ rtems_status_code rtems_timer_server_fire_when(
void *user_data
);
-/*
- * rtems_timer_reset
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_timer_reset
*
* This routine implements the rtems_timer_reset directive. It is used
* to reinitialize the interval timer associated with ID just as if
* rtems_timer_fire_after were re-invoked with the same arguments that
* were used to initiate this timer.
*/
-
rtems_status_code rtems_timer_reset(
Objects_Id id
);
-/*
- * rtems_timer_initiate_server
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_timer_initiate_server
*
* This routine implements the rtems_timer_initiate_server directive.
* It creates and starts the server that executes task-based timers.
* It must be invoked before any task-based timers can be initiated.
*/
-
-#define RTEMS_TIMER_SERVER_DEFAULT_PRIORITY -1
-
rtems_status_code rtems_timer_initiate_server(
uint32_t priority,
uint32_t stack_size,
rtems_attribute attribute_set
);
-/*
- * rtems_timer_get_information
- *
- * DESCRIPTION:
- *
- * This routine implements the rtems_timer_get_information directive.
- * This directive returns information about the timer.
+/**
+ * This is the default value for the priority of the Timer Server.
+ * When given this priority, a special high priority not accessible
+ * via the Classic API is used.
*/
+#define RTEMS_TIMER_SERVER_DEFAULT_PRIORITY -1
+/**
+ * This is the structure filled in by the timer get information
+ * service.
+ */
typedef struct {
Timer_Classes the_class;
Watchdog_Interval initial;
@@ -324,17 +288,22 @@ typedef struct {
Watchdog_Interval stop_time;
} rtems_timer_information;
+/**
+ * @brief rtems_timer_get_information
+ *
+ * This routine implements the rtems_timer_get_information directive.
+ * This directive returns information about the timer.
+ */
rtems_status_code rtems_timer_get_information(
Objects_Id id,
rtems_timer_information *the_info
);
-/*
+/**
* Macros and routines that expose the mechanisms required to service
* the Timer Server timer. These stop the timer, synchronize it with
* the current time, and restart it.
*/
-
extern Watchdog_Control _Timer_Seconds_timer;
#define _Timer_Server_stop_ticks_timer() \
@@ -343,7 +312,18 @@ extern Watchdog_Control _Timer_Seconds_timer;
#define _Timer_Server_stop_seconds_timer() \
_Watchdog_Remove( &_Timer_Seconds_timer );
+/**
+ * This is a helper function which processes the ticks chain when
+ * needed. It advances time for the ticks chain which results in
+ * timers firing.
+ */
void _Timer_Server_process_ticks_chain(void);
+
+/**
+ * This is a helper function which processes the seconds chain when
+ * needed. It advances time for the seconds chain which results in
+ * timers firing.
+ */
void _Timer_Server_process_seconds_chain(void);
#define _Timer_Server_reset_ticks_timer() \
@@ -370,5 +350,7 @@ void _Timer_Server_process_seconds_chain(void);
}
#endif
+/**@}*/
+
#endif
/* end of include file */
diff --git a/cpukit/rtems/include/rtems/rtems/types.h b/cpukit/rtems/include/rtems/rtems/types.h
index 310c979ef9..3a04f8e7d8 100644
--- a/cpukit/rtems/include/rtems/rtems/types.h
+++ b/cpukit/rtems/include/rtems/rtems/types.h
@@ -1,11 +1,10 @@
/**
* @file rtems/rtems/types.h
+ *
+ * This include file defines the types used by the RTEMS API.
*/
-/*
- * This include file defines the types used by the RTEMS API.
- *
- * COPYRIGHT (c) 1989-1999.
+/* COPYRIGHT (c) 1989-1999.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
@@ -18,6 +17,13 @@
#ifndef _RTEMS_RTEMS_TYPES_H
#define _RTEMS_RTEMS_TYPES_H
+/**
+ * @defgroup ClassicTypes Classic API Types
+ *
+ * This encapsulates functionality which XXX
+ */
+/**@{*/
+
#ifdef __cplusplus
extern "C" {
#endif
@@ -50,19 +56,16 @@ typedef Context_Control rtems_context;
typedef Context_Control_fp rtems_context_fp;
typedef CPU_Interrupt_frame rtems_interrupt_frame;
-/*
+/**
* Region information block
*/
-
typedef Heap_Information_block region_information_block;
-/*
+/**
* Time related
*/
-
typedef Watchdog_Interval rtems_interval;
-
/**
* The following record defines the time of control block. This
* control block is used to maintain the current time of day.
@@ -86,16 +89,14 @@ typedef struct {
uint32_t ticks;
} rtems_time_of_day;
-/*
+/**
* Define the type for an RTEMS API task mode.
*/
-
typedef Modes_Control rtems_mode;
/*
* MPCI related entries
*/
-
#if defined(RTEMS_MULTIPROCESSING)
typedef MP_packet_Classes rtems_mp_packet_classes;
typedef MP_packet_Prefix rtems_packet_prefix;
@@ -115,5 +116,7 @@ typedef MPCI_Control rtems_mpci_table;
}
#endif
+/**@}*/
+
#endif
/* end of include file */