32/64-bit UNDI Specification
Version 1.02 12/12/00 387
G.3.1.3 PXE_BUSTYPE
Used to convert a 4-character ASCII identifier to a 32-bit unsigned integer.
#if PXE_INTEL_ORDER
# define PXE_BUSTYPE(a,b,c,d) \
((((PXE_UINT32)(d) & 0xFF) << 24) | \
(((PXE_UINT32)(c) & 0xFF) << 16) | \
(((PXE_UINT32)(b) & 0xFF) << 8) | \
((PXE_UINT32)(a) & 0xFF))
#else
# define PXE_BUSTYPE(a,b,c,d) \
((((PXE_UINT32)(a) & 0xFF) << 24) | \
(((PXE_UINT32)(b) & 0xFF) << 16) | \
(((PXE_UINT32)(c) & 0xFF) << 8) | \
((PXE_UINT32)(f) & 0xFF))
#endif
//*******************************************************
// UNDI ROM ID and devive ID signature
//*******************************************************
#define PXE_BUSTYPE_PXE PXE_BUSTYPE(’!’, ’P’, ’X’, ’E’)
//*******************************************************
// BUS ROM ID signatures
//*******************************************************
#define PXE_BUSTYPE_PCI PXE_BUSTYPE(’P’, ’C’, ’I’, ’R’)
#define PXE_BUSTYPE_PC_CARD PXE_BUSTYPE(’P’, ’C’, ’C’, ’R’)
#define PXE_BUSTYPE_USB PXE_BUSTYPE(’U’, ’S’, ’B’, ’R’)
#define PXE_BUSTYPE_1394 PXE_BUSTYPE(’1’, ’3’, ’9’, ’4’)