/* The stream current position is moved when reading. */
EFI_STATUS EFIAPI AmlStreamReadByte(IN AML_STREAM *Stream, OUT UINT8 *OutByte)
/* The stream current position is moved when reading. */
EFI_STATUS EFIAPI AmlStreamReadByte(IN AML_STREAM *Stream, OUT UINT8 *OutByte)
{
  EFI_STATUS  Status;
  if (!IS_STREAM (Stream)       ||
      IS_END_OF_STREAM (Stream) ||
      (OutByte == NULL))
  {
    ASSERT (0);
    return EFI_INVALID_PARAMETER;
  }
  Status = AmlStreamPeekByte (Stream, OutByte);
  if (EFI_ERROR (Status)) {
    ASSERT (0);
    return Status;
  }
  Status = AmlStreamProgress (Stream, 1);
  ASSERT_EFI_ERROR (Status);
  return Status;
}