Ejemplo n.º 1
0
/* Put a character.  */
static void
serial_hw_put (struct grub_serial_port *port, const int c)
{
  grub_ssize_t actual;
  char c0 = c;

  do_real_config (port);

  if (port->handle == IEEE1275_IHANDLE_INVALID)
    return;

  grub_ieee1275_write (port->handle, &c0, 1, &actual);
}
Ejemplo n.º 2
0
static grub_err_t
send_card_buffer (const struct grub_net_card *dev, struct grub_net_buff *pack)
{
  grub_ssize_t actual;
  int status;
  struct grub_ofnetcard_data *data = dev->data;

  status = grub_ieee1275_write (data->handle, pack->data,
				pack->tail - pack->data, &actual);

  if (status)
    return grub_error (GRUB_ERR_IO, "Couldn't send network packet.");
  return GRUB_ERR_NONE;
}
Ejemplo n.º 3
0
static grub_err_t
grub_ofdisk_write (grub_disk_t disk, grub_disk_addr_t sector,
		   grub_size_t size, const char *buf)
{
  grub_err_t err;
  grub_ssize_t actual;
  err = grub_ofdisk_prepare (disk, sector);
  if (err)
    return err;
  grub_ieee1275_write (last_ihandle, buf, size  << GRUB_DISK_SECTOR_BITS,
		       &actual);
  if (actual != (grub_ssize_t) (size << GRUB_DISK_SECTOR_BITS))
    return grub_error (GRUB_ERR_WRITE_ERROR, N_("failure writing sector 0x%llx "
						"to `%s'"),
		       (unsigned long long) sector,
		       disk->name);

  return 0;
}