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; }
static grub_err_t grub_ofdisk_read (grub_disk_t disk, grub_disk_addr_t sector, grub_size_t size, char *buf) { grub_err_t err; grub_ssize_t actual; err = grub_ofdisk_prepare (disk, sector); if (err) return err; grub_ieee1275_read (last_ihandle, buf, size << disk->log_sector_size, &actual); if (actual != (grub_ssize_t) (size << disk->log_sector_size)) return grub_error (GRUB_ERR_READ_ERROR, N_("failure reading sector 0x%llx " "from `%s'"), (unsigned long long) sector, disk->name); return 0; }