/* Retrieve the supported language ID table from the device. */
EFI_STATUS EFIAPI UsbIoGetSupportedLanguages(IN EFI_USB_IO_PROTOCOL *This, OUT UINT16 **LangIDTable, OUT UINT16 *TableSize)
/* Retrieve the supported language ID table from the device. */
EFI_STATUS EFIAPI UsbIoGetSupportedLanguages(IN EFI_USB_IO_PROTOCOL *This, OUT UINT16 **LangIDTable, OUT UINT16 *TableSize)
{
  USB_DEVICE     *Dev;
  USB_INTERFACE  *UsbIf;
  EFI_TPL        OldTpl;
  OldTpl = gBS->RaiseTPL (USB_BUS_TPL);
  UsbIf = USB_INTERFACE_FROM_USBIO (This);
  Dev   = UsbIf->Device;
  *LangIDTable = Dev->LangId;
  *TableSize   = (UINT16)(Dev->TotalLangId * sizeof (UINT16));
  gBS->RestoreTPL (OldTpl);
  return EFI_SUCCESS;
}