/* Download one of boot file in the list, and it's special for IPv6. */
EFI_STATUS PxeBcReadBootFileList(IN PXEBC_PRIVATE_DATA *Private, IN OUT UINT64 *BufferSize, IN VOID *Buffer OPTIONAL)
/* Download one of boot file in the list, and it's special for IPv6. */
EFI_STATUS PxeBcReadBootFileList(IN PXEBC_PRIVATE_DATA *Private, IN OUT UINT64 *BufferSize, IN VOID *Buffer OPTIONAL)
{
  EFI_STATUS                  Status;
  EFI_PXE_BASE_CODE_PROTOCOL  *PxeBc;
  PxeBc = &Private->PxeBc;
  if (Buffer != NULL) {
    Status = PxeBc->Mtftp (
                      PxeBc,
                      EFI_PXE_BASE_CODE_TFTP_READ_FILE,
                      Buffer,
                      FALSE,
                      BufferSize,
                      &Private->BlockSize,
                      &Private->ServerIp,
                      Private->BootFileName,
                      NULL,
                      FALSE
                      );
  } else {
    Status = EFI_BUFFER_TOO_SMALL;
  }
  return Status;
}