Intel Extensible Firmware Interface User Manual

Page 880

Advertising
background image

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

Advertising