Extensible Firmware Interface Specification
454 12/12/00 Version 1.02
G.4.16 Get StatusThis command returns the current interrupt status and/or the transmitted buffer addresses. If the
current interrupt status is returned, pending interrupts will be acknowledged by this command.
Transmitted buffer addresses that are written to the DB are removed from the transmitted buffer
queue.
This command may be used in a polled fashion with external interrupts disabled.
G.4.16.1 Issuing the CommandTo issue a Get Status 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 Status command
OpCode PXE_OPCODE_GET_STATUS
OpFlags Set as needed.
CPBsize PXE_CPBSIZE_NOT_USED
DBsize Sizeof(PXE_DB_GET_STATUS)
CPBaddr PXE_CPBADDR_NOT_USED
DBaddr Address of PXE_DB_GET_STATUS structure.
StatCode PXE_STATCODE_INITIALIZE
StatFlags PXE_STATFLAGS_INITIALIZE
IFnum A valid interface number from zero to !PXE.IFcnt.
Control Set as needed.
Setting OpFlags
Set one or both of the OpFlags below to return the interrupt status and/or the transmitted buffer
addresses.
• PXE_OPFLAGS_GET_INTERRUPT_STATUS
• PXE_OPFLAGS_GET_TRANSMITTED_BUFFERS
G.4.16.2 Waiting for the Command to ExecuteMonitor 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. StatFlags and/or DB are updated.
COMMAND_FAILED Command failed. StatCode field contains error code.
COMMAND_QUEUED Command has been queued.
INITIALIZE Command has been not executed or queued.