コード例 #1
0
ファイル: intercom-mpci.c プロジェクト: AlexShiLucky/rtems
static void mpci_get_packet(rtems_packet_prefix **prefix_ptr)
{
	intercom_packet *packet = qoriq_intercom_allocate_packet(
		INTERCOM_TYPE_MPCI,
		INTERCOM_SIZE_512
	);
	*prefix_ptr = prefix_of_packet(packet);
}
コード例 #2
0
ファイル: uart-bridge-master.c プロジェクト: rtemss/rtems
static void receive_task(rtems_task_argument arg)
{
  uart_bridge_master_control *control = (uart_bridge_master_control *) arg;
  intercom_type type = control->type;

  int fd = open(control->device_path, O_RDONLY);
  assert(fd >= 0);

  serial_settings(fd);

  while (true) {
    intercom_packet *packet = qoriq_intercom_allocate_packet(
      type,
      INTERCOM_SIZE_64
    );
    ssize_t in = read(fd, packet->data, packet->size - 1);
    if (in > 0) {
      packet->size = (size_t) in;
      qoriq_intercom_send_packet(QORIQ_UART_BRIDGE_SLAVE_CORE, packet);
    } else {
      qoriq_intercom_free_packet(packet);
    }
  }
}