/* DevicePathNode must be SerialFibre Channel type and this will populate the MappingItem. */
EFI_STATUS DevPathSerialFibre(IN EFI_DEVICE_PATH_PROTOCOL *DevicePathNode, IN DEVICE_CONSIST_MAPPING_INFO *MappingItem, IN EFI_DEVICE_PATH_PROTOCOL *DevicePath)
/* DevicePathNode must be SerialFibre Channel type and this will populate the MappingItem. */
EFI_STATUS DevPathSerialFibre(IN EFI_DEVICE_PATH_PROTOCOL *DevicePathNode, IN DEVICE_CONSIST_MAPPING_INFO *MappingItem, IN EFI_DEVICE_PATH_PROTOCOL *DevicePath)
{
  EFI_STATUS                Status;
  FIBRECHANNEL_DEVICE_PATH  *Fibre;
  ASSERT (DevicePathNode != NULL);
  ASSERT (MappingItem != NULL);
  Fibre  = (FIBRECHANNEL_DEVICE_PATH *)DevicePathNode;
  Status = AppendCSDNum (MappingItem, Fibre->WWN);
  if (!EFI_ERROR (Status)) {
    Status = AppendCSDNum (MappingItem, Fibre->Lun);
  }
  return Status;
}