RTEMS: cpukit/rtems/include/rtems/rtems/barriermp.h Source File

| RTEMS 5.4-rc2

Loading...
Searching...
No Matches
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
24extern "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
49} Barrier_MP_Remote_operations;
50
55 typedef struct {
56 rtems_packet_prefix Prefix;
57 Barrier_MP_Remote_operations operation;
58 rtems_name name;
59 rtems_option option_set;
60 Objects_Id proxy_id;
61} Barrier_MP_Packet;
62
69 void _Barrier_MP_Send_process_packet (
70 Barrier_MP_Remote_operations operation,
71 Objects_Id barrier_id,
72 rtems_name name,
73 Objects_Id proxy_id
74);
75
82 rtems_status_code _Barrier_MP_Send_request_packet (
83 Barrier_MP_Remote_operations operation,
84 Objects_Id barrier_id,
85 rtems_interval timeout
86);
87
94 void _Barrier_MP_Process_packet (
95 rtems_packet_prefix *the_packet_prefix
96);
97
105 void _Barrier_MP_Send_object_was_deleted (
106 Thread_Control *the_proxy
107);
108
116 void _Barrier_MP_Send_extract_proxy (
117 void *argument
118);
119
122#ifdef __cplusplus
123}
124#endif
125
126#endif
127/* end of file */
Barrier_MP_Remote_operations
Barrier_MP_Remote_operations
Definition: barriermp.h:41
_Barrier_MP_Send_process_packet
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
_Barrier_MP_Send_request_packet
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
_Barrier_MP_Process_packet
void _Barrier_MP_Process_packet(rtems_packet_prefix *the_packet_prefix)
_Barrier_MP_Process_packet
_Barrier_MP_Send_extract_proxy
void _Barrier_MP_Send_extract_proxy(void *argument)
_Barrier_MP_Send_extract_proxy
_Barrier_MP_Send_object_was_deleted
void _Barrier_MP_Send_object_was_deleted(Thread_Control *the_proxy)
_Barrier_MP_Send_object_was_deleted
rtems_option
uint32_t rtems_option
Definition: options.h:42
rtems_status_code
rtems_status_code
Classic API Status.
Definition: status.h:43
rtems_name
uint32_t rtems_name
Classic API object name type.
Definition: types.h:77
rtems_interval
Watchdog_Interval rtems_interval
Used to manage and manipulate intervals specified by clock ticks.
Definition: types.h:127
Objects_Id
uint32_t Objects_Id
Definition: object.h:80
mpciimpl.h
MPCI Layer Implementation.
Barrier_MP_Packet
Definition: barriermp.h:55
_Thread_Control
Definition: thread.h:732