32/64-bit UNDI Specification
Version 1.02 12/12/00 455
G.4.16.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. StatFlags and/or DB are updated.
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.
NOT_INITIALIZED The UNDI is not initialized.
StatFlags
If the command completes successfully and the PXE_OPFLAGS_GET_INTERRUPT_STATUS
OpFlag was set in the CDB, the current interrupt status is returned in the CDB.StatFlags field
and any pending interrupts will have been cleared.
PXE_STATFLAGS_GET_STATUS_RECEIVE
PXE_STATFLAGS_GET_STATUS_TRANSMIT
PXE_STATFLAGS_GET_STATUS_COMMAND
PXE_STATFLAGS_GET_STATUS_SOFTWARE
The StatFlags above may not map directly to external interrupt signals. For example: Some NICs
may combine both the receive and transmit interrupts to one external interrupt line. When a receive
and/or transmit interrupt occurs, use the Get Status to determine which type(s) of interrupt(s)
occurred.
This flag is set if the transmitted buffer queue is empty. This flag will be set if all transmitted
buffer addresses get written t into the DB.
PXE_STATFLAGS_GET_STATUS_TXBUF_QUEUE_EMPTY
This flag is set if no transmitted buffer addresses were written into the DB.
PXE_STATFLAGS_GET_STATUS_NO_TXBUFS_WRITTEN