RTEMS  5.0.0
barriermp.h
Go to the documentation of this file.
1 
10 /* COPYRIGHT (c) 1989-2013.
11  * On-Line Applications Research Corporation (OAR).
12  *
13  * The license and distribution terms for this file may be
14  * found in the file LICENSE in this distribution or at
15  * http://www.rtems.org/license/LICENSE.
16  */
17 
18 #ifndef _RTEMS_RTEMS_BARRIERMP_H
19 #define _RTEMS_RTEMS_BARRIERMP_H
20 
21 #include <rtems/score/mpciimpl.h>
22 
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26 
41 typedef enum {
42  BARRIER_MP_ANNOUNCE_CREATE = 0,
43  BARRIER_MP_ANNOUNCE_DELETE = 1,
44  BARRIER_MP_EXTRACT_PROXY = 2,
45  BARRIER_MP_WAIT_REQUEST = 3,
46  BARRIER_MP_WAIT_RESPONSE = 4,
47  BARRIER_MP_RELEASE_REQUEST = 5,
48  BARRIER_MP_RELEASE_RESPONSE = 6
50 
55 typedef struct {
56  rtems_packet_prefix Prefix;
58  rtems_name name;
59  rtems_option option_set;
60  Objects_Id proxy_id;
62 
71  Objects_Id barrier_id,
72  rtems_name name,
73  Objects_Id proxy_id
74 );
75 
84  Objects_Id barrier_id,
85  rtems_interval timeout
86 );
87 
95  rtems_packet_prefix *the_packet_prefix
96 );
97 
106  Thread_Control *the_proxy
107 );
108 
117  void *argument
118 );
119 
122 #ifdef __cplusplus
123 }
124 #endif
125 
126 #endif
127 /* end of file */
void _Barrier_MP_Process_packet(rtems_packet_prefix *the_packet_prefix)
_Barrier_MP_Process_packet
Watchdog_Interval rtems_interval
Used to manage and manipulate intervals specified by clock ticks.
Definition: types.h:127
void _Barrier_MP_Send_process_packet(Barrier_MP_Remote_operations operation, Objects_Id barrier_id, rtems_name name, Objects_Id proxy_id)
_Barrier_MP_Send_process_packet
uint32_t rtems_name
Classic API object name type.
Definition: types.h:77
rtems_status_code
Classic API Status.
Definition: status.h:43
Definition: thread.h:728
Barrier_MP_Remote_operations
Definition: barriermp.h:41
uint32_t rtems_option
Definition: options.h:42
Definition: barriermp.h:55
rtems_status_code _Barrier_MP_Send_request_packet(Barrier_MP_Remote_operations operation, Objects_Id barrier_id, rtems_interval timeout)
_Barrier_MP_Send_request_packet
void _Barrier_MP_Send_extract_proxy(void *argument)
_Barrier_MP_Send_extract_proxy
void _Barrier_MP_Send_object_was_deleted(Thread_Control *the_proxy)
_Barrier_MP_Send_object_was_deleted
uint32_t Objects_Id
Definition: object.h:75
MPCI Layer Implementation.