beautypg.com

Intel Extensible Firmware Interface User Manual

Page 957

background image

32/64-Bit UNDI Specification

Version 1.10

12/01/02

E-91

Using the DB

If multiple frames per command are supported (see

!PXE.Implementation

flags), multiple

DBs can be packed together.

#pragma pack(1)

typedef struct s_pxe_db_receive {

// Source and destination MAC addresses from media header.

PXE_MAC_ADDR

SrcAddr;

PXE_MAC_ADDR

DestAddr;

// Length of received frame. May be larger than receive buffer
// size. The receive buffer will not be overwritten. This is
// how to tell if data was lost because the receive buffer was
// too small.

PXE_UINT32

FrameLen;

// Protocol type from media header.

PXE_PROTOCOL

Protocol;

// Length of media header in received frame.

PXE_UINT16

MediaHeaderLen;

// Type of receive frame.

PXE_FRAME_TYPE

Type;

// Reserved, must be zero.

PXE_UINT8

reserved[7];

} PXE_DB_RECEIVE;

#pragma pack()