/* Insert one pre-fetched key into the FIFO buffer. */
BOOLEAN EfiKeyFiFoForNotifyInsertOneKey(EFI_KEY_FIFO *EfiKeyFiFo, EFI_INPUT_KEY *Input)
/* Insert one pre-fetched key into the FIFO buffer. */
BOOLEAN EfiKeyFiFoForNotifyInsertOneKey(EFI_KEY_FIFO *EfiKeyFiFo, EFI_INPUT_KEY *Input)
{
  UINT8  Tail;
  Tail = EfiKeyFiFo->Tail;
  if (IsEfiKeyFiFoForNotifyFull (EfiKeyFiFo)) {
    return FALSE;
  }
  CopyMem (&EfiKeyFiFo->Data[Tail], Input, sizeof (EFI_INPUT_KEY));
  EfiKeyFiFo->Tail = (UINT8)((Tail + 1) % (FIFO_MAX_NUMBER + 1));
  return TRUE;
}