Extensible Firmware Interface Specification
E-18 12/01/02 Version 1.10
E.3.2 Miscellaneous Macros
E.3.2.1 Miscellaneous
#define PXE_CPBSIZE_NOT_USED 0 // zero
#define PXE_DBSIZE_NOT_USED 0 // zero
#define PXE_CPBADDR_NOT_USED (PXE_UINT64)0 // zero
#define PXE_DBADDR_NOT_USED (PXE_UINT64)0 // zero
E.3.3 Portability Types
The examples given below are just that, examples. The actual typedef instructions used in a new
implementation may vary depending on the compiler and processor architecture.
The storage sizes defined in this section are critical for PXE module inter-operation. All of the
portability typedefs define little endian (Intel format) storage. The least significant byte is stored in
the lowest memory address and the most significant byte is stored in the highest memory address,
as shown in Figure E-5.
OM13186
0x00
0x01
0x02
0x03
0x04
0x05
0x06
0x07
UINT8
UINT16
UINT32
UINT64
LSB
MSB
Figure E-5. Storage Types
E.3.3.1 PXE_CONST
The const type does not allocate storage. This type is a modifier that is used to help the compiler
optimize parameters that do not change across function calls.
#define PXE_CONST const
E.3.3.2 PXE_VOLATILE
The volatile type does not allocate storage. This type is a modifier that is used to help the compiler
deal with variables that can be changed by external procedures or hardware events.
#define PXE_VOLATILE volatile