/* Print strings that represent PCI device class, subclass and programmed I/F. */
VOID PciPrintClassCode(IN UINT8 *ClassCodePtr, IN BOOLEAN IncludePIF)
/* Print strings that represent PCI device class, subclass and programmed I/F. */
VOID PciPrintClassCode(IN UINT8 *ClassCodePtr, IN BOOLEAN IncludePIF)
{
  UINT32             ClassCode;
  PCI_CLASS_STRINGS  ClassStrings;
  ClassCode  = 0;
  ClassCode |= (UINT32)ClassCodePtr[0];
  ClassCode |= (UINT32)(ClassCodePtr[1] << 8);
  ClassCode |= (UINT32)(ClassCodePtr[2] << 16);
  PciGetClassStrings (ClassCode, &ClassStrings);
  if (IncludePIF) {
    ShellPrintEx (
      -1,
      -1,
      L"%s - %s - %s",
      ClassStrings.BaseClass,
      ClassStrings.SubClass,
      ClassStrings.PIFClass
      );
  } else {
    ShellPrintEx (
      -1,
      -1,
      L"%s - %s",
      ClassStrings.BaseClass,
      ClassStrings.SubClass
      );
  }
}