Beispiel #1
0
grub_err_t
grub_set_datetime (struct grub_datetime *datetime)
{
  grub_efi_status_t status;
  struct grub_efi_time efi_time;

  status = efi_call_2 (grub_efi_system_table->runtime_services->get_time,
                       &efi_time, 0);

  if (status)
    return grub_error (GRUB_ERR_INVALID_COMMAND,
                       "can\'t get datetime using efi");

  efi_time.year = datetime->year;
  efi_time.month = datetime->month;
  efi_time.day = datetime->day;
  efi_time.hour = datetime->hour;
  efi_time.minute = datetime->minute;
  efi_time.second = datetime->second;

  status = efi_call_1 (grub_efi_system_table->runtime_services->set_time,
                       &efi_time);

  if (status)
    return grub_error (GRUB_ERR_INVALID_COMMAND,
                       "can\'t set datetime using efi");

  return 0;
}
Beispiel #2
0
static grub_err_t
grub_appleloader_unload (void)
{
  grub_efi_boot_services_t *b;

  b = grub_efi_system_table->boot_services;
  efi_call_1 (b->unload_image, image_handle);

  grub_free (cmdline);
  cmdline = 0;

  grub_dl_unref (my_mod);
  return GRUB_ERR_NONE;
}
Beispiel #3
0
void
grub_efi_stall (grub_efi_uintn_t microseconds)
{
  efi_call_1 (grub_efi_system_table->boot_services->stall, microseconds);
}