Efi_simple_network.transmit(), Transmit(), Func – Intel Extensible Firmware Interface User Manual

Page 628

Advertising
background image

Extensible Firmware Interface Specification

15-22

12/01/02

Version 1.10

EFI_SIMPLE_NETWORK.Transmit()

Summary

Places a packet in the transmit queue of a network interface.

Prototype

EFI_STATUS

(EFIAPI *EFI_SIMPLE_NETWORK_TRANSMIT) (

IN

EFI_SIMPLE_NETWORK

*This

IN

UINTN

HeaderSize,

IN

UINTN

BufferSize,

IN

VOID

*Buffer,

IN

EFI_MAC_ADDRESS

*SrcAddr OPTIONAL,

IN

EFI_MAC_ADDRESS

*DestAddr OPTIONAL,

IN

UINT16

*Protocol OPTIONAL,

);

Parameters

This

A pointer to the

EFI_SIMPLE_NETWORK

instance.

HeaderSize

The size, in bytes, of the media header to be filled in by the

Transmit()

function. If

HeaderSize

is nonzero, then it

must be equal to

This->Mode->MediaHeaderSize

and

the

DestAddr

and

Protocol

parameters must not be

NULL

.

BufferSize

The size, in bytes, of the entire packet (media header and data) to
be transmitted through the network interface.

Buffer

A pointer to the packet (media header followed by data) to be
transmitted. This parameter cannot be

NULL

. If

HeaderSize

is zero, then the media header in

Buffer

must already be filled

in by the caller. If

HeaderSize

is nonzero, then the media

header will be filled in by the

Transmit()

function.

SrcAddr

The source HW MAC address. If

HeaderSize

is zero, then

this parameter is ignored. If

HeaderSize

is nonzero and

SrcAddr

is

NULL

, then

This->Mode->CurrentAddress

is used for the source HW MAC address.

DestAddr

The destination HW MAC address. If

HeaderSize

is zero,

then this parameter is ignored.

Protocol

The type of header to build. If

HeaderSize

is zero, then this

parameter is ignored. See RFC 1700, section “Ether Types,”
for examples.

Advertising