Description, Status codes returned – Intel Extensible Firmware Interface User Manual
Page 629

Protocols
— Network Support
Version 1.10
12/01/02
15-23
Description
This function places the packet specified by
Header
and
Buffer
on the transmit queue. If
HeaderSize
is nonzero and
HeaderSize
is not equal to
This->Mode->MediaHeaderSize
, then
EFI_INVALID_PARAMETER
will be returned. If
BufferSize
is less than
This->Mode->MediaHeaderSize
, then
EFI_BUFFER_TOO_SMALL
will be returned. If
Buffer
is
NULL
, then
EFI_INVALID_PARAMETER
will be returned. If
HeaderSize
is nonzero and
DestAddr
or
Protocol
is
NULL
, then
EFI_INVALID_PARAMETER
will be returned. If the transmit engine
of the network interface is busy, then
EFI_NOT_READY
will be returned. If this packet can be
accepted by the transmit engine of the network interface, the packet contents specified by
Buffer
will be placed on the transmit queue of the network interface, and
EFI_SUCCESS
will be returned.
can be used to determine when the packet has actually been transmitted. The
contents of the Buffer must not be modified until the packet has actually been transmitted.
The
Transmit()
function performs nonblocking I/O. A caller who wants to perform blocking
I/O, should call
Transmit()
, and then
GetStatus()
until the transmitted buffer shows up in
the recycled transmit buffer.
If the driver has not been initialized,
EFI_DEVICE_ERROR
will be returned.
Status Codes Returned
EFI_SUCCESS
The packet was placed on the transmit queue.
EFI_NOT_STARTED
The network interface has not been started.
EFI_NOT_READY
The network interface is too busy to accept this transmit request.
EFI_BUFFER_TOO_SMALL
The
BufferSize
parameter is too small.
EFI_INVALID_PARAMETER
One or more of the parameters has an unsupported value.
EFI_DEVICE_ERROR
The command could not be sent to the network interface.
EFI_UNSUPPORTED
This function is not supported by the network interface.