Extensible Firmware Interface Specification
424 12/12/00 Version 1.02
G.4.5.1 Issuing the Command
To issue a Get Init Info command, create a CDB and fill it in as shows in the table below:
CDB Field How to initialize the CDB structure for a Get Init Info command
OpCode PXE_OPCODE_GET_INIT_INFO
OpFlags PXE_OPFLAGS_NOT_USED
CPBsize PXE_CPBSIZE_NOT_USED
DBsize sizeof(PXE_DB_INIT_INFO)
CPBaddr PXE_CPBADDR_NOT_USED
DBaddr Address of a PXE_DB_INIT_INFO structure.
StatCode PXE_STATCODE_INITIALIZE
StatFlags PXE_STATFLAGS_INITIALIZE
IFnum A valid interface number from zero to !PXE.IFcnt.
Control Set as needed.
G.4.5.2 Waiting for the Command to Execute
Monitor the upper two bits (14 & 15) in the CDB.StatFlags field. Until these bits change to
report PXE_STATFLAGS_COMMAND_COMPLETE or PXE_STATFLAGS_COMMAND_FAILED,
the command has not been executed by the UNDI.
StatFlags Reason
COMMAND_COMPLETE Command completed successfully. DB can be used.
COMMAND_FAILED Command failed. StatCode field contains error code.
COMMAND_QUEUED Command has been queued.
INITIALIZE Command has been not executed or queued.
G.4.5.3 Checking Command Execution Results
After command execution completes, either successfully or not, the CDB.StatCode field
contains the result of the command execution.
StatCode Reason
SUCCESS Command completed successfully. DB can be used.
INVALID_CDB One of the CDB fields was not set correctly.
BUSY UNDI is already processing commands. Try again later.
QUEUE_FULL Command queue is full. Try again later.
NOT_STARTED The UNDI is not started.
StatFlags
To determine if cable detection is supported by this UNDI/NIC, use these macros with the value
returned in the CDB.StatFlags field:
PXE_STATFLAGS_CABLE_DETECT_MASK
PXE_STATFLAGS_CABLE_DETECT_NOT_SUPPORTED
PXE_STATFLAGS_CABLE_DETECT_SUPPORTED