beautypg.com

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

Page 629

background image

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.

GetStatus()

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.