32/64-bit UNDI Specification
Version 1.02 12/12/00 385
Table G-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