/* Converts a text device path node to Fibre device path structure. */
EFI_DEVICE_PATH_PROTOCOL* DevPathFromTextFibre(IN CHAR16 *TextDeviceNode)
/* Converts a text device path node to Fibre device path structure. */
EFI_DEVICE_PATH_PROTOCOL* DevPathFromTextFibre(IN CHAR16 *TextDeviceNode)
{
  CHAR16                    *WWNStr;
  CHAR16                    *LunStr;
  FIBRECHANNEL_DEVICE_PATH  *Fibre;
  WWNStr = GetNextParamStr (&TextDeviceNode);
  LunStr = GetNextParamStr (&TextDeviceNode);
  Fibre  = (FIBRECHANNEL_DEVICE_PATH *)CreateDeviceNode (
                                         MESSAGING_DEVICE_PATH,
                                         MSG_FIBRECHANNEL_DP,
                                         (UINT16)sizeof (FIBRECHANNEL_DEVICE_PATH)
                                         );
  Fibre->Reserved = 0;
  Strtoi64 (WWNStr, &Fibre->WWN);
  Strtoi64 (LunStr, &Fibre->Lun);
  return (EFI_DEVICE_PATH_PROTOCOL *)Fibre;
}