beautypg.com

E.3 undi c definitions, E.3.1 portability macros, E.3.1.1 pxe_intel_order or pxe_network_order – Intel Extensible Firmware Interface User Manual

Page 881

background image

32/64-Bit UNDI Specification

Version 1.10

12/01/02

E-15

Table E-5. UNDI CDB Field Definitions (continued)

Identifier Description

IFnum

Interface Number

This field is used to identify which network adapter (S/W UNDI) or network connector
(H/W UNDI) this command is being sent to. If an invalid interface number is given, the
command will not execute and a StatCode of

PXE_STATCODE_INVALID_CDB

will be

returned.

Control

Process Control

This bit field is used to control command UNDI inter-command processing. Setting
control bits that are not supported by the UNDI will cause the command execution to fail
with a StatCode of

PXE_STATCODE_INVALID_CDB

.

Bit 0x00: Another CDB follows this one (1) or this is the last or only CDB in the list (0).

Bit 0x01: Queue command if busy (1), fail if busy (0).

E.3 UNDI C Definitions

The definitions in this section are used to aid in the portability and readability of the example
32/64-bit S/W UNDI source code and the rest of this specification.

E.3.1 Portability

Macros

These macros are used for storage and communication portability.

E.3.1.1

PXE_INTEL_ORDER or PXE_NETWORK_ORDER

This macro is used to control conditional compilation in the S/W UNDI source code. One of these
definitions needs to be uncommented in a common PXE header file.

//#define PXE_INTEL_ORDER

1

// Intel order

//#define PXE_NETWORK_ORDER

1

// network order

E.3.1.2 PXE_UINT64_SUPPORT

or

PXE_NO_UINT64_SUPPORT

This macro is used to control conditional compilation in the PXE source code. One of these
definitions must to be uncommented in the common PXE header file.

//#define PXE_UINT64_SUPPORT

1

// UINT64 supported

//#define PXE_NO_UINT64_SUPPORT 1

// UINT64 not supported