summaryrefslogtreecommitdiffstats
path: root/cpukit/rtems/include/rtems/rtems/semmp.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--cpukit/rtems/include/rtems/rtems/semmp.h96
1 files changed, 51 insertions, 45 deletions
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