+///\r
+/// This mode returns a block of data. The content and usage are IBV defined. OEMs or\r
+/// IBVs normally use this mode for nonstandard Compatibility16 runtime 32 bit routines. It\r
+/// is the responsibility of this routine to coalesce multiple OEM 32 bit functions, if they\r
+/// exist, into one coherent package that is understandable by the Compatibility16 code.\r
+///\r
+/// Example usage: A legacy mobile BIOS that has a pre existing runtime\r
+/// interface to return the battery status to calling applications.\r
+///\r
+/// This mode is invoked twice. The first invocation has LegacySegment and\r
+/// LegacyOffset set to 0. The mode returns the table address in EFI memory and its size.\r
+///\r
+/// The second invocation has LegacySegment and LegacyOffset set to the location\r
+/// in the 0xF0000 or 0xE0000 block to which the table is to be copied. The second\r
+/// invocation allows any table address fix ups to occur in the EFI memory copy of the table.\r
+/// The caller, not EfiGetPlatformBinaryOem32Data, copies the modified table to\r
+/// the allocated region in 0xF0000 or 0xE0000 block after the second invocation..\r
+///\r
+/// Note: There are two generic mechanisms by which this mode can be used.\r
+/// Mechanism 1: This mode returns the data and the Legacy BIOS Protocol copies\r
+/// the data into the F0000 or E0000 block in the Compatibility16 code. The\r
+/// EFI_COMPATIBILITY16_TABLE entries Oem32Segment and Oem32Offset can\r
+/// be viewed as two UINT16 entries.\r
+/// Mechanism 2: This mode directly fills in the EFI_COMPATIBILITY16_TABLE with\r
+/// a pointer to the INT15 E820 region containing the 32 bit code. It returns\r
+/// EFI_UNSUPPORTED. The EFI_COMPATIBILITY16_TABLE entries,\r
+/// Oem32Segment and Oem32Offset, can be viewed as two UINT16 entries or\r
+/// as a single UINT32 entry as determined by the IBV.\r
+///\r
+/// The function parameters associated with this mode are:\r
+///\r
+/// TableSize Size of data.\r
+///\r
+/// Location Location to place the table. 0x00 or 0xE0000 or 0xF0000 64 KB blocks.\r
+/// Bit 0 = 1 0xF0000 64 KB block.\r
+/// Bit 1 = 1 0xE0000 64 KB block.\r
+/// Multiple bits can be set.\r
+///\r
+/// Alignment Bit mapped address alignment granularity.\r
+/// The first nonzero bit from the right is the address granularity.\r
+///\r
+/// LegacySegment Segment in which EfiCompatibility code will place the table or data.\r
+///\r
+/// LegacyOffset Offset in which EfiCompatibility code will place the table or data.\r
+///\r
+/// The return values associated with this mode are:\r
+/// EFI_SUCCESS The data was returned successfully.\r
+/// EFI_UNSUPPORTED Oem32 is not supported on this platform.\r
+///\r
+EfiGetPlatformBinaryOem32Data = 3,\r
+ ///\r
+ /// This mode returns a TPM binary image for the onboard TPM device.\r
+ ///\r
+ /// The function parameters associated with this mode are:\r
+ ///\r
+ /// Table TPM binary image for the onboard TPM device.\r
+ ///\r
+ /// TableSize Size of BinaryImage in bytes.\r
+ ///\r
+ /// Location Location to place the table. 0x00. Either 0xE0000 or 0xF0000 64 KB blocks.\r
+ /// Bit 0 = 1 0xF0000 64 KB block.\r
+ /// Bit 1 = 1 0xE0000 64 KB block.\r
+ /// Multiple bits can be set.\r
+ ///\r
+ /// Alignment Bit mapped address alignment granularity.\r
+ /// The first nonzero bit from the right is the address granularity.\r
+ ///\r
+ /// LegacySegment Segment in which EfiCompatibility code will place the table or data.\r
+ ///\r
+ /// LegacyOffset Offset in which EfiCompatibility code will place the table or data.\r
+ ///\r
+ /// The return values associated with this mode are:\r
+ ///\r
+ /// EFI_SUCCESS BinaryImage is valid.\r
+ ///\r
+ /// EFI_UNSUPPORTED Mode is not supported on this platform.\r
+ ///\r
+ /// EFI_NOT_FOUND No BinaryImage was found.\r
+ ///\r