21 #ifndef _RTEMS_RTEMS_SEMMP_H 22 #define _RTEMS_RTEMS_SEMMP_H 24 #ifndef _RTEMS_RTEMS_SEMIMPL_H 25 # error "Never use <rtems/rtems/semmp.h> directly; include <rtems/rtems/semimpl.h> instead." 47 SEMAPHORE_MP_ANNOUNCE_CREATE = 0,
48 SEMAPHORE_MP_ANNOUNCE_DELETE = 1,
49 SEMAPHORE_MP_EXTRACT_PROXY = 2,
50 SEMAPHORE_MP_OBTAIN_REQUEST = 3,
51 SEMAPHORE_MP_OBTAIN_RESPONSE = 4,
52 SEMAPHORE_MP_RELEASE_REQUEST = 5,
53 SEMAPHORE_MP_RELEASE_RESPONSE = 6
61 rtems_packet_prefix Prefix;
113 rtems_packet_prefix *the_packet_prefix
void _Semaphore_Core_semaphore_mp_support(Thread_Control *the_thread, Objects_Id id)
Semaphore Core MP Support.
void _Semaphore_MP_Send_response_packet(Semaphore_MP_Remote_operations operation, Objects_Id semaphore_id, Thread_Control *the_thread)
Semaphore MP Send Response Packet.
Definition: semmp.c:118
The following data structure defines the packet used to perform remote semaphore operations.
Definition: semmp.h:60
void _Semaphore_MP_Send_object_was_deleted(Thread_Control *the_proxy)
Semaphore MP Send Object was Deleted.
Definition: semmp.c:236
Semaphore_MP_Remote_operations
The following enumerated type defines the list of remote semaphore operations.
Definition: semmp.h:46
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
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
uint32_t rtems_option
The following type defines the control block used to manage option sets.
Definition: options.h:45
void _Semaphore_MP_Process_packet(rtems_packet_prefix *the_packet_prefix)
Semaphore MP Process Packet.
Definition: semmp.c:156
void _Semaphore_Core_mutex_mp_support(Thread_Control *the_thread, Objects_Id id)
Semaphore Core Mutex MP Support.
Semaphore_MP_Packet * _Semaphore_MP_Get_packet(void)
Semaphore MP Get Packet.
Definition: semmp.c:265
rtems_status_code _Semaphore_MP_Send_request_packet(Semaphore_MP_Remote_operations operation, Objects_Id semaphore_id, rtems_option option_set, rtems_interval timeout)
Semaphore MP Send Request Packet.
Definition: semmp.c:70
void _Semaphore_MP_Send_extract_proxy(void *argument)
Semaphore MP Send Extract Proxy.
Definition: semmp.c:250
uint32_t Objects_Id
The following type defines the control block used to manage object IDs.
Definition: object.h:122
void _Semaphore_MP_Send_process_packet(Semaphore_MP_Remote_operations operation, Objects_Id semaphore_id, rtems_name name, Objects_Id proxy_id)
Semaphore MP Send Process Packet.
Definition: semmp.c:29