/* Convert one Null-terminated Unicode string to EFI_IPv6_ADDRESS. The format of the string is defined in RFC 4291 - Text Representation of Addresses. */
EFI_STATUS EFIAPI NetLibStrToIp6(IN CONST CHAR16 *String, OUT EFI_IPv6_ADDRESS *Ip6Address)
/* Convert one Null-terminated Unicode string to EFI_IPv6_ADDRESS. The format of the string is defined in RFC 4291 - Text Representation of Addresses. */
EFI_STATUS EFIAPI NetLibStrToIp6(IN CONST CHAR16 *String, OUT EFI_IPv6_ADDRESS *Ip6Address)
{
  RETURN_STATUS  Status;
  CHAR16         *EndPointer;
  Status = StrToIpv6Address (String, &EndPointer, Ip6Address, NULL);
  if (RETURN_ERROR (Status) || (*EndPointer != L'\0')) {
    return EFI_INVALID_PARAMETER;
  } else {
    return EFI_SUCCESS;
  }
}