18 #ifndef _RTEMS_RTEMS_MSGMP_H 19 #define _RTEMS_RTEMS_MSGMP_H 21 #ifndef _RTEMS_RTEMS_MESSAGEIMPL_H 22 # error "Never use <rtems/rtems/msgmp.h> directly; include <rtems/rtems/messageimpl.h> instead." 46 MESSAGE_QUEUE_MP_ANNOUNCE_CREATE = 0,
47 MESSAGE_QUEUE_MP_ANNOUNCE_DELETE = 1,
48 MESSAGE_QUEUE_MP_EXTRACT_PROXY = 2,
49 MESSAGE_QUEUE_MP_RECEIVE_REQUEST = 3,
50 MESSAGE_QUEUE_MP_RECEIVE_RESPONSE = 4,
51 MESSAGE_QUEUE_MP_SEND_REQUEST = 5,
52 MESSAGE_QUEUE_MP_SEND_RESPONSE = 6,
53 MESSAGE_QUEUE_MP_URGENT_REQUEST = 7,
54 MESSAGE_QUEUE_MP_URGENT_RESPONSE = 8,
55 MESSAGE_QUEUE_MP_BROADCAST_REQUEST = 9,
56 MESSAGE_QUEUE_MP_BROADCAST_RESPONSE = 10,
57 MESSAGE_QUEUE_MP_FLUSH_REQUEST = 11,
58 MESSAGE_QUEUE_MP_FLUSH_RESPONSE = 12,
59 MESSAGE_QUEUE_MP_GET_NUMBER_PENDING_REQUEST = 13,
60 MESSAGE_QUEUE_MP_GET_NUMBER_PENDING_RESPONSE = 14
68 rtems_packet_prefix Prefix;
79 #define MESSAGE_QUEUE_MP_PACKET_SIZE \ 80 offsetof(Message_queue_MP_Packet, Buffer.buffer) 144 rtems_packet_prefix *the_packet_prefix
void _Message_queue_MP_Send_extract_proxy(void *argument)
_Message_queue_MP_Send_extract_proxy
Definition: msgmp.c:456
Objects_Id rtems_id
Used to manage and manipulate RTEMS object identifiers.
Definition: types.h:80
void _Message_queue_MP_Process_packet(rtems_packet_prefix *the_packet_prefix)
_Message_queue_MP_Process_packet
Definition: msgmp.c:260
Watchdog_Interval rtems_interval
Used to manage and manipulate intervals specified by clock ticks.
Definition: types.h:119
rtems_status_code
Classic API Status.
Definition: status.h:46
void _Message_queue_MP_Send_process_packet(Message_queue_MP_Remote_operations operation, Objects_Id message_queue_id, rtems_name name, Objects_Id proxy_id)
_Message_queue_MP_Send_process_packet
Definition: msgmp.c:37
uint32_t rtems_name
Classic API object name type.
Definition: types.h:74
This structure defines the Thread Control Block (TCB).
Definition: thread.h:671
rtems_status_code _Message_queue_MP_Send_request_packet(Message_queue_MP_Remote_operations operation, Objects_Id message_queue_id, const void *buffer, size_t *size_p, rtems_option option_set, rtems_interval timeout)
_Message_queue_MP_Send_request_packet
Definition: msgmp.c:92
uint32_t rtems_option
The following type defines the control block used to manage option sets.
Definition: options.h:45
Data types needed to manipulate the contents of message buffers.
Definition: coremsg.h:75
Message_queue_MP_Remote_operations
The following enumerated type defines the list of remote message queue operations.
Definition: msgmp.h:45
void _Message_queue_Core_message_queue_mp_support(Thread_Control *the_thread, rtems_id id)
Message_queue_Core_message_queue_mp_support.
Definition: msgmp.c:491
Message_queue_MP_Packet * _Message_queue_MP_Get_packet(void)
_Message_queue_MP_Get_packet
Definition: msgmp.c:475
void _Message_queue_MP_Send_object_was_deleted(Thread_Control *the_proxy)
_Message_queue_MP_Send_object_was_deleted
Definition: msgmp.c:438
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_Send_response_packet
Definition: msgmp.c:202
uint32_t Objects_Id
The following type defines the control block used to manage object IDs.
Definition: object.h:122
The following data structure defines the packet used to perform remote message queue operations...
Definition: msgmp.h:67
MPCI Layer Implementation.