diff options
Diffstat (limited to '')
-rw-r--r-- | cpukit/rtems/include/rtems/rtems/semmp.h | 96 |
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 |