OpFlags
Check the
!PXE.Implementation
packets. Select one of the OpFlags below so the UNDI knows what type of CPB is being used.
•
PXE_OPFLAGS_TRANSMIT_WHOLE
•
PXE_OPFLAGS_TRANSMIT_FRAGMENTED
In addition to selecting whether or not fragmented packets are being given, S/W UNDI needs to
know if it should block until the packets are transmitted. H/W UNDI cannot block, these two
OpFlag settings have no affect when used with H/W UNDI.
•
PXE_OPFLAGS_TRANSMIT_BLOCK
•
PXE_OPFLAGS_TRANSMIT_DONT_BLOCK
Preparing the CPB
If multiple frames per command are supported (see
CPBs can be packed together. The
to be transmitted.
Non-Fragmented Frame
#pragma pack(1)
typedef struct s_pxe_cpb_transmit {
// Address of first byte of frame buffer.
// byte of the media header.
PXE_UINT64 FrameAddr;
// Length of the data portion of the frame buffer in bytes.
// not include the length of the media header.
PXE_UINT32 DataLen;
// Length of the media header in bytes.
PXE_UINT16 MediaheaderLen;
// Reserved, must be zero.
PXE_UINT16 reserved;
} PXE_CPB_TRANSMIT;
#pragma pack()
Version 1.02
flags to see if the network device support fragmented
!PXE.Implementation
field lets the UNDI know how may frames are
CDB.CPBsize
12/12/00
32/64-bit UNDI Specification
flags), multiple
This is also the first
Do
461
Need help?
Do you have a question about the Extensible Firmware Interface and is the answer not in the manual?