Intel Extensible Firmware Interface User Manual
Page 880

Extensible Firmware Interface Specification
E-14
12/01/02
Version 1.10
Table E-5. UNDI CDB Field Definitions (continued)
Identifier Description
CPBsize
Command Parameter Block Size
This field should be set to a number that is equal to the number of bytes that will be read
from CPB structure during command execution. Setting this field to a number that is too
small will cause the command to not be executed and a StatCode of
PXE_STATCODE_INVALID_CDB
will be returned.
The contents of the CPB structure will not be modified.
DBsize
Data Block Size
This field should be set to a number that is equal to the number of bytes that will be
written into the DB structure during command execution. Setting this field to a number
that is smaller than required will cause an error. It may be zero in some cases where the
information is not needed.
CPBaddr
Command Parameter Block Address
For H/W UNDI, this field must be the physical address of the CPB structure. For S/W
UNDI, this field must be the virtual address of the CPB structure. If the operation does
not have/use a CPB, this field must be initialized to
PXE_CPBADDR_NOT_USED
. Setting
up this field incorrectly will cause command execution to fail and a StatCode of
PXE_STATCODE_INVALID_CDB
will be returned.
DBaddr
Data Block Address
For H/W UNDI, this field must be the physical address of the DB structure. For S/W
UNDI, this field must be the virtual address of the DB structure. If the operation does not
have/use a CPB, this field must be initialized to
PXE_DBADDR_NOT_USED
. Setting up
this field incorrectly will cause command execution to fail and a StatCode of
PXE_STATCODE_INVALID_CDB
will be returned.
StatCode
Status Code
This field is used to report the type of command completion: success or failure (and the
type of failure). This field must be initialized to zero before the command is issued. The
contents of this field is not valid until the
PXE_STATFLAGS_COMMAND_COMPLETE
status
flag is set. If this field is not initialized to
PXE_STATCODE_INITIALIZE
the UNDI
command will not execute and a StatCode of
PXE_STATCODE_INVALID_CDB
will be
returned.
StatFlags
Status Flags
This bit field is used to report command completion and identify the format, if any, of the
DB structure. This field must be initialized to zero before the command is issued. Until
the command state changes to error or complete, all other CDB fields must not be
changed. If this field is not initialized to
PXE_STATFLAGS_INITIALIZE
the UNDI
command will not execute and a StatCode of
PXE_STATCODE_INVALID_CDB
will be
returned.
Bits 0x0F & 0x0E: Command state: Not started (0), Queued (1), Error (2), Complete (3).
continued