/* This function is used by the IDE bus driver to get identify data. Data format of Identify data is defined by the Interface GUID. */
EFI_STATUS EFIAPI ScsiDiskInfoIdentify(IN EFI_DISK_INFO_PROTOCOL *This, IN OUT VOID *IdentifyData, IN OUT UINT32 *IdentifyDataSize)
/* This function is used by the IDE bus driver to get identify data. Data format of Identify data is defined by the Interface GUID. */
EFI_STATUS EFIAPI ScsiDiskInfoIdentify(IN EFI_DISK_INFO_PROTOCOL *This, IN OUT VOID *IdentifyData, IN OUT UINT32 *IdentifyDataSize)
{
  EFI_STATUS     Status;
  SCSI_DISK_DEV  *ScsiDiskDevice;
  if (CompareGuid (&This->Interface, &gEfiDiskInfoScsiInterfaceGuid) || CompareGuid (&This->Interface, &gEfiDiskInfoUfsInterfaceGuid)) {
    return EFI_NOT_FOUND;
  }
  ScsiDiskDevice = SCSI_DISK_DEV_FROM_DISKINFO (This);
  Status = EFI_BUFFER_TOO_SMALL;
  if (*IdentifyDataSize >= sizeof (ScsiDiskDevice->IdentifyData)) {
    Status = EFI_SUCCESS;
    CopyMem (IdentifyData, &ScsiDiskDevice->IdentifyData, sizeof (ScsiDiskDevice->IdentifyData));
  }
  *IdentifyDataSize = sizeof (ScsiDiskDevice->IdentifyData);
  return Status;
}