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; }
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; }
void grub_efi_stall (grub_efi_uintn_t microseconds) { efi_call_1 (grub_efi_system_table->boot_services->stall, microseconds); }