void _Event_MP_Send_response_packet ( Event_MP_Remote_operations operation, Thread_Control *the_thread ) { Event_MP_Packet *the_packet; switch ( operation ) { case EVENT_MP_SEND_RESPONSE: the_packet = ( Event_MP_Packet *) the_thread->receive_packet; /* * The packet being returned already contains the class, length, and * to_convert fields, therefore they are not set in this routine. */ the_packet->operation = operation; the_packet->Prefix.id = the_packet->Prefix.source_tid; _MPCI_Send_response_packet( _Objects_Get_node( the_packet->Prefix.source_tid ), &the_packet->Prefix ); break; case EVENT_MP_SEND_REQUEST: break; } }
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_Packet *the_packet; switch ( operation ) { case MESSAGE_QUEUE_MP_RECEIVE_RESPONSE: case MESSAGE_QUEUE_MP_SEND_RESPONSE: case MESSAGE_QUEUE_MP_URGENT_RESPONSE: case MESSAGE_QUEUE_MP_BROADCAST_RESPONSE: case MESSAGE_QUEUE_MP_FLUSH_RESPONSE: case MESSAGE_QUEUE_MP_GET_NUMBER_PENDING_RESPONSE: the_packet = ( Message_queue_MP_Packet *) the_thread->receive_packet; /* * The packet being returned already contains the class, length, and * to_convert fields, therefore they are not set in this routine. * * Exception: MESSAGE_QUEUE_MP_RECEIVE_RESPONSE needs payload length * added to 'length' */ the_packet->operation = operation; the_packet->Prefix.id = the_packet->Prefix.source_tid; if (operation == MESSAGE_QUEUE_MP_RECEIVE_RESPONSE) the_packet->Prefix.length += the_packet->size; _MPCI_Send_response_packet( _Objects_Get_node( the_packet->Prefix.source_tid ), &the_packet->Prefix ); break; case MESSAGE_QUEUE_MP_ANNOUNCE_CREATE: case MESSAGE_QUEUE_MP_ANNOUNCE_DELETE: case MESSAGE_QUEUE_MP_EXTRACT_PROXY: case MESSAGE_QUEUE_MP_RECEIVE_REQUEST: case MESSAGE_QUEUE_MP_SEND_REQUEST: case MESSAGE_QUEUE_MP_URGENT_REQUEST: case MESSAGE_QUEUE_MP_BROADCAST_REQUEST: case MESSAGE_QUEUE_MP_FLUSH_REQUEST: case MESSAGE_QUEUE_MP_GET_NUMBER_PENDING_REQUEST: break; } }
void _RTEMS_tasks_MP_Send_response_packet ( RTEMS_tasks_MP_Remote_operations operation, Thread_Control *the_thread ) { RTEMS_tasks_MP_Packet *the_packet; switch ( operation ) { case RTEMS_TASKS_MP_SUSPEND_RESPONSE: case RTEMS_TASKS_MP_RESUME_RESPONSE: case RTEMS_TASKS_MP_SET_PRIORITY_RESPONSE: case RTEMS_TASKS_MP_GET_NOTE_RESPONSE: case RTEMS_TASKS_MP_SET_NOTE_RESPONSE: the_packet = (RTEMS_tasks_MP_Packet *) the_thread->receive_packet; /* * The packet being returned already contains the class, length, and * to_convert fields, therefore they are not set in this routine. */ the_packet->operation = operation; the_packet->Prefix.id = the_packet->Prefix.source_tid; _MPCI_Send_response_packet( _Objects_Get_node( the_packet->Prefix.source_tid ), &the_packet->Prefix ); break; case RTEMS_TASKS_MP_ANNOUNCE_CREATE: case RTEMS_TASKS_MP_ANNOUNCE_DELETE: case RTEMS_TASKS_MP_SUSPEND_REQUEST: case RTEMS_TASKS_MP_RESUME_REQUEST: case RTEMS_TASKS_MP_SET_PRIORITY_REQUEST: case RTEMS_TASKS_MP_GET_NOTE_REQUEST: case RTEMS_TASKS_MP_SET_NOTE_REQUEST: break; } }
static void _Partition_MP_Send_response_packet ( Partition_MP_Remote_operations operation, Objects_Id partition_id, Thread_Control *the_thread ) { Partition_MP_Packet *the_packet; switch ( operation ) { case PARTITION_MP_GET_BUFFER_RESPONSE: case PARTITION_MP_RETURN_BUFFER_RESPONSE: the_packet = ( Partition_MP_Packet *) the_thread->receive_packet; /* * The packet being returned already contains the class, length, and * to_convert fields, therefore they are not set in this routine. */ the_packet->operation = operation; the_packet->Prefix.id = the_packet->Prefix.source_tid; _MPCI_Send_response_packet( _Objects_Get_node( the_packet->Prefix.source_tid ), &the_packet->Prefix ); break; case PARTITION_MP_ANNOUNCE_CREATE: case PARTITION_MP_ANNOUNCE_DELETE: case PARTITION_MP_EXTRACT_PROXY: case PARTITION_MP_GET_BUFFER_REQUEST: case PARTITION_MP_RETURN_BUFFER_REQUEST: break; } }