/* Start the Mtftp6 instance to download. It first initializes some of the internal states, then builds and sends an RRQ request packet. Finally, it starts receive for the downloading. */
EFI_STATUS Mtftp6RrqStart(IN MTFTP6_INSTANCE *Instance, IN UINT16 Operation)
/* Start the Mtftp6 instance to download. It first initializes some of the internal states, then builds and sends an RRQ request packet. Finally, it starts receive for the downloading. */
EFI_STATUS Mtftp6RrqStart(IN MTFTP6_INSTANCE *Instance, IN UINT16 Operation)
{
  EFI_STATUS  Status;
  Status = Mtftp6InitBlockRange (&Instance->BlkList, 1, 0xffff);
  if (EFI_ERROR (Status)) {
    return Status;
  }
  Status = Mtftp6SendRequest (Instance, Operation);
  if (EFI_ERROR (Status)) {
    return Status;
  }
  return UdpIoRecvDatagram (
           Instance->UdpIo,
           Mtftp6RrqInput,
           Instance,
           0
           );
}